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 @@ 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, + .ndo_start_xmit = &acx_i_start_xmit, + .ndo_get_stats = &acx_e_get_stats, + .ndo_set_multicast_list = &acxpci_i_set_multicast_list, + .ndo_tx_timeout = &acxpci_i_tx_timeout, + .ndo_change_mtu = &acx_e_change_mtu, +}; +#endif + #ifdef CONFIG_PCI static int __devinit acxpci_e_probe(struct pci_dev *pdev, const struct pci_device_id *id) { @@ -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,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; + 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; adev = ndev2adev(ndev);