summaryrefslogtreecommitdiff
path: root/kernels/linux-libre-aarch64/0005-net-smsc95xx-Allow-mac-address-to-be-set-as-a-parame.patch
diff options
context:
space:
mode:
authorDenis 'GNUtoo' Carikli <GNUtoo@cyberdimension.org>2020-05-26 21:38:09 +0200
committerDenis 'GNUtoo' Carikli <GNUtoo@cyberdimension.org>2020-05-26 21:38:18 +0200
commitc5e43b6547fd801793617024b51d3117227ba551 (patch)
tree7bbaa61e4ff951cff7e6396e3a1c0b30cdcbc62c /kernels/linux-libre-aarch64/0005-net-smsc95xx-Allow-mac-address-to-be-set-as-a-parame.patch
parent28d9b73dcbae486c81a534f7ecb86c3e11763737 (diff)
downloadabslibre-c5e43b6547fd801793617024b51d3117227ba551.tar.gz
abslibre-c5e43b6547fd801793617024b51d3117227ba551.tar.bz2
abslibre-c5e43b6547fd801793617024b51d3117227ba551.zip
kernels: remove linux-libre-aarch64
This kernel has been replaced by linux-libre-64 in libre in an attempt to unify all 64bit kernels made for 32bit rootfs. This has been tested on a SBC that has good upstream support in linux and in u-boot, and a 64bit CPU. That SBC is however not officially supported by Parabola as it still require nonfree binaries in u-boot to boot. The way to go to add official 64bit support ARM computers with 64bit CPUs is to get devices that can at least boot with fully free software. Some SBCs with an Allwinner SOCs like the A64 seem a good target to do that as some SBCs have good support in upstream Linux and u-boot and can boot with free software, and we already have an uboot4extlinux package for many boards with Allwinner SOCs, so we could probably reuse most of that work. However I don't have an SBC like that yet, so until now I tested on a board I was given at a conference. Signed-off-by: Denis 'GNUtoo' Carikli <GNUtoo@cyberdimension.org>
Diffstat (limited to 'kernels/linux-libre-aarch64/0005-net-smsc95xx-Allow-mac-address-to-be-set-as-a-parame.patch')
-rw-r--r--kernels/linux-libre-aarch64/0005-net-smsc95xx-Allow-mac-address-to-be-set-as-a-parame.patch95
1 files changed, 0 insertions, 95 deletions
diff --git a/kernels/linux-libre-aarch64/0005-net-smsc95xx-Allow-mac-address-to-be-set-as-a-parame.patch b/kernels/linux-libre-aarch64/0005-net-smsc95xx-Allow-mac-address-to-be-set-as-a-parame.patch
deleted file mode 100644
index e95960163..000000000
--- a/kernels/linux-libre-aarch64/0005-net-smsc95xx-Allow-mac-address-to-be-set-as-a-parame.patch
+++ /dev/null
@@ -1,95 +0,0 @@
-From 585c73f82751043ebcf1e097a29bb9c6d2c3fbd1 Mon Sep 17 00:00:00 2001
-From: popcornmix <popcornmix@gmail.com>
-Date: Tue, 18 Feb 2014 01:43:50 -0300
-Subject: [PATCH 5/9] net/smsc95xx: Allow mac address to be set as a parameter
-
----
- drivers/net/usb/smsc95xx.c | 56 ++++++++++++++++++++++++++++++++++++++
- 1 file changed, 56 insertions(+)
-
-diff --git a/drivers/net/usb/smsc95xx.c b/drivers/net/usb/smsc95xx.c
-index 355be77f4241..c94a7193e0b9 100644
---- a/drivers/net/usb/smsc95xx.c
-+++ b/drivers/net/usb/smsc95xx.c
-@@ -48,6 +48,7 @@
- #define SUSPEND_SUSPEND3 (0x08)
- #define SUSPEND_ALLMODES (SUSPEND_SUSPEND0 | SUSPEND_SUSPEND1 | \
- SUSPEND_SUSPEND2 | SUSPEND_SUSPEND3)
-+#define MAC_ADDR_LEN (6)
-
- #define CARRIER_CHECK_DELAY (2 * HZ)
-
-@@ -70,6 +71,10 @@ static bool turbo_mode = true;
- module_param(turbo_mode, bool, 0644);
- MODULE_PARM_DESC(turbo_mode, "Enable multiple frames per Rx transaction");
-
-+static char *macaddr = ":";
-+module_param(macaddr, charp, 0);
-+MODULE_PARM_DESC(macaddr, "MAC address");
-+
- static int __must_check __smsc95xx_read_reg(struct usbnet *dev, u32 index,
- u32 *data, int in_pm)
- {
-@@ -899,8 +904,59 @@ static int smsc95xx_ioctl(struct net_device *netdev, struct ifreq *rq, int cmd)
- return generic_mii_ioctl(&dev->mii, if_mii(rq), cmd, NULL);
- }
-
-+/* Check the macaddr module parameter for a MAC address */
-+static int smsc95xx_is_macaddr_param(struct usbnet *dev, u8 *dev_mac)
-+{
-+ int i, j, got_num, num;
-+ u8 mtbl[MAC_ADDR_LEN];
-+
-+ if (macaddr[0] == ':')
-+ return 0;
-+
-+ i = 0;
-+ j = 0;
-+ num = 0;
-+ got_num = 0;
-+ while (j < MAC_ADDR_LEN) {
-+ if (macaddr[i] && macaddr[i] != ':') {
-+ got_num++;
-+ if ('0' <= macaddr[i] && macaddr[i] <= '9')
-+ num = num * 16 + macaddr[i] - '0';
-+ else if ('A' <= macaddr[i] && macaddr[i] <= 'F')
-+ num = num * 16 + 10 + macaddr[i] - 'A';
-+ else if ('a' <= macaddr[i] && macaddr[i] <= 'f')
-+ num = num * 16 + 10 + macaddr[i] - 'a';
-+ else
-+ break;
-+ i++;
-+ } else if (got_num == 2) {
-+ mtbl[j++] = (u8) num;
-+ num = 0;
-+ got_num = 0;
-+ i++;
-+ } else {
-+ break;
-+ }
-+ }
-+
-+ if (j == MAC_ADDR_LEN) {
-+ netif_dbg(dev, ifup, dev->net, "Overriding MAC address with: "
-+ "%02x:%02x:%02x:%02x:%02x:%02x\n", mtbl[0], mtbl[1], mtbl[2],
-+ mtbl[3], mtbl[4], mtbl[5]);
-+ for (i = 0; i < MAC_ADDR_LEN; i++)
-+ dev_mac[i] = mtbl[i];
-+ return 1;
-+ } else {
-+ return 0;
-+ }
-+}
-+
- static void smsc95xx_init_mac_address(struct usbnet *dev)
- {
-+ /* Check module parameters */
-+ if (smsc95xx_is_macaddr_param(dev, dev->net->dev_addr))
-+ return;
-+
- const u8 *mac_addr;
-
- /* maybe the boot loader passed the MAC address in devicetree */
---
-2.23.0
-