struct b43_wldev;
---- a/drivers/net/wireless/ipw2x00/ipw2100.c
-+++ b/drivers/net/wireless/ipw2x00/ipw2100.c
-@@ -6008,6 +6008,7 @@ static void ipw2100_rf_kill(struct work_struct *work)
-
- static void ipw2100_irq_tasklet(struct ipw2100_priv *priv);
-
-+#if (LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,29))
- static const struct net_device_ops ipw2100_netdev_ops = {
- .ndo_open = ipw2100_open,
- .ndo_stop = ipw2100_close,
-@@ -6018,6 +6019,7 @@ static const struct net_device_ops ipw2100_netdev_ops = {
- .ndo_set_mac_address = ipw2100_set_address,
- .ndo_validate_addr = eth_validate_addr,
- };
-+#endif
-
- /* Look into using netdev destructor to shutdown ieee80211? */
-
-@@ -6043,7 +6045,16 @@ static struct net_device *ipw2100_alloc_device(struct pci_dev *pci_dev,
- priv->ieee->perfect_rssi = -20;
- priv->ieee->worst_rssi = -85;
-
-+#if (LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,29))
- dev->netdev_ops = &ipw2100_netdev_ops;
-+#else
-+ dev->open = ipw2100_open;
-+ dev->stop = ipw2100_close;
-+ dev->init = ipw2100_net_init;
-+ dev->tx_timeout = ipw2100_tx_timeout;
-+ dev->set_mac_address = ipw2100_set_address;
-+#endif
-+
- dev->ethtool_ops = &ipw2100_ethtool_ops;
- dev->wireless_handlers = &ipw2100_wx_handler_def;
- priv->wireless_data.ieee80211 = priv->ieee;
---- a/drivers/net/wireless/ipw2x00/ipw2200.c 2009-07-21 13:18:54.353940665 -0700
-+++ b/drivers/net/wireless/ipw2x00/ipw2200.c 2009-07-21 13:18:54.537944910 -0700
-@@ -11525,6 +11525,7 @@
- return NETDEV_TX_OK;
- }
-
-+#if (LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,29))
- static const struct net_device_ops ipw_prom_netdev_ops = {
- .ndo_open = ipw_prom_open,
- .ndo_stop = ipw_prom_stop,
-@@ -11533,6 +11534,7 @@
- .ndo_set_mac_address = eth_mac_addr,
- .ndo_validate_addr = eth_validate_addr,
- };
-+#endif
-
- static int ipw_prom_alloc(struct ipw_priv *priv)
- {
-@@ -11553,7 +11555,13 @@
- memcpy(priv->prom_net_dev->dev_addr, priv->mac_addr, ETH_ALEN);
-
- priv->prom_net_dev->type = ARPHRD_IEEE80211_RADIOTAP;
-+#if (LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,29))
- priv->prom_net_dev->netdev_ops = &ipw_prom_netdev_ops;
-+#else
-+ priv->prom_net_dev->open = ipw_prom_open;
-+ priv->prom_net_dev->stop = ipw_prom_stop;
-+ priv->prom_net_dev->hard_start_xmit = ipw_prom_hard_start_xmit;
-+#endif
-
- priv->prom_priv->ieee->iw_mode = IW_MODE_MONITOR;
- SET_NETDEV_DEV(priv->prom_net_dev, &priv->pci_dev->dev);
-@@ -11581,6 +11589,7 @@
-
- #endif
-
-+#if (LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,29))
- static const struct net_device_ops ipw_netdev_ops = {
- .ndo_init = ipw_net_init,
- .ndo_open = ipw_net_open,
-@@ -11591,6 +11600,7 @@
- .ndo_change_mtu = ieee80211_change_mtu,
- .ndo_validate_addr = eth_validate_addr,
- };
-+#endif
-
- static int __devinit ipw_pci_probe(struct pci_dev *pdev,
- const struct pci_device_id *ent)
-@@ -11692,7 +11702,15 @@
- priv->ieee->perfect_rssi = -20;
- priv->ieee->worst_rssi = -85;
-
-+#if (LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,29))
- net_dev->netdev_ops = &ipw_netdev_ops;
-+#else
-+ net_dev->open = ipw_net_open;
-+ net_dev->stop = ipw_net_stop;
-+ net_dev->init = ipw_net_init;
-+ net_dev->set_multicast_list = ipw_net_set_multicast_list;
-+ net_dev->set_mac_address = ipw_net_set_mac_address;
-+#endif
- priv->wireless_data.spy_data = &priv->ieee->spy_data;
- net_dev->wireless_data = &priv->wireless_data;
- net_dev->wireless_handlers = &ipw_wx_handler_def;
--- a/drivers/net/wireless/libertas/if_cs.c
+++ b/drivers/net/wireless/libertas/if_cs.c
@@ -813,7 +813,11 @@ static int if_cs_probe(struct pcmcia_device *p_dev)
}
EXPORT_SYMBOL(wireless_send_event);
+--- a/drivers/net/wireless/ipw2x00/ipw2100.c
++++ b/drivers/net/wireless/ipw2x00/ipw2100.c
+@@ -6008,6 +6008,7 @@ static void ipw2100_rf_kill(struct work_struct *work)
+
+ static void ipw2100_irq_tasklet(struct ipw2100_priv *priv);
+
++#if (LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,29))
+ static const struct net_device_ops ipw2100_netdev_ops = {
+ .ndo_open = ipw2100_open,
+ .ndo_stop = ipw2100_close,
+@@ -6018,6 +6019,7 @@ static const struct net_device_ops ipw2100_netdev_ops = {
+ .ndo_set_mac_address = ipw2100_set_address,
+ .ndo_validate_addr = eth_validate_addr,
+ };
++#endif
+
+ /* Look into using netdev destructor to shutdown ieee80211? */
+
+@@ -6043,7 +6045,16 @@ static struct net_device *ipw2100_alloc_device(struct pci_dev *pci_dev,
+ priv->ieee->perfect_rssi = -20;
+ priv->ieee->worst_rssi = -85;
+
++#if (LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,29))
+ dev->netdev_ops = &ipw2100_netdev_ops;
++#else
++ dev->open = ipw2100_open;
++ dev->stop = ipw2100_close;
++ dev->init = ipw2100_net_init;
++ dev->tx_timeout = ipw2100_tx_timeout;
++ dev->set_mac_address = ipw2100_set_address;
++#endif
++
+ dev->ethtool_ops = &ipw2100_ethtool_ops;
+ dev->wireless_handlers = &ipw2100_wx_handler_def;
+ priv->wireless_data.ieee80211 = priv->ieee;
+--- a/drivers/net/wireless/ipw2x00/ipw2200.c 2009-07-21 13:18:54.353940665 -0700
++++ b/drivers/net/wireless/ipw2x00/ipw2200.c 2009-07-21 13:18:54.537944910 -0700
+@@ -11525,6 +11525,7 @@
+ return NETDEV_TX_OK;
+ }
+
++#if (LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,29))
+ static const struct net_device_ops ipw_prom_netdev_ops = {
+ .ndo_open = ipw_prom_open,
+ .ndo_stop = ipw_prom_stop,
+@@ -11533,6 +11534,7 @@
+ .ndo_set_mac_address = eth_mac_addr,
+ .ndo_validate_addr = eth_validate_addr,
+ };
++#endif
+
+ static int ipw_prom_alloc(struct ipw_priv *priv)
+ {
+@@ -11553,7 +11555,13 @@
+ memcpy(priv->prom_net_dev->dev_addr, priv->mac_addr, ETH_ALEN);
+
+ priv->prom_net_dev->type = ARPHRD_IEEE80211_RADIOTAP;
++#if (LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,29))
+ priv->prom_net_dev->netdev_ops = &ipw_prom_netdev_ops;
++#else
++ priv->prom_net_dev->open = ipw_prom_open;
++ priv->prom_net_dev->stop = ipw_prom_stop;
++ priv->prom_net_dev->hard_start_xmit = ipw_prom_hard_start_xmit;
++#endif
+
+ priv->prom_priv->ieee->iw_mode = IW_MODE_MONITOR;
+ SET_NETDEV_DEV(priv->prom_net_dev, &priv->pci_dev->dev);
+@@ -11581,6 +11589,7 @@
+
+ #endif
+
++#if (LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,29))
+ static const struct net_device_ops ipw_netdev_ops = {
+ .ndo_init = ipw_net_init,
+ .ndo_open = ipw_net_open,
+@@ -11591,6 +11600,7 @@
+ .ndo_change_mtu = ieee80211_change_mtu,
+ .ndo_validate_addr = eth_validate_addr,
+ };
++#endif
+
+ static int __devinit ipw_pci_probe(struct pci_dev *pdev,
+ const struct pci_device_id *ent)
+@@ -11692,7 +11702,15 @@
+ priv->ieee->perfect_rssi = -20;
+ priv->ieee->worst_rssi = -85;
+
++#if (LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,29))
+ net_dev->netdev_ops = &ipw_netdev_ops;
++#else
++ net_dev->open = ipw_net_open;
++ net_dev->stop = ipw_net_stop;
++ net_dev->init = ipw_net_init;
++ net_dev->set_multicast_list = ipw_net_set_multicast_list;
++ net_dev->set_mac_address = ipw_net_set_mac_address;
++#endif
+ priv->wireless_data.spy_data = &priv->ieee->spy_data;
+ net_dev->wireless_data = &priv->wireless_data;
+ net_dev->wireless_handlers = &ipw_wx_handler_def;