From 84d6642e4d1609562abb421341c9a90c023247a1 Mon Sep 17 00:00:00 2001 From: Dominik Sliwa Date: Tue, 4 Jul 2017 11:53:51 +0200 Subject: backports:fix compilation with toradex kernels Signed-off-by: Dominik Sliwa --- drivers/net/usb/cdc_ether.c | 2 ++ drivers/net/usb/cdc_mbim.c | 2 ++ drivers/net/usb/cdc_ncm.c | 2 ++ drivers/net/usb/qmi_wwan.c | 2 ++ drivers/net/usb/rndis_host.c | 2 ++ drivers/net/usb/sierra_net.c | 2 ++ drivers/net/wireless/ath/ath10k/mac.c | 8 ++++++- drivers/net/wireless/ath/ath6kl/usb.c | 2 ++ drivers/net/wireless/ath/ath9k/hif_usb.c | 2 ++ drivers/net/wireless/ath/carl9170/usb.c | 2 ++ drivers/net/wireless/atmel/at76c50x-usb.c | 2 ++ .../net/wireless/broadcom/brcm80211/brcmfmac/usb.c | 2 ++ drivers/net/wireless/intel/iwlwifi/pcie/rx.c | 26 ++++++++++++++++++++++ .../net/wireless/intersil/orinoco/orinoco_usb.c | 2 ++ drivers/net/wireless/intersil/p54/p54usb.c | 2 ++ drivers/net/wireless/marvell/libertas/if_usb.c | 2 ++ drivers/net/wireless/marvell/libertas_tf/if_usb.c | 2 ++ drivers/net/wireless/marvell/mwifiex/Kconfig | 2 +- drivers/net/wireless/marvell/mwifiex/pcie.c | 6 ++++- drivers/net/wireless/mediatek/mt7601u/usb.c | 2 ++ drivers/net/wireless/ralink/rt2x00/rt2500usb.c | 2 ++ drivers/net/wireless/ralink/rt2x00/rt2800usb.c | 2 ++ drivers/net/wireless/ralink/rt2x00/rt73usb.c | 2 ++ drivers/net/wireless/realtek/rtl818x/rtl8187/dev.c | 2 ++ .../net/wireless/realtek/rtl8xxxu/rtl8xxxu_core.c | 4 ++++ .../net/wireless/realtek/rtlwifi/rtl8192cu/sw.c | 2 ++ drivers/net/wireless/rndis_wlan.c | 2 ++ drivers/net/wireless/zydas/zd1201.c | 2 ++ drivers/net/wireless/zydas/zd1211rw/zd_usb.c | 2 ++ 29 files changed, 91 insertions(+), 3 deletions(-) (limited to 'drivers/net') diff --git a/drivers/net/usb/cdc_ether.c b/drivers/net/usb/cdc_ether.c index 20376e8..76d1afa 100644 --- a/drivers/net/usb/cdc_ether.c +++ b/drivers/net/usb/cdc_ether.c @@ -860,7 +860,9 @@ static struct usb_driver cdc_driver = { .resume = usbnet_resume, .reset_resume = usbnet_resume, .supports_autosuspend = 1, +#if LINUX_VERSION_IS_GEQ(3,5,0) .disable_hub_initiated_lpm = 1, +#endif }; module_usb_driver(cdc_driver); diff --git a/drivers/net/usb/cdc_mbim.c b/drivers/net/usb/cdc_mbim.c index 7e7e10c..48e4bb4 100644 --- a/drivers/net/usb/cdc_mbim.c +++ b/drivers/net/usb/cdc_mbim.c @@ -690,7 +690,9 @@ static struct usb_driver cdc_mbim_driver = { .resume = cdc_mbim_resume, .reset_resume = cdc_mbim_resume, .supports_autosuspend = 1, +#if LINUX_VERSION_IS_GEQ(3,5,0) .disable_hub_initiated_lpm = 1, +#endif }; module_usb_driver(cdc_mbim_driver); diff --git a/drivers/net/usb/cdc_ncm.c b/drivers/net/usb/cdc_ncm.c index 89f5bd8..f15a3b3 100644 --- a/drivers/net/usb/cdc_ncm.c +++ b/drivers/net/usb/cdc_ncm.c @@ -1719,7 +1719,9 @@ static struct usb_driver cdc_ncm_driver = { .resume = usbnet_resume, .reset_resume = usbnet_resume, .supports_autosuspend = 1, +#if LINUX_VERSION_IS_GEQ(3,5,0) .disable_hub_initiated_lpm = 1, +#endif }; module_usb_driver(cdc_ncm_driver); diff --git a/drivers/net/usb/qmi_wwan.c b/drivers/net/usb/qmi_wwan.c index 2474618..9715e0c 100644 --- a/drivers/net/usb/qmi_wwan.c +++ b/drivers/net/usb/qmi_wwan.c @@ -1045,7 +1045,9 @@ static struct usb_driver qmi_wwan_driver = { .resume = qmi_wwan_resume, .reset_resume = qmi_wwan_resume, .supports_autosuspend = 1, +#if LINUX_VERSION_IS_GEQ(3,5,0) .disable_hub_initiated_lpm = 1, +#endif }; module_usb_driver(qmi_wwan_driver); diff --git a/drivers/net/usb/rndis_host.c b/drivers/net/usb/rndis_host.c index c5b2113..d605296 100644 --- 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_IS_GEQ(3,5,0) .disable_hub_initiated_lpm = 1, +#endif }; module_usb_driver(rndis_driver); diff --git a/drivers/net/usb/sierra_net.c b/drivers/net/usb/sierra_net.c index 7c92e08..a825fa6 100644 --- a/drivers/net/usb/sierra_net.c +++ b/drivers/net/usb/sierra_net.c @@ -997,7 +997,9 @@ static struct usb_driver sierra_net_driver = { .suspend = usbnet_suspend, .resume = usbnet_resume, .no_dynamic_id = 1, +#if LINUX_VERSION_IS_GEQ(3,5,0) .disable_hub_initiated_lpm = 1, +#endif }; module_usb_driver(sierra_net_driver); diff --git a/drivers/net/wireless/ath/ath10k/mac.c b/drivers/net/wireless/ath/ath10k/mac.c index 2c7bfa0..c0efde1 100644 --- a/drivers/net/wireless/ath/ath10k/mac.c +++ b/drivers/net/wireless/ath/ath10k/mac.c @@ -7902,7 +7902,7 @@ struct ath10k_vif *ath10k_get_arvif(struct ath10k *ar, u32 vdev_id) #define WRD_METHOD "WRDD" #define WRDD_WIFI (0x07) - +#ifdef CONFIG_ACPI static u32 ath10k_mac_wrdd_get_mcc(struct ath10k *ar, union acpi_object *wrdd) { union acpi_object *mcc_pkg; @@ -7986,6 +7986,12 @@ static int ath10k_mac_get_wrdd_regulatory(struct ath10k *ar, u16 *rd) *rd |= COUNTRY_ERD_FLAG; return 0; } +#else +static int ath10k_mac_get_wrdd_regulatory(struct ath10k *ar, u16 *rd) +{ + return -EOPNOTSUPP; +} +#endif static int ath10k_mac_init_rd(struct ath10k *ar) { diff --git a/drivers/net/wireless/ath/ath6kl/usb.c b/drivers/net/wireless/ath/ath6kl/usb.c index 9da3594..b164d00 100644 --- a/drivers/net/wireless/ath/ath6kl/usb.c +++ b/drivers/net/wireless/ath/ath6kl/usb.c @@ -1217,7 +1217,9 @@ static struct usb_driver ath6kl_usb_driver = { .disconnect = ath6kl_usb_remove, .id_table = ath6kl_usb_ids, .supports_autosuspend = true, +#if LINUX_VERSION_IS_GEQ(3,5,0) .disable_hub_initiated_lpm = 1, +#endif }; module_usb_driver(ath6kl_usb_driver); diff --git a/drivers/net/wireless/ath/ath9k/hif_usb.c b/drivers/net/wireless/ath/ath9k/hif_usb.c index f6922e9..2f05cf5 100644 --- a/drivers/net/wireless/ath/ath9k/hif_usb.c +++ b/drivers/net/wireless/ath/ath9k/hif_usb.c @@ -1428,7 +1428,9 @@ static struct usb_driver ath9k_hif_usb_driver = { #endif .id_table = ath9k_hif_usb_ids, .soft_unbind = 1, +#if LINUX_VERSION_IS_GEQ(3,5,0) .disable_hub_initiated_lpm = 1, +#endif }; int ath9k_hif_usb_init(void) diff --git a/drivers/net/wireless/ath/carl9170/usb.c b/drivers/net/wireless/ath/carl9170/usb.c index 99ab203..b3bb548 100644 --- a/drivers/net/wireless/ath/carl9170/usb.c +++ b/drivers/net/wireless/ath/carl9170/usb.c @@ -1194,7 +1194,9 @@ static struct usb_driver carl9170_driver = { .resume = carl9170_usb_resume, .reset_resume = carl9170_usb_resume, #endif /* CONFIG_PM */ +#if LINUX_VERSION_IS_GEQ(3,5,0) .disable_hub_initiated_lpm = 1, +#endif }; module_usb_driver(carl9170_driver); diff --git a/drivers/net/wireless/atmel/at76c50x-usb.c b/drivers/net/wireless/atmel/at76c50x-usb.c index 0e18067..b7ef8d5 100644 --- a/drivers/net/wireless/atmel/at76c50x-usb.c +++ b/drivers/net/wireless/atmel/at76c50x-usb.c @@ -2567,7 +2567,9 @@ static struct usb_driver at76_driver = { .probe = at76_probe, .disconnect = at76_disconnect, .id_table = dev_table, +#if LINUX_VERSION_IS_GEQ(3,5,0) .disable_hub_initiated_lpm = 1, +#endif }; static int __init at76_mod_init(void) diff --git a/drivers/net/wireless/broadcom/brcm80211/brcmfmac/usb.c b/drivers/net/wireless/broadcom/brcm80211/brcmfmac/usb.c index d93ebbd..93e600e 100644 --- a/drivers/net/wireless/broadcom/brcm80211/brcmfmac/usb.c +++ b/drivers/net/wireless/broadcom/brcm80211/brcmfmac/usb.c @@ -1483,7 +1483,9 @@ static struct usb_driver brcmf_usbdrvr = { .suspend = brcmf_usb_suspend, .resume = brcmf_usb_resume, .reset_resume = brcmf_usb_reset_resume, +#if LINUX_VERSION_IS_GEQ(3,5,0) .disable_hub_initiated_lpm = 1, +#endif }; static int brcmf_usb_reset_device(struct device *dev, void *notused) diff --git a/drivers/net/wireless/intel/iwlwifi/pcie/rx.c b/drivers/net/wireless/intel/iwlwifi/pcie/rx.c index de94dfd..971499c 100644 --- a/drivers/net/wireless/intel/iwlwifi/pcie/rx.c +++ b/drivers/net/wireless/intel/iwlwifi/pcie/rx.c @@ -37,6 +37,32 @@ #include "internal.h" #include "iwl-op-mode.h" + #if LINUX_VERSION_IS_LESS(3,7,0) +/* + * atomic_dec_if_positive - decrement by 1 if old value positive + * @v: pointer of type atomic_t + * + * The function returns the old value of *v minus 1, even if + * the atomic variable, v, was not decremented. + */ +#ifndef atomic_dec_if_positive +static inline int atomic_dec_if_positive(atomic_t *v) +{ + int c, old, dec; + c = atomic_read(v); + for (;;) { + dec = c - 1; + if (unlikely(dec < 0)) + break; + old = atomic_cmpxchg((v), c, dec); + if (likely(old == c)) + break; + c = old; + } + return dec; +} +#endif +#endif /****************************************************************************** * * RX path functions diff --git a/drivers/net/wireless/intersil/orinoco/orinoco_usb.c b/drivers/net/wireless/intersil/orinoco/orinoco_usb.c index 98e1380..728f3e9 100644 --- a/drivers/net/wireless/intersil/orinoco/orinoco_usb.c +++ b/drivers/net/wireless/intersil/orinoco/orinoco_usb.c @@ -1734,7 +1734,9 @@ static struct usb_driver orinoco_driver = { .probe = ezusb_probe, .disconnect = ezusb_disconnect, .id_table = ezusb_table, +#if LINUX_VERSION_IS_GEQ(3,5,0) .disable_hub_initiated_lpm = 1, +#endif }; module_usb_driver(orinoco_driver); diff --git a/drivers/net/wireless/intersil/p54/p54usb.c b/drivers/net/wireless/intersil/p54/p54usb.c index 043bd1c..bc823d3 100644 --- a/drivers/net/wireless/intersil/p54/p54usb.c +++ b/drivers/net/wireless/intersil/p54/p54usb.c @@ -1143,7 +1143,9 @@ static struct usb_driver p54u_driver = { .reset_resume = p54u_resume, #endif /* CONFIG_PM */ .soft_unbind = 1, +#if LINUX_VERSION_IS_GEQ(3,5,0) .disable_hub_initiated_lpm = 1, +#endif }; module_usb_driver(p54u_driver); diff --git a/drivers/net/wireless/marvell/libertas/if_usb.c b/drivers/net/wireless/marvell/libertas/if_usb.c index fc46d6b..7f4998a 100644 --- a/drivers/net/wireless/marvell/libertas/if_usb.c +++ b/drivers/net/wireless/marvell/libertas/if_usb.c @@ -1011,7 +1011,9 @@ static struct usb_driver if_usb_driver = { .suspend = if_usb_suspend, .resume = if_usb_resume, .reset_resume = if_usb_resume, +#if LINUX_VERSION_IS_GEQ(3,5,0) .disable_hub_initiated_lpm = 1, +#endif }; module_usb_driver(if_usb_driver); diff --git a/drivers/net/wireless/marvell/libertas_tf/if_usb.c b/drivers/net/wireless/marvell/libertas_tf/if_usb.c index e0ade40..b9ce043 100644 --- a/drivers/net/wireless/marvell/libertas_tf/if_usb.c +++ b/drivers/net/wireless/marvell/libertas_tf/if_usb.c @@ -912,7 +912,9 @@ static struct usb_driver if_usb_driver = { .id_table = if_usb_table, .suspend = if_usb_suspend, .resume = if_usb_resume, +#if LINUX_VERSION_IS_GEQ(3,5,0) .disable_hub_initiated_lpm = 1, +#endif }; module_usb_driver(if_usb_driver); diff --git a/drivers/net/wireless/marvell/mwifiex/Kconfig b/drivers/net/wireless/marvell/mwifiex/Kconfig index 7c1795b..24ba26d 100644 --- a/drivers/net/wireless/marvell/mwifiex/Kconfig +++ b/drivers/net/wireless/marvell/mwifiex/Kconfig @@ -10,7 +10,7 @@ config MWIFIEX mwifiex. config MWIFIEX_SDIO - depends on !KERNEL_3_2 + #depends on !KERNEL_3_2 tristate "Marvell WiFi-Ex Driver for SD8786/SD8787/SD8797/SD8887/SD8897/SD8997" depends on m depends on MWIFIEX && MMC diff --git a/drivers/net/wireless/marvell/mwifiex/pcie.c b/drivers/net/wireless/marvell/mwifiex/pcie.c index b8c990d..75d14f5 100644 --- a/drivers/net/wireless/marvell/mwifiex/pcie.c +++ b/drivers/net/wireless/marvell/mwifiex/pcie.c @@ -391,7 +391,11 @@ static void mwifiex_pcie_reset_notify(struct pci_dev *pdev, bool prepare) } static const struct pci_error_handlers mwifiex_pcie_err_handler[] = { - { .reset_notify = mwifiex_pcie_reset_notify, }, + { +#if LINUX_VERSION_IS_GEQ(3,16,0) + .reset_notify = mwifiex_pcie_reset_notify, +#endif + }, }; #ifdef CONFIG_PM_SLEEP diff --git a/drivers/net/wireless/mediatek/mt7601u/usb.c b/drivers/net/wireless/mediatek/mt7601u/usb.c index 416c604..4361007 100644 --- a/drivers/net/wireless/mediatek/mt7601u/usb.c +++ b/drivers/net/wireless/mediatek/mt7601u/usb.c @@ -357,6 +357,8 @@ static struct usb_driver mt7601u_driver = { .resume = mt7601u_resume, .reset_resume = mt7601u_resume, .soft_unbind = 1, +#if LINUX_VERSION_IS_GEQ(3,5,0) .disable_hub_initiated_lpm = 1, +#endif }; module_usb_driver(mt7601u_driver); diff --git a/drivers/net/wireless/ralink/rt2x00/rt2500usb.c b/drivers/net/wireless/ralink/rt2x00/rt2500usb.c index faf56ee..0f139c7 100644 --- a/drivers/net/wireless/ralink/rt2x00/rt2500usb.c +++ b/drivers/net/wireless/ralink/rt2x00/rt2500usb.c @@ -1988,7 +1988,9 @@ static struct usb_driver rt2500usb_driver = { .suspend = rt2x00usb_suspend, .resume = rt2x00usb_resume, .reset_resume = rt2x00usb_resume, +#if LINUX_VERSION_IS_GEQ(3,5,0) .disable_hub_initiated_lpm = 1, +#endif }; module_usb_driver(rt2500usb_driver); diff --git a/drivers/net/wireless/ralink/rt2x00/rt2800usb.c b/drivers/net/wireless/ralink/rt2x00/rt2800usb.c index 215b4c9..fbdf378 100644 --- a/drivers/net/wireless/ralink/rt2x00/rt2800usb.c +++ b/drivers/net/wireless/ralink/rt2x00/rt2800usb.c @@ -1411,7 +1411,9 @@ static struct usb_driver rt2800usb_driver = { .suspend = rt2x00usb_suspend, .resume = rt2x00usb_resume, .reset_resume = rt2x00usb_resume, +#if LINUX_VERSION_IS_GEQ(3,5,0) .disable_hub_initiated_lpm = 1, +#endif }; module_usb_driver(rt2800usb_driver); diff --git a/drivers/net/wireless/ralink/rt2x00/rt73usb.c b/drivers/net/wireless/ralink/rt2x00/rt73usb.c index 0f10f4f..1f04cca 100644 --- a/drivers/net/wireless/ralink/rt2x00/rt73usb.c +++ b/drivers/net/wireless/ralink/rt2x00/rt73usb.c @@ -2541,7 +2541,9 @@ static struct usb_driver rt73usb_driver = { .suspend = rt2x00usb_suspend, .resume = rt2x00usb_resume, .reset_resume = rt2x00usb_resume, +#if LINUX_VERSION_IS_GEQ(3,5,0) .disable_hub_initiated_lpm = 1, +#endif }; module_usb_driver(rt73usb_driver); diff --git a/drivers/net/wireless/realtek/rtl818x/rtl8187/dev.c b/drivers/net/wireless/realtek/rtl818x/rtl8187/dev.c index fa7214c..fcadcb9 100644 --- a/drivers/net/wireless/realtek/rtl818x/rtl8187/dev.c +++ b/drivers/net/wireless/realtek/rtl818x/rtl8187/dev.c @@ -1678,7 +1678,9 @@ static struct usb_driver rtl8187_driver = { .id_table = rtl8187_table, .probe = rtl8187_probe, .disconnect = rtl8187_disconnect, +#if LINUX_VERSION_IS_GEQ(3,5,0) .disable_hub_initiated_lpm = 1, +#endif }; module_usb_driver(rtl8187_driver); diff --git a/drivers/net/wireless/realtek/rtl8xxxu/rtl8xxxu_core.c b/drivers/net/wireless/realtek/rtl8xxxu/rtl8xxxu_core.c index f435c44..1bc6b2b 100644 --- a/drivers/net/wireless/realtek/rtl8xxxu/rtl8xxxu_core.c +++ b/drivers/net/wireless/realtek/rtl8xxxu/rtl8xxxu_core.c @@ -6361,6 +6361,8 @@ static struct usb_device_id dev_table[] = { .driver_info = (unsigned long)&rtl8192eu_fops}, {USB_DEVICE_AND_INTERFACE_INFO(USB_VENDOR_ID_REALTEK, 0x818c, 0xff, 0xff, 0xff), .driver_info = (unsigned long)&rtl8192eu_fops}, +{USB_DEVICE_AND_INTERFACE_INFO(USB_VENDOR_ID_REALTEK, 0x8179, 0xff, 0xff, 0xff), + .driver_info = (unsigned long)&rtl8192eu_fops}, #endif { } }; @@ -6371,7 +6373,9 @@ static struct usb_driver rtl8xxxu_driver = { .disconnect = rtl8xxxu_disconnect, .id_table = dev_table, .no_dynamic_id = 1, +#if LINUX_VERSION_IS_GEQ(3,5,0) .disable_hub_initiated_lpm = 1, +#endif }; static int __init rtl8xxxu_module_init(void) diff --git a/drivers/net/wireless/realtek/rtlwifi/rtl8192cu/sw.c b/drivers/net/wireless/realtek/rtlwifi/rtl8192cu/sw.c index 96c923b..9ed6a03 100644 --- a/drivers/net/wireless/realtek/rtlwifi/rtl8192cu/sw.c +++ b/drivers/net/wireless/realtek/rtlwifi/rtl8192cu/sw.c @@ -405,7 +405,9 @@ static struct usb_driver rtl8192cu_driver = { /* .resume = rtl_usb_resume, */ /* .reset_resume = rtl8192c_resume, */ #endif /* CONFIG_PM */ +#if LINUX_VERSION_IS_GEQ(3,5,0) .disable_hub_initiated_lpm = 1, +#endif }; module_usb_driver(rtl8192cu_driver); diff --git a/drivers/net/wireless/rndis_wlan.c b/drivers/net/wireless/rndis_wlan.c index 785334f..c166271 100644 --- a/drivers/net/wireless/rndis_wlan.c +++ b/drivers/net/wireless/rndis_wlan.c @@ -3762,7 +3762,9 @@ static struct usb_driver rndis_wlan_driver = { .disconnect = usbnet_disconnect, .suspend = usbnet_suspend, .resume = usbnet_resume, +#if LINUX_VERSION_IS_GEQ(3,5,0) .disable_hub_initiated_lpm = 1, +#endif }; module_usb_driver(rndis_wlan_driver); diff --git a/drivers/net/wireless/zydas/zd1201.c b/drivers/net/wireless/zydas/zd1201.c index de7ff39..0d138ae 100644 --- a/drivers/net/wireless/zydas/zd1201.c +++ b/drivers/net/wireless/zydas/zd1201.c @@ -1906,7 +1906,9 @@ static struct usb_driver zd1201_usb = { .id_table = zd1201_table, .suspend = zd1201_suspend, .resume = zd1201_resume, +#if LINUX_VERSION_IS_GEQ(3,5,0) .disable_hub_initiated_lpm = 1, +#endif }; module_usb_driver(zd1201_usb); diff --git a/drivers/net/wireless/zydas/zd1211rw/zd_usb.c b/drivers/net/wireless/zydas/zd1211rw/zd_usb.c index c5effd6..10e67b1 100644 --- a/drivers/net/wireless/zydas/zd1211rw/zd_usb.c +++ b/drivers/net/wireless/zydas/zd1211rw/zd_usb.c @@ -1539,7 +1539,9 @@ static struct usb_driver driver = { .disconnect = disconnect, .pre_reset = pre_reset, .post_reset = post_reset, +#if LINUX_VERSION_IS_GEQ(3,5,0) .disable_hub_initiated_lpm = 1, +#endif }; struct workqueue_struct *zd_workqueue; -- cgit v1.2.3