aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/net
diff options
context:
space:
mode:
authorJohannes Berg <johannes.berg@intel.com>2011-04-05 12:42:11 -0400
committerJohn W. Linville <linville@tuxdriver.com>2011-04-07 15:52:28 -0400
commit519d8abd358afad825a1b919a2421d76779f23cd (patch)
tree33de73633b1aeb0d207d56a4eb8a8820251904f3 /drivers/net
parent0e5884458eeadbb48ab3eb1d5f63b4a53a044a95 (diff)
iwlagn: remove ISR ops
The ISR (interrupt service routine) ops are now no longer necessary since they are the same for all devices this driver now handles. Signed-off-by: Johannes Berg <johannes.berg@intel.com> Signed-off-by: Wey-Yi Guy <wey-yi.w.guy@intel.com> Signed-off-by: John W. Linville <linville@tuxdriver.com>
Diffstat (limited to 'drivers/net')
-rw-r--r--drivers/net/wireless/iwlwifi/iwl-1000.c7
-rw-r--r--drivers/net/wireless/iwlwifi/iwl-2000.c7
-rw-r--r--drivers/net/wireless/iwlwifi/iwl-5000.c14
-rw-r--r--drivers/net/wireless/iwlwifi/iwl-6000.c14
-rw-r--r--drivers/net/wireless/iwlwifi/iwl-agn.c17
-rw-r--r--drivers/net/wireless/iwlwifi/iwl-core.h11
6 files changed, 6 insertions, 64 deletions
diff --git a/drivers/net/wireless/iwlwifi/iwl-1000.c b/drivers/net/wireless/iwlwifi/iwl-1000.c
index de5b287920b4..1b2799291834 100644
--- a/drivers/net/wireless/iwlwifi/iwl-1000.c
+++ b/drivers/net/wireless/iwlwifi/iwl-1000.c
@@ -209,13 +209,6 @@ static struct iwl_lib_ops iwl1000_lib = {
209 .calib_version = iwlagn_eeprom_calib_version, 209 .calib_version = iwlagn_eeprom_calib_version,
210 .query_addr = iwlagn_eeprom_query_addr, 210 .query_addr = iwlagn_eeprom_query_addr,
211 }, 211 },
212 .isr_ops = {
213 .isr = iwl_isr_ict,
214 .free = iwl_free_isr_ict,
215 .alloc = iwl_alloc_isr_ict,
216 .reset = iwl_reset_ict,
217 .disable = iwl_disable_ict,
218 },
219 .temp_ops = { 212 .temp_ops = {
220 .temperature = iwlagn_temperature, 213 .temperature = iwlagn_temperature,
221 }, 214 },
diff --git a/drivers/net/wireless/iwlwifi/iwl-2000.c b/drivers/net/wireless/iwlwifi/iwl-2000.c
index d22e0069801c..f602af4b9408 100644
--- a/drivers/net/wireless/iwlwifi/iwl-2000.c
+++ b/drivers/net/wireless/iwlwifi/iwl-2000.c
@@ -292,13 +292,6 @@ static struct iwl_lib_ops iwl2000_lib = {
292 .query_addr = iwlagn_eeprom_query_addr, 292 .query_addr = iwlagn_eeprom_query_addr,
293 .update_enhanced_txpower = iwlcore_eeprom_enhanced_txpower, 293 .update_enhanced_txpower = iwlcore_eeprom_enhanced_txpower,
294 }, 294 },
295 .isr_ops = {
296 .isr = iwl_isr_ict,
297 .free = iwl_free_isr_ict,
298 .alloc = iwl_alloc_isr_ict,
299 .reset = iwl_reset_ict,
300 .disable = iwl_disable_ict,
301 },
302 .temp_ops = { 295 .temp_ops = {
303 .temperature = iwlagn_temperature, 296 .temperature = iwlagn_temperature,
304 }, 297 },
diff --git a/drivers/net/wireless/iwlwifi/iwl-5000.c b/drivers/net/wireless/iwlwifi/iwl-5000.c
index de0e86a5d2f7..fb00464cead5 100644
--- a/drivers/net/wireless/iwlwifi/iwl-5000.c
+++ b/drivers/net/wireless/iwlwifi/iwl-5000.c
@@ -378,13 +378,6 @@ static struct iwl_lib_ops iwl5000_lib = {
378 .calib_version = iwlagn_eeprom_calib_version, 378 .calib_version = iwlagn_eeprom_calib_version,
379 .query_addr = iwlagn_eeprom_query_addr, 379 .query_addr = iwlagn_eeprom_query_addr,
380 }, 380 },
381 .isr_ops = {
382 .isr = iwl_isr_ict,
383 .free = iwl_free_isr_ict,
384 .alloc = iwl_alloc_isr_ict,
385 .reset = iwl_reset_ict,
386 .disable = iwl_disable_ict,
387 },
388 .temp_ops = { 381 .temp_ops = {
389 .temperature = iwlagn_temperature, 382 .temperature = iwlagn_temperature,
390 }, 383 },
@@ -440,13 +433,6 @@ static struct iwl_lib_ops iwl5150_lib = {
440 .calib_version = iwlagn_eeprom_calib_version, 433 .calib_version = iwlagn_eeprom_calib_version,
441 .query_addr = iwlagn_eeprom_query_addr, 434 .query_addr = iwlagn_eeprom_query_addr,
442 }, 435 },
443 .isr_ops = {
444 .isr = iwl_isr_ict,
445 .free = iwl_free_isr_ict,
446 .alloc = iwl_alloc_isr_ict,
447 .reset = iwl_reset_ict,
448 .disable = iwl_disable_ict,
449 },
450 .temp_ops = { 436 .temp_ops = {
451 .temperature = iwl5150_temperature, 437 .temperature = iwl5150_temperature,
452 }, 438 },
diff --git a/drivers/net/wireless/iwlwifi/iwl-6000.c b/drivers/net/wireless/iwlwifi/iwl-6000.c
index be2dbf7bd808..24d105b29aec 100644
--- a/drivers/net/wireless/iwlwifi/iwl-6000.c
+++ b/drivers/net/wireless/iwlwifi/iwl-6000.c
@@ -320,13 +320,6 @@ static struct iwl_lib_ops iwl6000_lib = {
320 .query_addr = iwlagn_eeprom_query_addr, 320 .query_addr = iwlagn_eeprom_query_addr,
321 .update_enhanced_txpower = iwlcore_eeprom_enhanced_txpower, 321 .update_enhanced_txpower = iwlcore_eeprom_enhanced_txpower,
322 }, 322 },
323 .isr_ops = {
324 .isr = iwl_isr_ict,
325 .free = iwl_free_isr_ict,
326 .alloc = iwl_alloc_isr_ict,
327 .reset = iwl_reset_ict,
328 .disable = iwl_disable_ict,
329 },
330 .temp_ops = { 323 .temp_ops = {
331 .temperature = iwlagn_temperature, 324 .temperature = iwlagn_temperature,
332 }, 325 },
@@ -385,13 +378,6 @@ static struct iwl_lib_ops iwl6030_lib = {
385 .query_addr = iwlagn_eeprom_query_addr, 378 .query_addr = iwlagn_eeprom_query_addr,
386 .update_enhanced_txpower = iwlcore_eeprom_enhanced_txpower, 379 .update_enhanced_txpower = iwlcore_eeprom_enhanced_txpower,
387 }, 380 },
388 .isr_ops = {
389 .isr = iwl_isr_ict,
390 .free = iwl_free_isr_ict,
391 .alloc = iwl_alloc_isr_ict,
392 .reset = iwl_reset_ict,
393 .disable = iwl_disable_ict,
394 },
395 .temp_ops = { 381 .temp_ops = {
396 .temperature = iwlagn_temperature, 382 .temperature = iwlagn_temperature,
397 }, 383 },
diff --git a/drivers/net/wireless/iwlwifi/iwl-agn.c b/drivers/net/wireless/iwlwifi/iwl-agn.c
index 08bad17ca0ed..fd3aed8ed960 100644
--- a/drivers/net/wireless/iwlwifi/iwl-agn.c
+++ b/drivers/net/wireless/iwlwifi/iwl-agn.c
@@ -2397,8 +2397,7 @@ static void __iwl_down(struct iwl_priv *priv)
2397 STATUS_EXIT_PENDING; 2397 STATUS_EXIT_PENDING;
2398 2398
2399 /* device going down, Stop using ICT table */ 2399 /* device going down, Stop using ICT table */
2400 if (priv->cfg->ops->lib->isr_ops.disable) 2400 iwl_disable_ict(priv);
2401 priv->cfg->ops->lib->isr_ops.disable(priv);
2402 2401
2403 iwlagn_txq_ctx_stop(priv); 2402 iwlagn_txq_ctx_stop(priv);
2404 iwlagn_rxq_stop(priv); 2403 iwlagn_rxq_stop(priv);
@@ -2606,8 +2605,7 @@ static void iwl_bg_alive_start(struct work_struct *data)
2606 goto unlock; 2605 goto unlock;
2607 2606
2608 /* enable dram interrupt */ 2607 /* enable dram interrupt */
2609 if (priv->cfg->ops->lib->isr_ops.reset) 2608 iwl_reset_ict(priv);
2610 priv->cfg->ops->lib->isr_ops.reset(priv);
2611 2609
2612 iwl_alive_start(priv); 2610 iwl_alive_start(priv);
2613unlock: 2611unlock:
@@ -3958,10 +3956,9 @@ static int iwl_pci_probe(struct pci_dev *pdev, const struct pci_device_id *ent)
3958 3956
3959 pci_enable_msi(priv->pci_dev); 3957 pci_enable_msi(priv->pci_dev);
3960 3958
3961 if (priv->cfg->ops->lib->isr_ops.alloc) 3959 iwl_alloc_isr_ict(priv);
3962 priv->cfg->ops->lib->isr_ops.alloc(priv);
3963 3960
3964 err = request_irq(priv->pci_dev->irq, priv->cfg->ops->lib->isr_ops.isr, 3961 err = request_irq(priv->pci_dev->irq, iwl_isr_ict,
3965 IRQF_SHARED, DRV_NAME, priv); 3962 IRQF_SHARED, DRV_NAME, priv);
3966 if (err) { 3963 if (err) {
3967 IWL_ERR(priv, "Error allocating IRQ %d\n", priv->pci_dev->irq); 3964 IWL_ERR(priv, "Error allocating IRQ %d\n", priv->pci_dev->irq);
@@ -4008,8 +4005,7 @@ static int iwl_pci_probe(struct pci_dev *pdev, const struct pci_device_id *ent)
4008 destroy_workqueue(priv->workqueue); 4005 destroy_workqueue(priv->workqueue);
4009 priv->workqueue = NULL; 4006 priv->workqueue = NULL;
4010 free_irq(priv->pci_dev->irq, priv); 4007 free_irq(priv->pci_dev->irq, priv);
4011 if (priv->cfg->ops->lib->isr_ops.free) 4008 iwl_free_isr_ict(priv);
4012 priv->cfg->ops->lib->isr_ops.free(priv);
4013 out_disable_msi: 4009 out_disable_msi:
4014 pci_disable_msi(priv->pci_dev); 4010 pci_disable_msi(priv->pci_dev);
4015 iwl_uninit_drv(priv); 4011 iwl_uninit_drv(priv);
@@ -4107,8 +4103,7 @@ static void __devexit iwl_pci_remove(struct pci_dev *pdev)
4107 4103
4108 iwl_uninit_drv(priv); 4104 iwl_uninit_drv(priv);
4109 4105
4110 if (priv->cfg->ops->lib->isr_ops.free) 4106 iwl_free_isr_ict(priv);
4111 priv->cfg->ops->lib->isr_ops.free(priv);
4112 4107
4113 dev_kfree_skb(priv->beacon_skb); 4108 dev_kfree_skb(priv->beacon_skb);
4114 4109
diff --git a/drivers/net/wireless/iwlwifi/iwl-core.h b/drivers/net/wireless/iwlwifi/iwl-core.h
index ada76af124a4..82939f851eb9 100644
--- a/drivers/net/wireless/iwlwifi/iwl-core.h
+++ b/drivers/net/wireless/iwlwifi/iwl-core.h
@@ -122,14 +122,6 @@ struct iwl_apm_ops {
122 void (*config)(struct iwl_priv *priv); 122 void (*config)(struct iwl_priv *priv);
123}; 123};
124 124
125struct iwl_isr_ops {
126 irqreturn_t (*isr) (int irq, void *data);
127 void (*free)(struct iwl_priv *priv);
128 int (*alloc)(struct iwl_priv *priv);
129 int (*reset)(struct iwl_priv *priv);
130 void (*disable)(struct iwl_priv *priv);
131};
132
133struct iwl_debugfs_ops { 125struct iwl_debugfs_ops {
134 ssize_t (*rx_stats_read)(struct file *file, char __user *user_buf, 126 ssize_t (*rx_stats_read)(struct file *file, char __user *user_buf,
135 size_t count, loff_t *ppos); 127 size_t count, loff_t *ppos);
@@ -194,9 +186,6 @@ struct iwl_lib_ops {
194 int (*send_tx_power) (struct iwl_priv *priv); 186 int (*send_tx_power) (struct iwl_priv *priv);
195 void (*update_chain_flags)(struct iwl_priv *priv); 187 void (*update_chain_flags)(struct iwl_priv *priv);
196 188
197 /* isr */
198 struct iwl_isr_ops isr_ops;
199
200 /* eeprom operations (as defined in iwl-eeprom.h) */ 189 /* eeprom operations (as defined in iwl-eeprom.h) */
201 struct iwl_eeprom_ops eeprom_ops; 190 struct iwl_eeprom_ops eeprom_ops;
202 191