aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorFlorian Fainelli <florian@openwrt.org>2010-05-02 19:51:56 +0000
committerFlorian Fainelli <florian@openwrt.org>2010-05-02 19:51:56 +0000
commit6f7314977b77d0eaed71024ba30966be4b5c56c0 (patch)
tree368925b85174d4b597a0391799379c8133b115e6
parent262640cb9e8c744994d0e9cb280a34a76f3a54ed (diff)
downloadupstream-6f7314977b77d0eaed71024ba30966be4b5c56c0.tar.gz
upstream-6f7314977b77d0eaed71024ba30966be4b5c56c0.tar.bz2
upstream-6f7314977b77d0eaed71024ba30966be4b5c56c0.zip
make acx available to PCI platforms as well (#7174)
SVN-Revision: 21313
-rw-r--r--package/acx/Makefile2
-rw-r--r--package/acx/patches/006-netdev_ops.patch47
2 files changed, 38 insertions, 11 deletions
diff --git a/package/acx/Makefile b/package/acx/Makefile
index 64725be265..caa55c577d 100644
--- a/package/acx/Makefile
+++ b/package/acx/Makefile
@@ -25,7 +25,7 @@ include $(INCLUDE_DIR)/package.mk
define KernelPackage/acx
TITLE:=Driver for TI ACX1xx chipset
- DEPENDS:=@LINUX_2_6 @TARGET_ar7 +wireless-tools
+ DEPENDS:=@LINUX_2_6 @PCI_SUPPORT||TARGET_ar7 +wireless-tools
URL:=http://acx100.sourceforge.net/
SUBMENU:=Wireless Drivers
FILES:= $(PKG_BUILD_DIR)/acx.$(LINUX_KMOD_SUFFIX)
diff --git a/package/acx/patches/006-netdev_ops.patch b/package/acx/patches/006-netdev_ops.patch
index 210e929352..b687c211c7 100644
--- a/package/acx/patches/006-netdev_ops.patch
+++ b/package/acx/patches/006-netdev_ops.patch
@@ -1,10 +1,12 @@
---- a/pci.c
-+++ b/pci.c
-@@ -4135,6 +4135,18 @@ static struct vlynq_device_id acx_vlynq_
- { 0, 0, 0 },
- };
+Index: acx-20080210/pci.c
+===================================================================
+--- acx-20080210.orig/pci.c 2010-05-02 21:37:00.000000000 +0200
++++ acx-20080210/pci.c 2010-05-02 21:48:22.000000000 +0200
+@@ -1437,6 +1437,18 @@
-+#if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,31)
+ static void dummy_netdev_init(struct net_device *ndev) {}
+
++#if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,30)
+static const struct net_device_ops acx_netdev_ops = {
+ .ndo_open = &acxpci_e_open,
+ .ndo_stop = &acxpci_e_close,
@@ -16,14 +18,39 @@
+};
+#endif
+
- static __devinit int vlynq_probe(struct vlynq_device *vdev,
- struct vlynq_device_id *id)
+ #ifdef CONFIG_PCI
+ static int __devinit acxpci_e_probe(struct pci_dev *pdev, const struct pci_device_id *id)
{
-@@ -4191,17 +4203,24 @@ static __devinit int vlynq_probe(struct
+@@ -1547,17 +1559,21 @@
+ }
+
+ ether_setup(ndev);
++#if (LINUX_VERSION_CODE < KERNEL_VERSION(2,6,30))
+ ndev->open = &acxpci_e_open;
+ ndev->stop = &acxpci_e_close;
+ ndev->hard_start_xmit = &acx_i_start_xmit;
+ ndev->get_stats = &acx_e_get_stats;
++ ndev->set_multicast_list = &acxpci_i_set_multicast_list;
++ ndev->tx_timeout = &acxpci_i_tx_timeout;
++ ndev->change_mtu = &acx_e_change_mtu;
++#else
++ ndev->netdev_ops = &acx_netdev_ops;
++#endif
+ #if IW_HANDLER_VERSION <= 5
+ ndev->get_wireless_stats = &acx_e_get_wireless_stats;
+ #endif
+ ndev->wireless_handlers = (struct iw_handler_def *)&acx_ioctl_handler_def;
+- ndev->set_multicast_list = &acxpci_i_set_multicast_list;
+- ndev->tx_timeout = &acxpci_i_tx_timeout;
+- ndev->change_mtu = &acx_e_change_mtu;
+ ndev->watchdog_timeo = 4 * HZ;
+ ndev->irq = pdev->irq;
+ ndev->base_addr = pci_resource_start(pdev, 0);
+@@ -4191,17 +4207,24 @@
goto fail_alloc_netdev;
}
ether_setup(ndev);
-+#if LINUX_VERSION_CODE < KERNEL_VERSION(2,6,31)
++#if (LINUX_VERSION_CODE < KERNEL_VERSION(2,6,30)
ndev->open = &acxpci_e_open;
ndev->stop = &acxpci_e_close;
ndev->hard_start_xmit = &acx_i_start_xmit;