modernize backfire 10.03 so it can be operational again
[openwrt-10.03/.git] / package / acx / patches / 006-netdev_ops.patch
1 Index: acx-20080210/pci.c
2 ===================================================================
3 --- acx-20080210.orig/pci.c     2010-05-02 21:37:00.000000000 +0200
4 +++ acx-20080210/pci.c  2010-05-02 21:48:22.000000000 +0200
5 @@ -1437,6 +1437,18 @@
6  
7  static void dummy_netdev_init(struct net_device *ndev) {}
8  
9 +#if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,30)
10 +static const struct net_device_ops acx_netdev_ops = {
11 +       .ndo_open               = &acxpci_e_open,
12 +       .ndo_stop               = &acxpci_e_close,
13 +       .ndo_start_xmit         = &acx_i_start_xmit,
14 +       .ndo_get_stats          = &acx_e_get_stats,
15 +       .ndo_set_multicast_list = &acxpci_i_set_multicast_list,
16 +       .ndo_tx_timeout         = &acxpci_i_tx_timeout,
17 +       .ndo_change_mtu         = &acx_e_change_mtu,
18 +};
19 +#endif
20 +
21  #ifdef CONFIG_PCI
22  static int __devinit acxpci_e_probe(struct pci_dev *pdev, const struct pci_device_id *id)
23  {
24 @@ -1547,17 +1559,21 @@
25         }
26  
27         ether_setup(ndev);
28 +#if (LINUX_VERSION_CODE < KERNEL_VERSION(2,6,30))
29         ndev->open = &acxpci_e_open;
30         ndev->stop = &acxpci_e_close;
31         ndev->hard_start_xmit = &acx_i_start_xmit;
32         ndev->get_stats = &acx_e_get_stats;
33 +       ndev->set_multicast_list = &acxpci_i_set_multicast_list;
34 +       ndev->tx_timeout = &acxpci_i_tx_timeout;
35 +       ndev->change_mtu = &acx_e_change_mtu;
36 +#else
37 +       ndev->netdev_ops = &acx_netdev_ops;
38 +#endif
39  #if IW_HANDLER_VERSION <= 5
40         ndev->get_wireless_stats = &acx_e_get_wireless_stats;
41  #endif
42         ndev->wireless_handlers = (struct iw_handler_def *)&acx_ioctl_handler_def;
43 -       ndev->set_multicast_list = &acxpci_i_set_multicast_list;
44 -       ndev->tx_timeout = &acxpci_i_tx_timeout;
45 -       ndev->change_mtu = &acx_e_change_mtu;
46         ndev->watchdog_timeo = 4 * HZ;
47         ndev->irq = pdev->irq;
48         ndev->base_addr = pci_resource_start(pdev, 0);
49 @@ -4191,17 +4207,24 @@
50                 goto fail_alloc_netdev;
51         }
52         ether_setup(ndev);
53 +#if LINUX_VERSION_CODE < KERNEL_VERSION(2,6,30)
54         ndev->open = &acxpci_e_open;
55         ndev->stop = &acxpci_e_close;
56         ndev->hard_start_xmit = &acx_i_start_xmit;
57         ndev->get_stats = &acx_e_get_stats;
58 +       ndev->set_multicast_list = &acxpci_i_set_multicast_list;
59 +       ndev->tx_timeout = &acxpci_i_tx_timeout;
60 +       ndev->change_mtu = &acx_e_change_mtu;
61 +       ndev->set_multicast_list = &acxpci_i_set_multicast_list;
62 +       ndev->tx_timeout = &acxpci_i_tx_timeout;
63 +       ndev->change_mtu = &acx_e_change_mtu;
64 +#else
65 +       ndev->netdev_ops = &acx_netdev_ops;
66 +#endif
67  #if IW_HANDLER_VERSION <= 5
68         ndev->get_wireless_stats = &acx_e_get_wireless_stats;
69  #endif
70         ndev->wireless_handlers = (struct iw_handler_def *)&acx_ioctl_handler_def;
71 -       ndev->set_multicast_list = &acxpci_i_set_multicast_list;
72 -       ndev->tx_timeout = &acxpci_i_tx_timeout;
73 -       ndev->change_mtu = &acx_e_change_mtu;
74         ndev->watchdog_timeo = 4 * HZ;
75  
76         adev = ndev2adev(ndev);