net: Add alx driver for Atheros AR8161 and AR8162 (Closes: #699129)
Mark as staging, since it has not been accepted upstream. Define some trivial networking features to support it. svn path=/dists/sid/linux/; revision=19781
This commit is contained in:
parent
3e636afadb
commit
5b88249fcc
|
@ -100,6 +100,8 @@ linux (3.2.37-1) UNRELEASED; urgency=low
|
|||
- fix hole punch failure when depth is greater than 0
|
||||
- fix kernel BUG on large-scale rm -rf commands
|
||||
* md: protect against crash upon fsync on ro array (Closes: #696650)
|
||||
* net: Add alx driver for Atheros AR8161 and AR8162 (Closes: #699129)
|
||||
- Mark as staging, since it has not been accepted upstream
|
||||
|
||||
[ Aurelien Jarno ]
|
||||
* [armhf/vexpress] Add kernel udebs.
|
||||
|
|
|
@ -1757,6 +1757,7 @@ CONFIG_ATL2=m
|
|||
CONFIG_ATL1=m
|
||||
CONFIG_ATL1E=m
|
||||
CONFIG_ATL1C=m
|
||||
CONFIG_ALX=m
|
||||
|
||||
##
|
||||
## file: drivers/net/ethernet/broadcom/Kconfig
|
||||
|
|
13499
debian/patches/features/all/alx/alx-add-new-QCA-ethernet-driver-which-supercedes-atl.patch
vendored
Normal file
13499
debian/patches/features/all/alx/alx-add-new-QCA-ethernet-driver-which-supercedes-atl.patch
vendored
Normal file
File diff suppressed because it is too large
Load Diff
|
@ -0,0 +1,36 @@
|
|||
From: Ben Hutchings <ben@decadent.org.uk>
|
||||
Subject: alx: mark as staging
|
||||
Date: Sun, 27 Jan 2013 23:43:01 +0000
|
||||
Bug-Debian: http://bugs.debian.org/699129
|
||||
Forwarded: not-needed
|
||||
|
||||
Since alx has not been accepted upstream (or even re-submitted for
|
||||
many months), it should be treated as staging.
|
||||
|
||||
Also remove the netdev list and supported flag from its MAINTAINERS
|
||||
entry.
|
||||
|
||||
---
|
||||
--- a/MAINTAINERS
|
||||
+++ b/MAINTAINERS
|
||||
@@ -1326,10 +1326,8 @@ M: Cloud Ren <cjren@qca.qualcomm.com>
|
||||
M: Stevent Li <steventl@qca.qualcomm.com>
|
||||
M: Wu Ken <kenw@qca.qualcomm.com>
|
||||
M: David Liu <dwliu@qca.qualcomm.com>
|
||||
-L: netdev@vger.kernel.org
|
||||
L: nic-devel@qualcomm.com
|
||||
W: http://wireless.kernel.org/en/users/Drivers/ethernet/alx
|
||||
-S: Supported
|
||||
F: drivers/net/ethernet/atheros/alx/
|
||||
|
||||
ATM
|
||||
--- a/drivers/net/ethernet/atheros/alx/alx_main.c
|
||||
+++ b/drivers/net/ethernet/atheros/alx/alx_main.c
|
||||
@@ -41,6 +41,7 @@ MODULE_DEVICE_TABLE(pci, alx_pci_tbl);
|
||||
MODULE_AUTHOR("Qualcomm Corporation, <nic-devel@qualcomm.com>");
|
||||
MODULE_DESCRIPTION("Qualcomm Atheros Gigabit Ethernet Driver");
|
||||
MODULE_LICENSE("Dual BSD/GPL");
|
||||
+MODULE_INFO(staging, "Y");
|
||||
|
||||
static int alx_open_internal(struct alx_adapter *adpt, u32 ctrl);
|
||||
static void alx_stop_internal(struct alx_adapter *adpt, u32 ctrl);
|
|
@ -0,0 +1,71 @@
|
|||
From: Ben Hutchings <ben@decadent.org.uk>
|
||||
Subject: alx: remove atl1c devices
|
||||
Date: Sun, 27 Jan 2013 23:37:52 +0000
|
||||
Bug-Debian: http://bugs.debian.org/699129
|
||||
Forwarded: not-needed
|
||||
|
||||
When alx was first reviewed, upstream demanded that any changes to
|
||||
support for the currently supported AR8131/8132/8151/8152 chips be
|
||||
made as a series of patches, not by deprecating or removing atl1c in a
|
||||
monolithic patch. Therefore:
|
||||
|
||||
Luis R. Rodriguez <mcgrof@frijolero.org> wrote:
|
||||
> The alx driver is to only support the AR8161 and AR8162
|
||||
> devices. The older devices are supported through atl1c.
|
||||
|
||||
I've also changed the Kconfig help text to reflect this.
|
||||
|
||||
---
|
||||
--- a/drivers/net/ethernet/atheros/Kconfig
|
||||
+++ b/drivers/net/ethernet/atheros/Kconfig
|
||||
@@ -56,14 +56,13 @@ config ATL1E
|
||||
will be called atl1e.
|
||||
|
||||
config ATL1C
|
||||
- tristate "Atheros L1C Gigabit Ethernet support (DEPRECATED)"
|
||||
+ tristate "Atheros L1C Gigabit Ethernet support (EXPERIMENTAL)"
|
||||
depends on PCI && EXPERIMENTAL
|
||||
select CRC32
|
||||
select NET_CORE
|
||||
select MII
|
||||
---help---
|
||||
This driver supports the Atheros L1C gigabit ethernet adapter.
|
||||
- This driver is deprecated in favor for the alx (CONFIG_ALX) driver.
|
||||
This driver supports the following chipsets:
|
||||
|
||||
1969:1063 - AR8131 Gigabit Ethernet
|
||||
@@ -84,18 +83,7 @@ config ALX
|
||||
select MII
|
||||
---help---
|
||||
This driver supports the Atheros L1C/L1D/L1F gigabit ethernet
|
||||
- adapter. The alx driver is intended to replace completely the
|
||||
- atl1c driver with proper support and commitment from Qualcomm
|
||||
- Atheros (QCA). Both atl1c and alx supports the following chipsets:
|
||||
-
|
||||
- 1969:1063 - AR8131 Gigabit Ethernet
|
||||
- 1969:1062 - AR8132 Fast Ethernet (10/100 Mbit/s)
|
||||
- 1969:2062 - AR8152 v2.0 Fast Ethernet
|
||||
- 1969:2060 - AR8152 v1.1 Fast Ethernet
|
||||
- 1969:1073 - AR8151 v1.0 Gigabit Ethernet
|
||||
- 1969:1083 - AR8151 v2.0 Gigabit Ethernet
|
||||
-
|
||||
- Only alx supports the following chipsets:
|
||||
+ adapter. alx supports the following chipsets:
|
||||
|
||||
1969:1091 - AR8161
|
||||
1969:1090 - AR8162
|
||||
--- a/drivers/net/ethernet/atheros/alx/alx_main.c
|
||||
+++ b/drivers/net/ethernet/atheros/alx/alx_main.c
|
||||
@@ -33,12 +33,6 @@ static const char alx_drv_description[]
|
||||
#define ALX_ETHER_DEVICE(device_id) {\
|
||||
PCI_DEVICE(ALX_VENDOR_ID, device_id)}
|
||||
static DEFINE_PCI_DEVICE_TABLE(alx_pci_tbl) = {
|
||||
- ALX_ETHER_DEVICE(ALX_DEV_ID_AR8131),
|
||||
- ALX_ETHER_DEVICE(ALX_DEV_ID_AR8132),
|
||||
- ALX_ETHER_DEVICE(ALX_DEV_ID_AR8151_V1),
|
||||
- ALX_ETHER_DEVICE(ALX_DEV_ID_AR8151_V2),
|
||||
- ALX_ETHER_DEVICE(ALX_DEV_ID_AR8152_V1),
|
||||
- ALX_ETHER_DEVICE(ALX_DEV_ID_AR8152_V2),
|
||||
ALX_ETHER_DEVICE(ALX_DEV_ID_AR8161),
|
||||
ALX_ETHER_DEVICE(ALX_DEV_ID_AR8162),
|
||||
{0,}
|
|
@ -0,0 +1,35 @@
|
|||
From: Ben Hutchings <ben@decadent.org.uk>
|
||||
Subject: ethernet: define eth_hw_add_random()
|
||||
Date: Mon, 28 Jan 2013 00:03:32 +0000
|
||||
Bug-Debian: http://bugs.debian.org/699129
|
||||
Forwarded: not-needed
|
||||
|
||||
This was defined in commit 1a0d6ae5795c376bae6d012fb25e8341e4c6d5f2
|
||||
upstream, where it replaced dev_hw_addr_random(). Obviously we
|
||||
can't remove the latter.
|
||||
|
||||
---
|
||||
--- a/include/linux/etherdevice.h
|
||||
+++ b/include/linux/etherdevice.h
|
||||
@@ -154,6 +154,21 @@ static inline void dev_hw_addr_random(st
|
||||
}
|
||||
|
||||
/**
|
||||
+ * eth_hw_addr_random - Generate software assigned random Ethernet and
|
||||
+ * set device flag
|
||||
+ * @dev: pointer to net_device structure
|
||||
+ *
|
||||
+ * Generate a random Ethernet address (MAC) to be used by a net device
|
||||
+ * and set addr_assign_type so the state can be read by sysfs and be
|
||||
+ * used by userspace.
|
||||
+ */
|
||||
+static inline void eth_hw_addr_random(struct net_device *dev)
|
||||
+{
|
||||
+ dev->addr_assign_type |= NET_ADDR_RANDOM;
|
||||
+ random_ether_addr(dev->dev_addr);
|
||||
+}
|
||||
+
|
||||
+/**
|
||||
* compare_ether_addr - Compare two Ethernet addresses
|
||||
* @addr1: Pointer to a six-byte array containing the Ethernet address
|
||||
* @addr2: Pointer other six-byte array containing the Ethernet address
|
|
@ -0,0 +1,20 @@
|
|||
From: Ben Hutchings <ben@decadent.org.uk>
|
||||
Subject: net: define netdev_features_t
|
||||
Date: Sun, 27 Jan 2013 23:59:43 +0000
|
||||
Bug-Debian: http://bugs.debian.org/699129
|
||||
Forwarded: not-needed
|
||||
|
||||
This was added by commit c8f44affb7244f2ac3e703cab13d55ede27621bb upstream.
|
||||
|
||||
---
|
||||
--- a/include/linux/netdevice.h
|
||||
+++ b/include/linux/netdevice.h
|
||||
@@ -57,6 +57,8 @@ struct netpoll_info;
|
||||
struct phy_device;
|
||||
/* 802.11 specific */
|
||||
struct wireless_dev;
|
||||
+
|
||||
+typedef u32 netdev_features_t;
|
||||
/* source back-compat hooks */
|
||||
#define SET_ETHTOOL_OPS(netdev,ops) \
|
||||
( (netdev)->ethtool_ops = (ops) )
|
|
@ -473,3 +473,11 @@ bugfix/all/ext4-fix-hole-punch-failure-when-depth-is-greater-th.patch
|
|||
bugfix/all/ext4-fix-kernel-BUG-on-large-scale-rm-rf-commands.patch
|
||||
bugfix/all/md-protect-against-crash-upon-fsync-on-ro-array.patch
|
||||
debian/net-avoid-ABI-break-in-3.2.37.patch
|
||||
|
||||
features/all/net-define-netdev_features_t.patch
|
||||
features/all/ethernet-define-eth_hw_addr_random.patch
|
||||
|
||||
# alx *still* isn't upstream
|
||||
features/all/alx/alx-add-new-QCA-ethernet-driver-which-supercedes-atl.patch
|
||||
features/all/alx/remove-atl1c-devices-from-alx.patch
|
||||
features/all/alx/mark-as-staging.patch
|
||||
|
|
Loading…
Reference in New Issue