summaryrefslogtreecommitdiffstats
path: root/drivers/net/wireless/iwlwifi/iwl-agn.c
diff options
context:
space:
mode:
authorDon Fry2012-05-16 22:54:27 +0200
committerJohn W. Linville2012-06-05 21:32:13 +0200
commitcc5f7e39761382d3a44be70bb665c2c78ae15dac (patch)
tree6651c35803805e8dadda1b57313134fc5ce41c4d /drivers/net/wireless/iwlwifi/iwl-agn.c
parentiwlwifi: move IWL_CMD_FAILED_MSK (diff)
downloadkernel-qcow2-linux-cc5f7e39761382d3a44be70bb665c2c78ae15dac.tar.gz
kernel-qcow2-linux-cc5f7e39761382d3a44be70bb665c2c78ae15dac.tar.xz
kernel-qcow2-linux-cc5f7e39761382d3a44be70bb665c2c78ae15dac.zip
iwlwifi: implement dynamic opmode loading
This is the next step in splitting up the driver, making the uCode API dependent pieces of it live in separate modules. Right now there's only one so it's not user-selectable, but we're actively working on more. Reviewed-by: Emmanuel Grumbach <emmanuel.grumbach@intel.com> Signed-off-by: Don Fry <donald.h.fry@intel.com> Signed-off-by: Johannes Berg <johannes.berg@intel.com> Signed-off-by: John W. Linville <linville@tuxdriver.com>
Diffstat (limited to 'drivers/net/wireless/iwlwifi/iwl-agn.c')
-rw-r--r--drivers/net/wireless/iwlwifi/iwl-agn.c16
1 files changed, 8 insertions, 8 deletions
diff --git a/drivers/net/wireless/iwlwifi/iwl-agn.c b/drivers/net/wireless/iwlwifi/iwl-agn.c
index ec36e2b020b6..5149e6f72945 100644
--- a/drivers/net/wireless/iwlwifi/iwl-agn.c
+++ b/drivers/net/wireless/iwlwifi/iwl-agn.c
@@ -78,7 +78,6 @@ MODULE_DESCRIPTION(DRV_DESCRIPTION);
MODULE_VERSION(DRV_VERSION);
MODULE_AUTHOR(DRV_COPYRIGHT " " DRV_AUTHOR);
MODULE_LICENSE("GPL");
-MODULE_ALIAS("iwlagn");
void iwl_update_chain_flags(struct iwl_priv *priv)
{
@@ -2344,24 +2343,25 @@ static int __init iwl_init(void)
goto error_rc_register;
}
- ret = iwl_pci_register_driver();
- if (ret)
- goto error_pci_register;
+ ret = iwl_opmode_register("iwldvm", &iwl_dvm_ops);
+ if (ret) {
+ pr_err("Unable to register op_mode: %d\n", ret);
+ goto error_opmode_register;
+ }
return ret;
-error_pci_register:
+error_opmode_register:
iwlagn_rate_control_unregister();
error_rc_register:
kmem_cache_destroy(iwl_tx_cmd_pool);
return ret;
}
+module_init(iwl_init);
static void __exit iwl_exit(void)
{
- iwl_pci_unregister_driver();
+ iwl_opmode_deregister("iwldvm");
iwlagn_rate_control_unregister();
kmem_cache_destroy(iwl_tx_cmd_pool);
}
-
module_exit(iwl_exit);
-module_init(iwl_init);