diff options
Diffstat (limited to 'drivers/net/wireless/intel')
-rw-r--r-- | drivers/net/wireless/intel/iwlwifi/iwl-nvm-parse.c | 2 | ||||
-rw-r--r-- | drivers/net/wireless/intel/iwlwifi/mvm/fw.c | 2 | ||||
-rw-r--r-- | drivers/net/wireless/intel/iwlwifi/mvm/mvm.h | 6 | ||||
-rw-r--r-- | drivers/net/wireless/intel/iwlwifi/mvm/nvm.c | 6 | ||||
-rw-r--r-- | drivers/net/wireless/intel/iwlwifi/mvm/ops.c | 7 | ||||
-rw-r--r-- | drivers/net/wireless/intel/iwlwifi/pcie/drv.c | 4 | ||||
-rw-r--r-- | drivers/net/wireless/intel/iwlwifi/pcie/rx.c | 27 | ||||
-rw-r--r-- | drivers/net/wireless/intel/iwlwifi/pcie/trans.c | 9 |
8 files changed, 59 insertions, 4 deletions
diff --git a/drivers/net/wireless/intel/iwlwifi/iwl-nvm-parse.c b/drivers/net/wireless/intel/iwlwifi/iwl-nvm-parse.c index b815ba3..7c35a0d 100644 --- a/drivers/net/wireless/intel/iwlwifi/iwl-nvm-parse.c +++ b/drivers/net/wireless/intel/iwlwifi/iwl-nvm-parse.c @@ -78,7 +78,9 @@ #include "iwl-prph.h" #include "iwl-io.h" #include "iwl-csr.h" +#ifdef CONFIG_ACPI #include "fw/acpi.h" +#endif #include "fw/api/nvm-reg.h" #include "fw/api/commands.h" #include "fw/api/cmdhdr.h" diff --git a/drivers/net/wireless/intel/iwlwifi/mvm/fw.c b/drivers/net/wireless/intel/iwlwifi/mvm/fw.c index 866c91c..d1d9119 100644 --- a/drivers/net/wireless/intel/iwlwifi/mvm/fw.c +++ b/drivers/net/wireless/intel/iwlwifi/mvm/fw.c @@ -76,7 +76,9 @@ #include "iwl-csr.h" /* for iwl_mvm_rx_card_state_notif */ #include "iwl-io.h" /* for iwl_mvm_rx_card_state_notif */ #include "iwl-prph.h" +#ifdef CONFIG_ACPI #include "fw/acpi.h" +#endif #include "mvm.h" #include "fw/dbg.h" diff --git a/drivers/net/wireless/intel/iwlwifi/mvm/mvm.h b/drivers/net/wireless/intel/iwlwifi/mvm/mvm.h index b1b41cd..a871835 100644 --- a/drivers/net/wireless/intel/iwlwifi/mvm/mvm.h +++ b/drivers/net/wireless/intel/iwlwifi/mvm/mvm.h @@ -91,7 +91,9 @@ #include "tof.h" #include "fw/runtime.h" #include "fw/dbg.h" +#ifdef CONFIG_ACPI #include "fw/acpi.h" +#endif #include "iwl-nvm-parse.h" #include <linux/average.h> @@ -768,12 +770,16 @@ enum iwl_mvm_queue_status { struct iwl_mvm_sar_profile { bool enabled; +#ifdef CONFIG_ACPI u8 table[ACPI_SAR_TABLE_SIZE]; +#endif }; +#ifdef CONFIG_ACPI struct iwl_mvm_geo_profile { u8 values[ACPI_GEO_TABLE_SIZE]; }; +#endif struct iwl_mvm { /* for logger access */ diff --git a/drivers/net/wireless/intel/iwlwifi/mvm/nvm.c b/drivers/net/wireless/intel/iwlwifi/mvm/nvm.c index 4aa328b..66cf14a 100644 --- a/drivers/net/wireless/intel/iwlwifi/mvm/nvm.c +++ b/drivers/net/wireless/intel/iwlwifi/mvm/nvm.c @@ -75,7 +75,9 @@ #include "iwl-eeprom-read.h" #include "iwl-nvm-parse.h" #include "iwl-prph.h" +#ifdef CONFIG_ACPI #include "fw/acpi.h" +#endif /* Default NVM size to read */ #define IWL_NVM_DEFAULT_CHUNK_SIZE (2 * 1024) @@ -595,7 +597,7 @@ int iwl_mvm_init_mcc(struct iwl_mvm *mvm) regd = iwl_mvm_get_current_regdomain(mvm, NULL); if (IS_ERR_OR_NULL(regd)) return -EIO; - +#ifdef CONFIG_ACPI if (iwl_mvm_is_wifi_mcc_supported(mvm) && !iwl_acpi_get_mcc(mvm->dev, mcc)) { kfree(regd); @@ -604,7 +606,7 @@ int iwl_mvm_init_mcc(struct iwl_mvm *mvm) if (IS_ERR_OR_NULL(regd)) return -EIO; } - +#endif retval = regulatory_set_wiphy_regd_sync_rtnl(mvm->hw->wiphy, regd); kfree(regd); return retval; diff --git a/drivers/net/wireless/intel/iwlwifi/mvm/ops.c b/drivers/net/wireless/intel/iwlwifi/mvm/ops.c index caa72be..9902dd6 100644 --- a/drivers/net/wireless/intel/iwlwifi/mvm/ops.c +++ b/drivers/net/wireless/intel/iwlwifi/mvm/ops.c @@ -88,7 +88,9 @@ #include "time-event.h" #include "fw-api.h" #include "fw/api/scan.h" +#ifdef CONFIG_ACPI #include "fw/acpi.h" +#endif #define DRV_DESCRIPTION "The new Intel(R) wireless AGN driver for Linux" MODULE_DESCRIPTION(DRV_DESCRIPTION); @@ -498,8 +500,11 @@ static u32 iwl_mvm_min_backoff(struct iwl_mvm *mvm) if (!backoff) return 0; - +#ifdef CONFIG_ACPI dflt_pwr_limit = iwl_acpi_get_pwr_limit(mvm->dev); +#else + dflt_pwr_limit = 0; +#endif while (backoff->pwr) { if (dflt_pwr_limit >= backoff->pwr) diff --git a/drivers/net/wireless/intel/iwlwifi/pcie/drv.c b/drivers/net/wireless/intel/iwlwifi/pcie/drv.c index 0ed7d68..feba7d7 100644 --- a/drivers/net/wireless/intel/iwlwifi/pcie/drv.c +++ b/drivers/net/wireless/intel/iwlwifi/pcie/drv.c @@ -73,9 +73,11 @@ #include <linux/pm_runtime.h> #include <linux/pci.h> #include <linux/pci-aspm.h> -#include <linux/acpi.h> +#ifdef CONFIG_ACPI +#include <linux/acpi.h> #include "fw/acpi.h" +#endif #include "iwl-trans.h" #include "iwl-drv.h" diff --git a/drivers/net/wireless/intel/iwlwifi/pcie/rx.c b/drivers/net/wireless/intel/iwlwifi/pcie/rx.c index d15f5ba..0f6a767 100644 --- a/drivers/net/wireless/intel/iwlwifi/pcie/rx.c +++ b/drivers/net/wireless/intel/iwlwifi/pcie/rx.c @@ -38,6 +38,33 @@ #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/intel/iwlwifi/pcie/trans.c b/drivers/net/wireless/intel/iwlwifi/pcie/trans.c index 5613339..016b505 100644 --- a/drivers/net/wireless/intel/iwlwifi/pcie/trans.c +++ b/drivers/net/wireless/intel/iwlwifi/pcie/trans.c @@ -1950,10 +1950,19 @@ static void iwl_trans_pcie_removal_wk(struct work_struct *wk) dev_err(&pdev->dev, "Device gone - attempting removal\n"); kobject_uevent_env(&pdev->dev.kobj, KOBJ_CHANGE, prop); +#if LINUX_VERSION_IS_GEQ(3,14,0) pci_lock_rescan_remove(); +#endif pci_dev_put(pdev); +#if LINUX_VERSION_IS_LESS(3,2,0) + pci_stop_bus_device(pdev); + pci_remove_bus_device(pdev); +#else pci_stop_and_remove_bus_device(pdev); +#endif +#if LINUX_VERSION_IS_GEQ(3,14,0) pci_unlock_rescan_remove(); +#endif kfree(removal); module_put(THIS_MODULE); |