summaryrefslogtreecommitdiff
path: root/drivers/net/wireless/intel/iwlwifi/pcie/drv.c
diff options
context:
space:
mode:
authorLuca Coelho <luciano.coelho@intel.com>2017-09-28 15:18:33 +0300
committerLuca Coelho <luciano.coelho@intel.com>2017-10-06 15:22:33 +0300
commit1184611ee88f309fe4a6ca3d50bde762434e386e (patch)
tree2001c476450f2c3b9203c1e10b89cbc4859436b9 /drivers/net/wireless/intel/iwlwifi/pcie/drv.c
parente59a00f4884815a2887837b9d34e0ae59c41d3d3 (diff)
iwlwifi: acpi: move code that reads SPLC to acpi
Move most of the set_dflt_pwr_limit() function to acpi.c and make it return the pwr_limit value instead of setting directly. Also rename it to iwl_acpi_get_pwr_limit(). Signed-off-by: Luca Coelho <luciano.coelho@intel.com>
Diffstat (limited to 'drivers/net/wireless/intel/iwlwifi/pcie/drv.c')
-rw-r--r--drivers/net/wireless/intel/iwlwifi/pcie/drv.c25
1 files changed, 2 insertions, 23 deletions
diff --git a/drivers/net/wireless/intel/iwlwifi/pcie/drv.c b/drivers/net/wireless/intel/iwlwifi/pcie/drv.c
index 08f71b4297be..d81f2414fd8e 100644
--- a/drivers/net/wireless/intel/iwlwifi/pcie/drv.c
+++ b/drivers/net/wireless/intel/iwlwifi/pcie/drv.c
@@ -78,6 +78,7 @@
#include "iwl-trans.h"
#include "iwl-drv.h"
#include "internal.h"
+#include "fw/acpi.h"
#define IWL_PCI_DEVICE(dev, subdev, cfg) \
.vendor = PCI_VENDOR_ID_INTEL, .device = (dev), \
@@ -587,28 +588,6 @@ static const struct pci_device_id iwl_hw_card_ids[] = {
};
MODULE_DEVICE_TABLE(pci, iwl_hw_card_ids);
-static void set_dflt_pwr_limit(struct iwl_trans *trans, struct pci_dev *pdev)
-{
- union acpi_object *data, *wifi_pkg;
-
- data = iwl_acpi_get_object(trans->dev, ACPI_SPLC_METHOD);
- if (IS_ERR(data))
- return;
-
- wifi_pkg = iwl_acpi_get_wifi_pkg(trans->dev, data,
- ACPI_SPLC_WIFI_DATA_SIZE);
- if (IS_ERR(wifi_pkg) ||
- wifi_pkg->package.elements[1].integer.value != ACPI_TYPE_INTEGER)
- goto out;
-
- trans->dflt_pwr_limit = wifi_pkg->package.elements[1].integer.value;
-
- IWL_DEBUG_INFO(trans, "Default power limit set to %lld\n",
- trans->dflt_pwr_limit);
-out:
- kfree(data);
-}
-
/* PCI registers */
#define PCI_CFG_RETRY_TIMEOUT 0x041
@@ -672,7 +651,7 @@ static int iwl_pci_probe(struct pci_dev *pdev, const struct pci_device_id *ent)
goto out_free_trans;
}
- set_dflt_pwr_limit(iwl_trans, pdev);
+ iwl_trans->dflt_pwr_limit = iwl_acpi_get_pwr_limit(iwl_trans->dev);
/* register transport layer debugfs here */
ret = iwl_trans_pcie_dbgfs_register(iwl_trans);