iwlwifi: move the RF kill logic from iwl_probe to transport
This is another clean up of the proble flow. Signed-off-by: Emmanuel Grumbach <emmanuel.grumbach@intel.com> Signed-off-by: Wey-Yi Guy <wey-yi.w.guy@intel.com>
This commit is contained in:
committed by
Wey-Yi Guy
parent
cc56feb2eb
commit
d48e2074e2
@@ -1815,13 +1815,6 @@ int iwl_probe(struct iwl_bus *bus, const struct iwl_trans_ops *trans_ops,
|
|||||||
spin_lock_init(&trans(priv)->reg_lock);
|
spin_lock_init(&trans(priv)->reg_lock);
|
||||||
spin_lock_init(&priv->shrd->lock);
|
spin_lock_init(&priv->shrd->lock);
|
||||||
|
|
||||||
/*
|
|
||||||
* stop and reset the on-board processor just in case it is in a
|
|
||||||
* strange state ... like being left stranded by a primary kernel
|
|
||||||
* and this is now the kdump kernel trying to start up
|
|
||||||
*/
|
|
||||||
iwl_write32(trans(priv), CSR_RESET, CSR_RESET_REG_FLAG_NEVO_RESET);
|
|
||||||
|
|
||||||
/***********************
|
/***********************
|
||||||
* 3. Read REV register
|
* 3. Read REV register
|
||||||
***********************/
|
***********************/
|
||||||
@@ -1890,22 +1883,6 @@ int iwl_probe(struct iwl_bus *bus, const struct iwl_trans_ops *trans_ops,
|
|||||||
iwl_setup_rx_handlers(priv);
|
iwl_setup_rx_handlers(priv);
|
||||||
iwl_testmode_init(priv);
|
iwl_testmode_init(priv);
|
||||||
|
|
||||||
/*********************************************
|
|
||||||
* 8. Enable interrupts
|
|
||||||
*********************************************/
|
|
||||||
|
|
||||||
iwl_enable_rfkill_int(priv);
|
|
||||||
|
|
||||||
/* If platform's RF_KILL switch is NOT set to KILL */
|
|
||||||
if (iwl_read32(trans(priv),
|
|
||||||
CSR_GP_CNTRL) & CSR_GP_CNTRL_REG_FLAG_HW_RF_KILL_SW)
|
|
||||||
clear_bit(STATUS_RF_KILL_HW, &priv->shrd->status);
|
|
||||||
else
|
|
||||||
set_bit(STATUS_RF_KILL_HW, &priv->shrd->status);
|
|
||||||
|
|
||||||
wiphy_rfkill_set_hw_state(priv->hw->wiphy,
|
|
||||||
test_bit(STATUS_RF_KILL_HW, &priv->shrd->status));
|
|
||||||
|
|
||||||
iwl_power_initialize(priv);
|
iwl_power_initialize(priv);
|
||||||
iwl_tt_initialize(priv);
|
iwl_tt_initialize(priv);
|
||||||
|
|
||||||
|
@@ -1393,6 +1393,17 @@ static int iwl_trans_pcie_start_hw(struct iwl_trans *trans)
|
|||||||
|
|
||||||
iwl_apm_init(trans);
|
iwl_apm_init(trans);
|
||||||
|
|
||||||
|
/* If platform's RF_KILL switch is NOT set to KILL */
|
||||||
|
if (iwl_read32(trans,
|
||||||
|
CSR_GP_CNTRL) & CSR_GP_CNTRL_REG_FLAG_HW_RF_KILL_SW)
|
||||||
|
clear_bit(STATUS_RF_KILL_HW, &trans->shrd->status);
|
||||||
|
else
|
||||||
|
set_bit(STATUS_RF_KILL_HW, &trans->shrd->status);
|
||||||
|
|
||||||
|
iwl_set_hw_rfkill_state(priv(trans),
|
||||||
|
test_bit(STATUS_RF_KILL_HW,
|
||||||
|
&trans->shrd->status));
|
||||||
|
|
||||||
return err;
|
return err;
|
||||||
|
|
||||||
error:
|
error:
|
||||||
|
Reference in New Issue
Block a user