diff options
Diffstat (limited to 'package/madwifi/patches/432-netdev_ops.patch')
-rw-r--r-- | package/madwifi/patches/432-netdev_ops.patch | 184 |
1 files changed, 0 insertions, 184 deletions
diff --git a/package/madwifi/patches/432-netdev_ops.patch b/package/madwifi/patches/432-netdev_ops.patch deleted file mode 100644 index af829b164a..0000000000 --- a/package/madwifi/patches/432-netdev_ops.patch +++ /dev/null @@ -1,184 +0,0 @@ -Convert to net_device_ops for Linux 2.6.29+ -http://madwifi-project.org/changeset/4005 ---- a/ath/if_ath.c -+++ b/ath/if_ath.c -@@ -566,6 +566,20 @@ static inline int rate_factor(int mode) - - /* Initialize ath_softc structure */ - -+#if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,29) -+static const struct net_device_ops ath_netdev_ops = { -+ .ndo_open = ath_init, -+ .ndo_stop = ath_stop, -+ .ndo_start_xmit = ath_hardstart, -+ .ndo_tx_timeout = ath_tx_timeout, -+ .ndo_set_multicast_list = ath_mode_init, -+ .ndo_do_ioctl = ath_ioctl, -+ .ndo_get_stats = ath_getstats, -+ .ndo_set_mac_address = ath_set_mac_address, -+ .ndo_change_mtu = ath_change_mtu, -+}; -+#endif -+ - int - ath_attach(u_int16_t devid, struct net_device *dev, HAL_BUS_TAG tag) - { -@@ -865,16 +879,20 @@ ath_attach(u_int16_t devid, struct net_d - } - - /* NB: ether_setup is done by bus-specific code */ -+#if LINUX_VERSION_CODE < KERNEL_VERSION(2,6,29) - dev->open = ath_init; - dev->stop = ath_stop; - dev->hard_start_xmit = ath_hardstart; - dev->tx_timeout = ath_tx_timeout; -- dev->watchdog_timeo = 5 * HZ; - dev->set_multicast_list = ath_mode_init; - dev->do_ioctl = ath_ioctl; - dev->get_stats = ath_getstats; - dev->set_mac_address = ath_set_mac_address; - dev->change_mtu = ath_change_mtu; -+#else -+ dev->netdev_ops = &ath_netdev_ops; -+#endif -+ dev->watchdog_timeo = 5 * HZ; - dev->tx_queue_len = ATH_TXBUF - ATH_TXBUF_MGT_RESERVED; - #if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,24) - netif_napi_add(dev, &sc->sc_napi, ath_rx_poll, 64); -@@ -1257,7 +1275,6 @@ ath_detach(struct net_device *dev) - ath_dynamic_sysctl_unregister(sc); - ATH_LOCK_DESTROY(sc); - ATH_HAL_LOCK_DESTROY(sc); -- dev->stop = NULL; /* prevent calling ath_stop again */ - unregister_netdev(dev); - return 0; - } -@@ -12732,8 +12749,13 @@ ath_rcv_dev_event(struct notifier_block - struct net_device *dev = (struct net_device *)ptr; - struct ath_softc *sc = (struct ath_softc *)netdev_priv(dev); - -+#if LINUX_VERSION_CODE < KERNEL_VERSION(2,6,29) - if (!dev || !sc || dev->open != &ath_init) - return 0; -+#else -+ if (!dev || !sc || dev->netdev_ops->ndo_open != &ath_init) -+ return 0; -+#endif - - switch (event) { - case NETDEV_CHANGENAME: ---- a/net80211/ieee80211.c -+++ b/net80211/ieee80211.c -@@ -451,6 +451,18 @@ ieee80211_ifdetach(struct ieee80211com * - } - EXPORT_SYMBOL(ieee80211_ifdetach); - -+#if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,29) -+static const struct net_device_ops ieee80211_netdev_ops = { -+ .ndo_get_stats = ieee80211_getstats, -+ .ndo_open = ieee80211_open, -+ .ndo_stop = ieee80211_stop, -+ .ndo_start_xmit = ieee80211_hardstart, -+ .ndo_set_multicast_list = ieee80211_set_multicast_list, -+ .ndo_change_mtu = ieee80211_change_mtu, -+ .ndo_do_ioctl = ieee80211_ioctl, -+}; -+#endif -+ - int - ieee80211_vap_setup(struct ieee80211com *ic, struct net_device *dev, - const char *name, int opmode, int flags, struct ieee80211vap *master) -@@ -471,16 +483,21 @@ ieee80211_vap_setup(struct ieee80211com - } else - strncpy(dev->name, name, sizeof(dev->name)); - } -+#if LINUX_VERSION_CODE < KERNEL_VERSION(2,6,29) - - dev->get_stats = ieee80211_getstats; - dev->open = ieee80211_open; - dev->stop = ieee80211_stop; - dev->hard_start_xmit = ieee80211_hardstart; - dev->set_multicast_list = ieee80211_set_multicast_list; -+ dev->do_ioctl = ieee80211_ioctl; - #if 0 - dev->set_mac_address = ieee80211_set_mac_address; - #endif - dev->change_mtu = ieee80211_change_mtu; -+#else -+ dev->netdev_ops = &ieee80211_netdev_ops; -+#endif - dev->tx_queue_len = 0; /* NB: bypass queuing */ - dev->hard_header_len = parent->hard_header_len; - /* -@@ -1824,7 +1841,11 @@ ieee80211_set_multicast_list(struct net_ - IEEE80211_UNLOCK_IRQ(ic); - - /* XXX: Merge multicast list into parent device */ -+#if LINUX_VERSION_CODE < KERNEL_VERSION(2,6,29) - parent->set_multicast_list(ic->ic_dev); -+#else -+ parent->netdev_ops->ndo_set_multicast_list(ic->ic_dev); -+#endif - } - - void ---- a/net80211/ieee80211_linux.c -+++ b/net80211/ieee80211_linux.c -@@ -984,8 +984,14 @@ ieee80211_rcv_dev_event(struct notifier_ - void *ptr) - { - struct net_device *dev = (struct net_device *) ptr; -+ -+#if LINUX_VERSION_CODE < KERNEL_VERSION(2,6,29) - if (!dev || dev->open != &ieee80211_open) - return 0; -+#else -+ if (!dev || dev->netdev_ops->ndo_open != &ieee80211_open) -+ return 0; -+#endif - - switch (event) { - case NETDEV_CHANGENAME: ---- a/net80211/ieee80211_var.h -+++ b/net80211/ieee80211_var.h -@@ -739,6 +739,7 @@ void ieee80211_build_sc_ie(struct ieee80 - void ieee80211_dfs_action(struct ieee80211com *); - void ieee80211_expire_channel_excl_restrictions(struct ieee80211com *); - void ieee80211_setpuregbasicrates(struct ieee80211_rateset *rs); -+int ieee80211_ioctl(struct net_device *dev, struct ifreq *ifr, int cmd); - - /* - * Iterate through ic_channels to enumerate all distinct ic_ieee channel numbers. ---- a/net80211/ieee80211_wireless.c -+++ b/net80211/ieee80211_wireless.c -@@ -5954,7 +5954,7 @@ static struct iw_handler_def ieee80211_i - /* - * Handle private ioctl requests. - */ --static int -+int - ieee80211_ioctl(struct net_device *dev, struct ifreq *ifr, int cmd) - { - struct ieee80211vap *vap = netdev_priv(dev); -@@ -6044,7 +6044,6 @@ ieee80211_ioctl_vattach(struct ieee80211 - { - struct net_device *dev = vap->iv_dev; - -- dev->do_ioctl = ieee80211_ioctl; - #if IW_HANDLER_VERSION < 7 - dev->get_wireless_stats = ieee80211_iw_getstats; - #endif ---- a/net80211/ieee80211_input.c -+++ b/net80211/ieee80211_input.c -@@ -1188,7 +1188,11 @@ ieee80211_deliver_data(struct ieee80211_ - skb1->protocol = __constant_htons(ETH_P_802_2); - /* XXX insert vlan tag before queue it? */ - ni_tmp = SKB_CB(skb1)->ni; /* remember node so we can free it */ -+#if LINUX_VERSION_CODE < KERNEL_VERSION(2,6,29) - ret = dev->hard_start_xmit(skb1, dev); -+#else -+ ret = dev->netdev_ops->ndo_start_xmit(skb1, dev); -+#endif - - if (ret == NETDEV_TX_BUSY) - ieee80211_dev_kfree_skb(&skb1); |