aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorHauke Mehrtens2011-11-18 13:44:04 -0600
committerLuis R. Rodriguez2011-11-18 14:00:11 -0600
commitfddb19cef1092dba20f4ce2cb2859616de943137 (patch)
treeff8f002f95973842c8344b35d5f0d31972edfd9f
parentc5cfdf2d138ba20a648990d9615c44942eef5fd3 (diff)
downloadcompat-wireless-fddb19cef1092dba20f4ce2cb2859616de943137.tar.gz
compat-wireless-fddb19cef1092dba20f4ce2cb2859616de943137.tar.xz
compat-wireless-fddb19cef1092dba20f4ce2cb2859616de943137.zip
compat-wireless: make patches apply again
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
-rw-r--r--patches/01-netdev.patch28
-rw-r--r--patches/29-sdio_no_suspend.patch64
2 files changed, 57 insertions, 35 deletions
diff --git a/patches/01-netdev.patch b/patches/01-netdev.patch
index 2927219..c01024a 100644
--- a/patches/01-netdev.patch
+++ b/patches/01-netdev.patch
@@ -34,18 +34,18 @@ without creating a headache on maintenance of the pathes.
34 34
35--- a/drivers/net/wireless/ath/ath6kl/main.c 35--- a/drivers/net/wireless/ath/ath6kl/main.c
36+++ b/drivers/net/wireless/ath/ath6kl/main.c 36+++ b/drivers/net/wireless/ath/ath6kl/main.c
37@@ -1465,7 +1465,7 @@ static struct net_device_ops ath6kl_netd 37@@ -1114,7 +1114,7 @@ static struct net_device_ops ath6kl_netd
38 38
39 void init_netdev(struct net_device *dev) 39 void init_netdev(struct net_device *dev)
40 { 40 {
41- dev->netdev_ops = &ath6kl_netdev_ops; 41- dev->netdev_ops = &ath6kl_netdev_ops;
42+ netdev_attach_ops(dev, &ath6kl_netdev_ops); 42+ netdev_attach_ops(dev, &ath6kl_netdev_ops);
43 dev->destructor = free_netdev;
43 dev->watchdog_timeo = ATH6KL_TX_TIMEOUT; 44 dev->watchdog_timeo = ATH6KL_TX_TIMEOUT;
44 45
45 dev->needed_headroom = ETH_HLEN;
46--- a/drivers/net/wireless/rndis_wlan.c 46--- a/drivers/net/wireless/rndis_wlan.c
47+++ b/drivers/net/wireless/rndis_wlan.c 47+++ b/drivers/net/wireless/rndis_wlan.c
48@@ -3439,7 +3439,7 @@ static int rndis_wlan_bind(struct usbnet 48@@ -3452,7 +3452,7 @@ static int rndis_wlan_bind(struct usbnet
49 * rndis_host wants to avoid all OID as much as possible 49 * rndis_host wants to avoid all OID as much as possible
50 * so do promisc/multicast handling in rndis_wlan. 50 * so do promisc/multicast handling in rndis_wlan.
51 */ 51 */
@@ -56,7 +56,7 @@ without creating a headache on maintenance of the pathes.
56 retval = rndis_set_oid(usbdev, OID_GEN_CURRENT_PACKET_FILTER, &tmp, 56 retval = rndis_set_oid(usbdev, OID_GEN_CURRENT_PACKET_FILTER, &tmp,
57--- a/net/mac80211/iface.c 57--- a/net/mac80211/iface.c
58+++ b/net/mac80211/iface.c 58+++ b/net/mac80211/iface.c
59@@ -697,7 +697,12 @@ static void ieee80211_if_setup(struct ne 59@@ -713,7 +713,12 @@ static void ieee80211_if_setup(struct ne
60 { 60 {
61 ether_setup(dev); 61 ether_setup(dev);
62 dev->priv_flags &= ~IFF_TX_SKB_SHARING; 62 dev->priv_flags &= ~IFF_TX_SKB_SHARING;
@@ -70,7 +70,7 @@ without creating a headache on maintenance of the pathes.
70 dev->destructor = free_netdev; 70 dev->destructor = free_netdev;
71 } 71 }
72 72
73@@ -844,7 +849,7 @@ static void ieee80211_setup_sdata(struct 73@@ -860,7 +865,7 @@ static void ieee80211_setup_sdata(struct
74 /* and set some type-dependent values */ 74 /* and set some type-dependent values */
75 sdata->vif.type = type; 75 sdata->vif.type = type;
76 sdata->vif.p2p = false; 76 sdata->vif.p2p = false;
@@ -79,7 +79,7 @@ without creating a headache on maintenance of the pathes.
79 sdata->wdev.iftype = type; 79 sdata->wdev.iftype = type;
80 80
81 sdata->control_port_protocol = cpu_to_be16(ETH_P_PAE); 81 sdata->control_port_protocol = cpu_to_be16(ETH_P_PAE);
82@@ -883,7 +888,7 @@ static void ieee80211_setup_sdata(struct 82@@ -899,7 +904,7 @@ static void ieee80211_setup_sdata(struct
83 break; 83 break;
84 case NL80211_IFTYPE_MONITOR: 84 case NL80211_IFTYPE_MONITOR:
85 sdata->dev->type = ARPHRD_IEEE80211_RADIOTAP; 85 sdata->dev->type = ARPHRD_IEEE80211_RADIOTAP;
@@ -88,7 +88,7 @@ without creating a headache on maintenance of the pathes.
88 sdata->u.mntr_flags = MONITOR_FLAG_CONTROL | 88 sdata->u.mntr_flags = MONITOR_FLAG_CONTROL |
89 MONITOR_FLAG_OTHER_BSS; 89 MONITOR_FLAG_OTHER_BSS;
90 break; 90 break;
91@@ -1134,6 +1139,8 @@ int ieee80211_if_add(struct ieee80211_lo 91@@ -1150,6 +1155,8 @@ int ieee80211_if_add(struct ieee80211_lo
92 return -ENOMEM; 92 return -ENOMEM;
93 dev_net_set(ndev, wiphy_net(local->hw.wiphy)); 93 dev_net_set(ndev, wiphy_net(local->hw.wiphy));
94 94
@@ -97,7 +97,7 @@ without creating a headache on maintenance of the pathes.
97 ndev->needed_headroom = local->tx_headroom + 97 ndev->needed_headroom = local->tx_headroom +
98 4*6 /* four MAC addresses */ 98 4*6 /* four MAC addresses */
99 + 2 + 2 + 2 + 2 /* ctl, dur, seq, qos */ 99 + 2 + 2 + 2 + 2 /* ctl, dur, seq, qos */
100@@ -1142,6 +1149,7 @@ int ieee80211_if_add(struct ieee80211_lo 100@@ -1158,6 +1165,7 @@ int ieee80211_if_add(struct ieee80211_lo
101 - ETH_HLEN /* ethernet hard_header_len */ 101 - ETH_HLEN /* ethernet hard_header_len */
102 + IEEE80211_ENCRYPT_HEADROOM; 102 + IEEE80211_ENCRYPT_HEADROOM;
103 ndev->needed_tailroom = IEEE80211_ENCRYPT_TAILROOM; 103 ndev->needed_tailroom = IEEE80211_ENCRYPT_TAILROOM;
@@ -186,7 +186,7 @@ without creating a headache on maintenance of the pathes.
186 186
187--- a/drivers/net/wireless/ipw2x00/ipw2100.c 187--- a/drivers/net/wireless/ipw2x00/ipw2100.c
188+++ b/drivers/net/wireless/ipw2x00/ipw2100.c 188+++ b/drivers/net/wireless/ipw2x00/ipw2100.c
189@@ -6114,7 +6114,7 @@ static struct net_device *ipw2100_alloc_ 189@@ -6115,7 +6115,7 @@ static struct net_device *ipw2100_alloc_
190 priv->ieee->perfect_rssi = -20; 190 priv->ieee->perfect_rssi = -20;
191 priv->ieee->worst_rssi = -85; 191 priv->ieee->worst_rssi = -85;
192 192
@@ -197,7 +197,7 @@ without creating a headache on maintenance of the pathes.
197 priv->wireless_data.libipw = priv->ieee; 197 priv->wireless_data.libipw = priv->ieee;
198--- a/drivers/net/wireless/ipw2x00/ipw2200.c 198--- a/drivers/net/wireless/ipw2x00/ipw2200.c
199+++ b/drivers/net/wireless/ipw2x00/ipw2200.c 199+++ b/drivers/net/wireless/ipw2x00/ipw2200.c
200@@ -11673,7 +11673,7 @@ static int ipw_prom_alloc(struct ipw_pri 200@@ -11682,7 +11682,7 @@ static int ipw_prom_alloc(struct ipw_pri
201 memcpy(priv->prom_net_dev->dev_addr, priv->mac_addr, ETH_ALEN); 201 memcpy(priv->prom_net_dev->dev_addr, priv->mac_addr, ETH_ALEN);
202 202
203 priv->prom_net_dev->type = ARPHRD_IEEE80211_RADIOTAP; 203 priv->prom_net_dev->type = ARPHRD_IEEE80211_RADIOTAP;
@@ -206,7 +206,7 @@ without creating a headache on maintenance of the pathes.
206 206
207 priv->prom_priv->ieee->iw_mode = IW_MODE_MONITOR; 207 priv->prom_priv->ieee->iw_mode = IW_MODE_MONITOR;
208 SET_NETDEV_DEV(priv->prom_net_dev, &priv->pci_dev->dev); 208 SET_NETDEV_DEV(priv->prom_net_dev, &priv->pci_dev->dev);
209@@ -11812,7 +11812,7 @@ static int __devinit ipw_pci_probe(struc 209@@ -11821,7 +11821,7 @@ static int __devinit ipw_pci_probe(struc
210 priv->ieee->perfect_rssi = -20; 210 priv->ieee->perfect_rssi = -20;
211 priv->ieee->worst_rssi = -85; 211 priv->ieee->worst_rssi = -85;
212 212
@@ -336,7 +336,7 @@ without creating a headache on maintenance of the pathes.
336 } 336 }
337--- a/drivers/net/ethernet/atheros/atl1e/atl1e_main.c 337--- a/drivers/net/ethernet/atheros/atl1e/atl1e_main.c
338+++ b/drivers/net/ethernet/atheros/atl1e/atl1e_main.c 338+++ b/drivers/net/ethernet/atheros/atl1e/atl1e_main.c
339@@ -2231,7 +2231,7 @@ static int atl1e_init_netdev(struct net_ 339@@ -2234,7 +2234,7 @@ static int atl1e_init_netdev(struct net_
340 pci_set_drvdata(pdev, netdev); 340 pci_set_drvdata(pdev, netdev);
341 341
342 netdev->irq = pdev->irq; 342 netdev->irq = pdev->irq;
@@ -347,7 +347,7 @@ without creating a headache on maintenance of the pathes.
347 atl1e_set_ethtool_ops(netdev); 347 atl1e_set_ethtool_ops(netdev);
348--- a/drivers/net/ethernet/atheros/atl1c/atl1c_main.c 348--- a/drivers/net/ethernet/atheros/atl1c/atl1c_main.c
349+++ b/drivers/net/ethernet/atheros/atl1c/atl1c_main.c 349+++ b/drivers/net/ethernet/atheros/atl1c/atl1c_main.c
350@@ -2617,7 +2617,7 @@ static int atl1c_init_netdev(struct net_ 350@@ -2620,7 +2620,7 @@ static int atl1c_init_netdev(struct net_
351 pci_set_drvdata(pdev, netdev); 351 pci_set_drvdata(pdev, netdev);
352 352
353 netdev->irq = pdev->irq; 353 netdev->irq = pdev->irq;
@@ -369,7 +369,7 @@ without creating a headache on maintenance of the pathes.
369 netdev->ethtool_ops = &atl1_ethtool_ops; 369 netdev->ethtool_ops = &atl1_ethtool_ops;
370--- a/drivers/net/ethernet/atheros/atlx/atl2.c 370--- a/drivers/net/ethernet/atheros/atlx/atl2.c
371+++ b/drivers/net/ethernet/atheros/atlx/atl2.c 371+++ b/drivers/net/ethernet/atheros/atlx/atl2.c
372@@ -1411,7 +1411,7 @@ static int __devinit atl2_probe(struct p 372@@ -1414,7 +1414,7 @@ static int __devinit atl2_probe(struct p
373 373
374 atl2_setup_pcicmd(pdev); 374 atl2_setup_pcicmd(pdev);
375 375
diff --git a/patches/29-sdio_no_suspend.patch b/patches/29-sdio_no_suspend.patch
index 934eb94..f5b85b7 100644
--- a/patches/29-sdio_no_suspend.patch
+++ b/patches/29-sdio_no_suspend.patch
@@ -5,66 +5,88 @@ suspend and resume that are not backported.
5 5
6--- a/drivers/net/wireless/ath/ath6kl/cfg80211.c 6--- a/drivers/net/wireless/ath/ath6kl/cfg80211.c
7+++ b/drivers/net/wireless/ath/ath6kl/cfg80211.c 7+++ b/drivers/net/wireless/ath/ath6kl/cfg80211.c
8@@ -1411,7 +1411,7 @@ static int ath6kl_flush_pmksa(struct wip 8@@ -1871,7 +1871,7 @@ int ath6kl_cfg80211_resume(struct ath6kl
9 return 0; 9 return 0;
10 } 10 }
11 11
12-#ifdef CONFIG_PM 12-#ifdef CONFIG_PM
13+#if defined(CONFIG_PM) && (LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,34)) 13+#if defined(CONFIG_PM) && (LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,34))
14 static int ar6k_cfg80211_suspend(struct wiphy *wiphy, 14
15 struct cfg80211_wowlan *wow) 15 /* hif layer decides what suspend mode to use */
16 { 16 static int __ath6kl_cfg80211_suspend(struct wiphy *wiphy,
17@@ -1827,7 +1827,7 @@ static struct cfg80211_ops ath6kl_cfg802 17@@ -2346,7 +2346,7 @@ static struct cfg80211_ops ath6kl_cfg802
18 .del_pmksa = ath6kl_del_pmksa, 18 .del_pmksa = ath6kl_del_pmksa,
19 .flush_pmksa = ath6kl_flush_pmksa, 19 .flush_pmksa = ath6kl_flush_pmksa,
20 CFG80211_TESTMODE_CMD(ath6kl_tm_cmd) 20 CFG80211_TESTMODE_CMD(ath6kl_tm_cmd)
21-#ifdef CONFIG_PM 21-#ifdef CONFIG_PM
22+#if defined(CONFIG_PM) && (LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,34)) 22+#if defined(CONFIG_PM) && (LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,34))
23 .suspend = ar6k_cfg80211_suspend, 23 .suspend = __ath6kl_cfg80211_suspend,
24 .resume = __ath6kl_cfg80211_resume,
24 #endif 25 #endif
25 .set_channel = ath6kl_set_channel,
26--- a/drivers/net/wireless/ath/ath6kl/hif-ops.h 26--- a/drivers/net/wireless/ath/ath6kl/hif-ops.h
27+++ b/drivers/net/wireless/ath/ath6kl/hif-ops.h 27+++ b/drivers/net/wireless/ath/ath6kl/hif-ops.h
28@@ -69,9 +69,11 @@ static inline void ath6kl_hif_cleanup_sc 28@@ -83,6 +83,7 @@ static inline void ath6kl_hif_cleanup_sc
29 return ar->hif_ops->cleanup_scatter(ar); 29 return ar->hif_ops->cleanup_scatter(ar);
30 } 30 }
31 31
32+#if (LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,34)) 32+#if (LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,34))
33 static inline int ath6kl_hif_suspend(struct ath6kl *ar) 33 static inline int ath6kl_hif_suspend(struct ath6kl *ar,
34 struct cfg80211_wowlan *wow)
34 { 35 {
35 return ar->hif_ops->suspend(ar); 36@@ -97,6 +98,7 @@ static inline int ath6kl_hif_resume(stru
37
38 return ar->hif_ops->resume(ar);
36 } 39 }
37+#endif 40+#endif
38 41
39 #endif 42 static inline int ath6kl_hif_power_on(struct ath6kl *ar)
43 {
40--- a/drivers/net/wireless/ath/ath6kl/sdio.c 44--- a/drivers/net/wireless/ath/ath6kl/sdio.c
41+++ b/drivers/net/wireless/ath/ath6kl/sdio.c 45+++ b/drivers/net/wireless/ath/ath6kl/sdio.c
42@@ -724,6 +724,7 @@ static int ath6kl_sdio_enable_scatter(st 46@@ -774,6 +774,7 @@ out:
43 return 0; 47 return ret;
44 } 48 }
45 49
46+#if (LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,34)) 50+#if (LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,34))
47 static int ath6kl_sdio_suspend(struct ath6kl *ar) 51 static int ath6kl_sdio_suspend(struct ath6kl *ar, struct cfg80211_wowlan *wow)
48 { 52 {
49 struct ath6kl_sdio *ar_sdio = ath6kl_sdio_priv(ar); 53 struct ath6kl_sdio *ar_sdio = ath6kl_sdio_priv(ar);
50@@ -751,6 +752,7 @@ static int ath6kl_sdio_suspend(struct at 54@@ -845,6 +846,7 @@ static int ath6kl_sdio_resume(struct ath
51 55
52 return 0; 56 return 0;
53 } 57 }
54+#endif /* (LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,34)) */ 58+#endif /* (LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,34)) */
55 59
56 static const struct ath6kl_hif_ops ath6kl_sdio_ops = { 60 static void ath6kl_sdio_stop(struct ath6kl *ar)
57 .read_write_sync = ath6kl_sdio_read_write_sync, 61 {
58@@ -762,7 +764,9 @@ static const struct ath6kl_hif_ops ath6k 62@@ -888,14 +890,16 @@ static const struct ath6kl_hif_ops ath6k
59 .enable_scatter = ath6kl_sdio_enable_scatter, 63 .enable_scatter = ath6kl_sdio_enable_scatter,
60 .scat_req_rw = ath6kl_sdio_async_rw_scatter, 64 .scat_req_rw = ath6kl_sdio_async_rw_scatter,
61 .cleanup_scatter = ath6kl_sdio_cleanup_scatter, 65 .cleanup_scatter = ath6kl_sdio_cleanup_scatter,
62+#if (LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,34)) 66+#if (LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,34))
63 .suspend = ath6kl_sdio_suspend, 67 .suspend = ath6kl_sdio_suspend,
68 .resume = ath6kl_sdio_resume,
69+#endif
70 .power_on = ath6kl_sdio_power_on,
71 .power_off = ath6kl_sdio_power_off,
72 .stop = ath6kl_sdio_stop,
73 };
74
75-#ifdef CONFIG_PM_SLEEP
76+#if defined(CONFIG_PM_SLEEP) && (LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,34))
77
78 /*
79 * Empty handlers so that mmc subsystem doesn't remove us entirely during
80@@ -1037,7 +1041,9 @@ static struct sdio_driver ath6kl_sdio_dr
81 .id_table = ath6kl_sdio_devices,
82 .probe = ath6kl_sdio_probe,
83 .remove = ath6kl_sdio_remove,
84+#if (LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,34))
85 .drv.pm = ATH6KL_SDIO_PM_OPS,
64+#endif 86+#endif
65 }; 87 };
66 88
67 static int ath6kl_sdio_probe(struct sdio_func *func, 89 static int __init ath6kl_sdio_init(void)
68--- a/drivers/net/wireless/libertas/if_sdio.c 90--- a/drivers/net/wireless/libertas/if_sdio.c
69+++ b/drivers/net/wireless/libertas/if_sdio.c 91+++ b/drivers/net/wireless/libertas/if_sdio.c
70@@ -1306,6 +1306,7 @@ static void if_sdio_remove(struct sdio_f 92@@ -1306,6 +1306,7 @@ static void if_sdio_remove(struct sdio_f
@@ -123,7 +145,7 @@ suspend and resume that are not backported.
123 145
124 /* Device ID for SD8787 */ 146 /* Device ID for SD8787 */
125 #define SDIO_DEVICE_ID_MARVELL_8787 (0x9119) 147 #define SDIO_DEVICE_ID_MARVELL_8787 (0x9119)
126@@ -267,10 +271,12 @@ static const struct sdio_device_id mwifi 148@@ -270,10 +274,12 @@ static const struct sdio_device_id mwifi
127 149
128 MODULE_DEVICE_TABLE(sdio, mwifiex_ids); 150 MODULE_DEVICE_TABLE(sdio, mwifiex_ids);
129 151
@@ -136,7 +158,7 @@ suspend and resume that are not backported.
136 158
137 static struct sdio_driver mwifiex_sdio = { 159 static struct sdio_driver mwifiex_sdio = {
138 .name = "mwifiex_sdio", 160 .name = "mwifiex_sdio",
139@@ -279,7 +285,9 @@ static struct sdio_driver mwifiex_sdio = 161@@ -282,7 +288,9 @@ static struct sdio_driver mwifiex_sdio =
140 .remove = mwifiex_sdio_remove, 162 .remove = mwifiex_sdio_remove,
141 .drv = { 163 .drv = {
142 .owner = THIS_MODULE, 164 .owner = THIS_MODULE,