summaryrefslogtreecommitdiffstats
path: root/drivers/net/wireless/iwlwifi/iwl4965-base.c
diff options
context:
space:
mode:
authorRon Rindjunsky2008-04-16 01:01:41 +0200
committerJohn W. Linville2008-04-16 22:00:00 +0200
commitfed9017e03f23098137716bd6010772ac1aa8a80 (patch)
treeac2e76ca65c84dbfeca758930191f86658ed1948 /drivers/net/wireless/iwlwifi/iwl4965-base.c
parentiwlwifi: move the creation of LQ host command to iwlcore (diff)
downloadkernel-qcow2-linux-fed9017e03f23098137716bd6010772ac1aa8a80.tar.gz
kernel-qcow2-linux-fed9017e03f23098137716bd6010772ac1aa8a80.tar.xz
kernel-qcow2-linux-fed9017e03f23098137716bd6010772ac1aa8a80.zip
iwlwifi: move HW device registration
This patch moves the HW device registration from the iwl-4965.c file, which implies a HW specific support, to a more general location. Signed-off-by: Ron Rindjunsky <ron.rindjunsky@intel.com> Signed-off-by: Tomas Winkler <tomas.winkler@intel.com> Signed-off-by: John W. Linville <linville@tuxdriver.com>
Diffstat (limited to 'drivers/net/wireless/iwlwifi/iwl4965-base.c')
-rw-r--r--drivers/net/wireless/iwlwifi/iwl4965-base.c22
1 files changed, 15 insertions, 7 deletions
diff --git a/drivers/net/wireless/iwlwifi/iwl4965-base.c b/drivers/net/wireless/iwlwifi/iwl4965-base.c
index c71910df62aa..249af4156c13 100644
--- a/drivers/net/wireless/iwlwifi/iwl4965-base.c
+++ b/drivers/net/wireless/iwlwifi/iwl4965-base.c
@@ -8020,9 +8020,17 @@ static int iwl4965_pci_resume(struct pci_dev *pdev)
*
*****************************************************************************/
-static struct pci_driver iwl4965_driver = {
+/* Hardware specific file defines the PCI IDs table for that hardware module */
+static struct pci_device_id iwl_hw_card_ids[] = {
+ {IWL_PCI_DEVICE(0x4229, PCI_ANY_ID, iwl4965_agn_cfg)},
+ {IWL_PCI_DEVICE(0x4230, PCI_ANY_ID, iwl4965_agn_cfg)},
+ {0}
+};
+MODULE_DEVICE_TABLE(pci, iwl_hw_card_ids);
+
+static struct pci_driver iwl_driver = {
.name = DRV_NAME,
- .id_table = iwl4965_hw_card_ids,
+ .id_table = iwl_hw_card_ids,
.probe = iwl4965_pci_probe,
.remove = __devexit_p(iwl4965_pci_remove),
#ifdef CONFIG_PM
@@ -8044,13 +8052,13 @@ static int __init iwl4965_init(void)
return ret;
}
- ret = pci_register_driver(&iwl4965_driver);
+ ret = pci_register_driver(&iwl_driver);
if (ret) {
IWL_ERROR("Unable to initialize PCI module\n");
goto error_register;
}
#ifdef CONFIG_IWLWIFI_DEBUG
- ret = driver_create_file(&iwl4965_driver.driver, &driver_attr_debug_level);
+ ret = driver_create_file(&iwl_driver.driver, &driver_attr_debug_level);
if (ret) {
IWL_ERROR("Unable to create driver sysfs file\n");
goto error_debug;
@@ -8061,7 +8069,7 @@ static int __init iwl4965_init(void)
#ifdef CONFIG_IWLWIFI_DEBUG
error_debug:
- pci_unregister_driver(&iwl4965_driver);
+ pci_unregister_driver(&iwl_driver);
#endif
error_register:
iwl4965_rate_control_unregister();
@@ -8071,9 +8079,9 @@ error_register:
static void __exit iwl4965_exit(void)
{
#ifdef CONFIG_IWLWIFI_DEBUG
- driver_remove_file(&iwl4965_driver.driver, &driver_attr_debug_level);
+ driver_remove_file(&iwl_driver.driver, &driver_attr_debug_level);
#endif
- pci_unregister_driver(&iwl4965_driver);
+ pci_unregister_driver(&iwl_driver);
iwl4965_rate_control_unregister();
}