compat-wireless: add usb driver lpm
authorHauke Mehrtens <hauke@hauke-m.de>
Tue, 29 May 2012 22:39:36 +0000 (00:39 +0200)
committerLuis R. Rodriguez <mcgrof@frijolero.org>
Tue, 29 May 2012 23:39:34 +0000 (16:39 -0700)
This adds a patch to backport:
commit e1f12eb6ba6f1e74007eb01ed26fad7c5239d62b
Author: Sarah Sharp <sarah.a.sharp@linux.intel.com>
Date:   Mon Apr 23 10:08:51 2012 -0700

    USB: Disable hub-initiated LPM for comms devices.

This patch should be replaced with something in compat, but I do not
have the time now.

Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
Signed-off-by: Luis R. Rodriguez <mcgrof@frijolero.org>
patches/62-usb_driver_lpm.patch [new file with mode: 0644]

diff --git a/patches/62-usb_driver_lpm.patch b/patches/62-usb_driver_lpm.patch
new file mode 100644 (file)
index 0000000..3679add
--- /dev/null
@@ -0,0 +1,276 @@
+--- a/drivers/bluetooth/ath3k.c
++++ b/drivers/bluetooth/ath3k.c
+@@ -445,7 +445,9 @@ static struct usb_driver ath3k_driver =
+       .probe          = ath3k_probe,
+       .disconnect     = ath3k_disconnect,
+       .id_table       = ath3k_table,
++#if (LINUX_VERSION_CODE >= KERNEL_VERSION(3,5,0))
+       .disable_hub_initiated_lpm = 1,
++#endif
+ };
+ module_usb_driver(ath3k_driver);
+--- a/drivers/bluetooth/bcm203x.c
++++ b/drivers/bluetooth/bcm203x.c
+@@ -279,7 +279,9 @@ static struct usb_driver bcm203x_driver
+       .probe          = bcm203x_probe,
+       .disconnect     = bcm203x_disconnect,
+       .id_table       = bcm203x_table,
++#if (LINUX_VERSION_CODE >= KERNEL_VERSION(3,5,0))
+       .disable_hub_initiated_lpm = 1,
++#endif
+ };
+ module_usb_driver(bcm203x_driver);
+--- a/drivers/bluetooth/bfusb.c
++++ b/drivers/bluetooth/bfusb.c
+@@ -749,7 +749,9 @@ static struct usb_driver bfusb_driver =
+       .probe          = bfusb_probe,
+       .disconnect     = bfusb_disconnect,
+       .id_table       = bfusb_table,
++#if (LINUX_VERSION_CODE >= KERNEL_VERSION(3,5,0))
+       .disable_hub_initiated_lpm = 1,
++#endif
+ };
+ module_usb_driver(bfusb_driver);
+--- a/drivers/bluetooth/bpa10x.c
++++ b/drivers/bluetooth/bpa10x.c
+@@ -508,7 +508,9 @@ static struct usb_driver bpa10x_driver =
+       .probe          = bpa10x_probe,
+       .disconnect     = bpa10x_disconnect,
+       .id_table       = bpa10x_table,
++#if (LINUX_VERSION_CODE >= KERNEL_VERSION(3,5,0))
+       .disable_hub_initiated_lpm = 1,
++#endif
+ };
+ module_usb_driver(bpa10x_driver);
+--- a/drivers/bluetooth/btusb.c
++++ b/drivers/bluetooth/btusb.c
+@@ -1222,7 +1222,9 @@ static struct usb_driver btusb_driver =
+ #endif
+       .id_table       = btusb_table,
+       .supports_autosuspend = 1,
++#if (LINUX_VERSION_CODE >= KERNEL_VERSION(3,5,0))
+       .disable_hub_initiated_lpm = 1,
++#endif
+ };
+ module_usb_driver(btusb_driver);
+--- a/drivers/net/usb/cdc_ether.c
++++ b/drivers/net/usb/cdc_ether.c
+@@ -705,7 +705,9 @@ static struct usb_driver cdc_driver = {
+       .resume =       usbnet_resume,
+       .reset_resume = usbnet_resume,
+       .supports_autosuspend = 1,
++#if (LINUX_VERSION_CODE >= KERNEL_VERSION(3,5,0))
+       .disable_hub_initiated_lpm = 1,
++#endif
+ };
+ module_usb_driver(cdc_driver);
+--- a/drivers/net/usb/rndis_host.c
++++ b/drivers/net/usb/rndis_host.c
+@@ -643,7 +643,9 @@ static struct usb_driver rndis_driver =
+       .disconnect =   usbnet_disconnect,
+       .suspend =      usbnet_suspend,
+       .resume =       usbnet_resume,
++#if (LINUX_VERSION_CODE >= KERNEL_VERSION(3,5,0))
+       .disable_hub_initiated_lpm = 1,
++#endif
+ };
+ module_usb_driver(rndis_driver);
+--- a/drivers/net/wireless/at76c50x-usb.c
++++ b/drivers/net/wireless/at76c50x-usb.c
+@@ -2486,7 +2486,9 @@ static struct usb_driver at76_driver = {
+       .probe = at76_probe,
+       .disconnect = at76_disconnect,
+       .id_table = dev_table,
++#if (LINUX_VERSION_CODE >= KERNEL_VERSION(3,5,0))
+       .disable_hub_initiated_lpm = 1,
++#endif
+ };
+ static int __init at76_mod_init(void)
+--- a/drivers/net/wireless/ath/ath6kl/usb.c
++++ b/drivers/net/wireless/ath/ath6kl/usb.c
+@@ -1191,7 +1191,9 @@ static struct usb_driver ath6kl_usb_driv
+       .disconnect = ath6kl_usb_remove,
+       .id_table = ath6kl_usb_ids,
+       .supports_autosuspend = true,
++#if (LINUX_VERSION_CODE >= KERNEL_VERSION(3,5,0))
+       .disable_hub_initiated_lpm = 1,
++#endif
+ };
+ static int ath6kl_usb_init(void)
+--- a/drivers/net/wireless/ath/ath9k/hif_usb.c
++++ b/drivers/net/wireless/ath/ath9k/hif_usb.c
+@@ -1360,7 +1360,9 @@ static struct usb_driver ath9k_hif_usb_d
+ #if (LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,27))
+       .soft_unbind = 1,
+ #endif
++#if (LINUX_VERSION_CODE >= KERNEL_VERSION(3,5,0))
+       .disable_hub_initiated_lpm = 1,
++#endif
+ };
+ int ath9k_hif_usb_init(void)
+--- a/drivers/net/wireless/ath/carl9170/usb.c
++++ b/drivers/net/wireless/ath/carl9170/usb.c
+@@ -1159,7 +1159,9 @@ static struct usb_driver carl9170_driver
+       .resume = carl9170_usb_resume,
+       .reset_resume = carl9170_usb_resume,
+ #endif /* CONFIG_PM */
++#if (LINUX_VERSION_CODE >= KERNEL_VERSION(3,5,0))
+       .disable_hub_initiated_lpm = 1,
++#endif
+ };
+ module_usb_driver(carl9170_driver);
+--- a/drivers/net/wireless/brcm80211/brcmfmac/usb.c
++++ b/drivers/net/wireless/brcm80211/brcmfmac/usb.c
+@@ -1598,7 +1598,9 @@ static struct usb_driver brcmf_usbdrvr =
+       .suspend = brcmf_usb_suspend,
+       .resume = brcmf_usb_resume,
+       .supports_autosuspend = 1,
++#if (LINUX_VERSION_CODE >= KERNEL_VERSION(3,5,0))
+       .disable_hub_initiated_lpm = 1,
++#endif
+ };
+ void brcmf_usb_exit(void)
+--- a/drivers/net/wireless/libertas/if_usb.c
++++ b/drivers/net/wireless/libertas/if_usb.c
+@@ -1015,7 +1015,9 @@ static struct usb_driver if_usb_driver =
+       .suspend = if_usb_suspend,
+       .resume = if_usb_resume,
+       .reset_resume = if_usb_resume,
++#if (LINUX_VERSION_CODE >= KERNEL_VERSION(3,5,0))
+       .disable_hub_initiated_lpm = 1,
++#endif
+ };
+ module_usb_driver(if_usb_driver);
+--- a/drivers/net/wireless/libertas_tf/if_usb.c
++++ b/drivers/net/wireless/libertas_tf/if_usb.c
+@@ -922,7 +922,9 @@ static struct usb_driver if_usb_driver =
+       .id_table = if_usb_table,
+       .suspend = if_usb_suspend,
+       .resume = if_usb_resume,
++#if (LINUX_VERSION_CODE >= KERNEL_VERSION(3,5,0))
+       .disable_hub_initiated_lpm = 1,
++#endif
+ };
+ module_usb_driver(if_usb_driver);
+--- a/drivers/net/wireless/orinoco/orinoco_usb.c
++++ b/drivers/net/wireless/orinoco/orinoco_usb.c
+@@ -1752,7 +1752,9 @@ static struct usb_driver orinoco_driver
+       .probe = ezusb_probe,
+       .disconnect = ezusb_disconnect,
+       .id_table = ezusb_table,
++#if (LINUX_VERSION_CODE >= KERNEL_VERSION(3,5,0))
+       .disable_hub_initiated_lpm = 1,
++#endif
+ };
+ module_usb_driver(orinoco_driver);
+--- a/drivers/net/wireless/p54/p54usb.c
++++ b/drivers/net/wireless/p54/p54usb.c
+@@ -1142,7 +1142,9 @@ static struct usb_driver p54u_driver = {
+ #if (LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,27))
+       .soft_unbind = 1,
+ #endif
++#if (LINUX_VERSION_CODE >= KERNEL_VERSION(3,5,0))
+       .disable_hub_initiated_lpm = 1,
++#endif
+ };
+ module_usb_driver(p54u_driver);
+--- a/drivers/net/wireless/rndis_wlan.c
++++ b/drivers/net/wireless/rndis_wlan.c
+@@ -3755,7 +3755,9 @@ static struct usb_driver rndis_wlan_driv
+       .disconnect =   usbnet_disconnect,
+       .suspend =      usbnet_suspend,
+       .resume =       usbnet_resume,
++#if (LINUX_VERSION_CODE >= KERNEL_VERSION(3,5,0))
+       .disable_hub_initiated_lpm = 1,
++#endif
+ };
+ module_usb_driver(rndis_wlan_driver);
+--- a/drivers/net/wireless/rt2x00/rt2500usb.c
++++ b/drivers/net/wireless/rt2x00/rt2500usb.c
+@@ -1980,7 +1980,9 @@ static struct usb_driver rt2500usb_drive
+       .disconnect     = rt2x00usb_disconnect,
+       .suspend        = rt2x00usb_suspend,
+       .resume         = rt2x00usb_resume,
++#if (LINUX_VERSION_CODE >= KERNEL_VERSION(3,5,0))
+       .disable_hub_initiated_lpm = 1,
++#endif
+ };
+ module_usb_driver(rt2500usb_driver);
+--- a/drivers/net/wireless/rt2x00/rt2800usb.c
++++ b/drivers/net/wireless/rt2x00/rt2800usb.c
+@@ -1302,7 +1302,9 @@ static struct usb_driver rt2800usb_drive
+       .disconnect     = rt2x00usb_disconnect,
+       .suspend        = rt2x00usb_suspend,
+       .resume         = rt2x00usb_resume,
++#if (LINUX_VERSION_CODE >= KERNEL_VERSION(3,5,0))
+       .disable_hub_initiated_lpm = 1,
++#endif
+ };
+ module_usb_driver(rt2800usb_driver);
+--- a/drivers/net/wireless/rt2x00/rt73usb.c
++++ b/drivers/net/wireless/rt2x00/rt73usb.c
+@@ -2527,7 +2527,9 @@ static struct usb_driver rt73usb_driver
+       .disconnect     = rt2x00usb_disconnect,
+       .suspend        = rt2x00usb_suspend,
+       .resume         = rt2x00usb_resume,
++#if (LINUX_VERSION_CODE >= KERNEL_VERSION(3,5,0))
+       .disable_hub_initiated_lpm = 1,
++#endif
+ };
+ module_usb_driver(rt73usb_driver);
+--- a/drivers/net/wireless/rtl818x/rtl8187/dev.c
++++ b/drivers/net/wireless/rtl818x/rtl8187/dev.c
+@@ -1671,7 +1671,9 @@ static struct usb_driver rtl8187_driver
+       .id_table       = rtl8187_table,
+       .probe          = rtl8187_probe,
+       .disconnect     = __devexit_p(rtl8187_disconnect),
++#if (LINUX_VERSION_CODE >= KERNEL_VERSION(3,5,0))
+       .disable_hub_initiated_lpm = 1,
++#endif
+ };
+ module_usb_driver(rtl8187_driver);
+--- a/drivers/net/wireless/rtlwifi/rtl8192cu/sw.c
++++ b/drivers/net/wireless/rtlwifi/rtl8192cu/sw.c
+@@ -373,7 +373,9 @@ static struct usb_driver rtl8192cu_drive
+ #ifdef CONFIG_AUTOSUSPEND
+       .supports_autosuspend = 1,
+ #endif
++#if (LINUX_VERSION_CODE >= KERNEL_VERSION(3,5,0))
+       .disable_hub_initiated_lpm = 1,
++#endif
+ };
+ module_usb_driver(rtl8192cu_driver);
+--- a/drivers/net/wireless/zd1211rw/zd_usb.c
++++ b/drivers/net/wireless/zd1211rw/zd_usb.c
+@@ -1542,7 +1542,9 @@ static struct usb_driver driver = {
+       .disconnect     = disconnect,
+       .pre_reset      = pre_reset,
+       .post_reset     = post_reset,
++#if (LINUX_VERSION_CODE >= KERNEL_VERSION(3,5,0))
+       .disable_hub_initiated_lpm = 1,
++#endif
+ };
+ struct workqueue_struct *zd_workqueue;