提交 519d8abd 编写于 作者: J Johannes Berg 提交者: John W. Linville

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: NJohannes Berg <johannes.berg@intel.com>
Signed-off-by: NWey-Yi Guy <wey-yi.w.guy@intel.com>
Signed-off-by: NJohn W. Linville <linville@tuxdriver.com>
上级 0e588445
...@@ -209,13 +209,6 @@ static struct iwl_lib_ops iwl1000_lib = { ...@@ -209,13 +209,6 @@ static struct iwl_lib_ops iwl1000_lib = {
.calib_version = iwlagn_eeprom_calib_version, .calib_version = iwlagn_eeprom_calib_version,
.query_addr = iwlagn_eeprom_query_addr, .query_addr = iwlagn_eeprom_query_addr,
}, },
.isr_ops = {
.isr = iwl_isr_ict,
.free = iwl_free_isr_ict,
.alloc = iwl_alloc_isr_ict,
.reset = iwl_reset_ict,
.disable = iwl_disable_ict,
},
.temp_ops = { .temp_ops = {
.temperature = iwlagn_temperature, .temperature = iwlagn_temperature,
}, },
......
...@@ -292,13 +292,6 @@ static struct iwl_lib_ops iwl2000_lib = { ...@@ -292,13 +292,6 @@ static struct iwl_lib_ops iwl2000_lib = {
.query_addr = iwlagn_eeprom_query_addr, .query_addr = iwlagn_eeprom_query_addr,
.update_enhanced_txpower = iwlcore_eeprom_enhanced_txpower, .update_enhanced_txpower = iwlcore_eeprom_enhanced_txpower,
}, },
.isr_ops = {
.isr = iwl_isr_ict,
.free = iwl_free_isr_ict,
.alloc = iwl_alloc_isr_ict,
.reset = iwl_reset_ict,
.disable = iwl_disable_ict,
},
.temp_ops = { .temp_ops = {
.temperature = iwlagn_temperature, .temperature = iwlagn_temperature,
}, },
......
...@@ -378,13 +378,6 @@ static struct iwl_lib_ops iwl5000_lib = { ...@@ -378,13 +378,6 @@ static struct iwl_lib_ops iwl5000_lib = {
.calib_version = iwlagn_eeprom_calib_version, .calib_version = iwlagn_eeprom_calib_version,
.query_addr = iwlagn_eeprom_query_addr, .query_addr = iwlagn_eeprom_query_addr,
}, },
.isr_ops = {
.isr = iwl_isr_ict,
.free = iwl_free_isr_ict,
.alloc = iwl_alloc_isr_ict,
.reset = iwl_reset_ict,
.disable = iwl_disable_ict,
},
.temp_ops = { .temp_ops = {
.temperature = iwlagn_temperature, .temperature = iwlagn_temperature,
}, },
...@@ -440,13 +433,6 @@ static struct iwl_lib_ops iwl5150_lib = { ...@@ -440,13 +433,6 @@ static struct iwl_lib_ops iwl5150_lib = {
.calib_version = iwlagn_eeprom_calib_version, .calib_version = iwlagn_eeprom_calib_version,
.query_addr = iwlagn_eeprom_query_addr, .query_addr = iwlagn_eeprom_query_addr,
}, },
.isr_ops = {
.isr = iwl_isr_ict,
.free = iwl_free_isr_ict,
.alloc = iwl_alloc_isr_ict,
.reset = iwl_reset_ict,
.disable = iwl_disable_ict,
},
.temp_ops = { .temp_ops = {
.temperature = iwl5150_temperature, .temperature = iwl5150_temperature,
}, },
......
...@@ -320,13 +320,6 @@ static struct iwl_lib_ops iwl6000_lib = { ...@@ -320,13 +320,6 @@ static struct iwl_lib_ops iwl6000_lib = {
.query_addr = iwlagn_eeprom_query_addr, .query_addr = iwlagn_eeprom_query_addr,
.update_enhanced_txpower = iwlcore_eeprom_enhanced_txpower, .update_enhanced_txpower = iwlcore_eeprom_enhanced_txpower,
}, },
.isr_ops = {
.isr = iwl_isr_ict,
.free = iwl_free_isr_ict,
.alloc = iwl_alloc_isr_ict,
.reset = iwl_reset_ict,
.disable = iwl_disable_ict,
},
.temp_ops = { .temp_ops = {
.temperature = iwlagn_temperature, .temperature = iwlagn_temperature,
}, },
...@@ -385,13 +378,6 @@ static struct iwl_lib_ops iwl6030_lib = { ...@@ -385,13 +378,6 @@ static struct iwl_lib_ops iwl6030_lib = {
.query_addr = iwlagn_eeprom_query_addr, .query_addr = iwlagn_eeprom_query_addr,
.update_enhanced_txpower = iwlcore_eeprom_enhanced_txpower, .update_enhanced_txpower = iwlcore_eeprom_enhanced_txpower,
}, },
.isr_ops = {
.isr = iwl_isr_ict,
.free = iwl_free_isr_ict,
.alloc = iwl_alloc_isr_ict,
.reset = iwl_reset_ict,
.disable = iwl_disable_ict,
},
.temp_ops = { .temp_ops = {
.temperature = iwlagn_temperature, .temperature = iwlagn_temperature,
}, },
......
...@@ -2397,8 +2397,7 @@ static void __iwl_down(struct iwl_priv *priv) ...@@ -2397,8 +2397,7 @@ static void __iwl_down(struct iwl_priv *priv)
STATUS_EXIT_PENDING; STATUS_EXIT_PENDING;
/* device going down, Stop using ICT table */ /* device going down, Stop using ICT table */
if (priv->cfg->ops->lib->isr_ops.disable) iwl_disable_ict(priv);
priv->cfg->ops->lib->isr_ops.disable(priv);
iwlagn_txq_ctx_stop(priv); iwlagn_txq_ctx_stop(priv);
iwlagn_rxq_stop(priv); iwlagn_rxq_stop(priv);
...@@ -2606,8 +2605,7 @@ static void iwl_bg_alive_start(struct work_struct *data) ...@@ -2606,8 +2605,7 @@ static void iwl_bg_alive_start(struct work_struct *data)
goto unlock; goto unlock;
/* enable dram interrupt */ /* enable dram interrupt */
if (priv->cfg->ops->lib->isr_ops.reset) iwl_reset_ict(priv);
priv->cfg->ops->lib->isr_ops.reset(priv);
iwl_alive_start(priv); iwl_alive_start(priv);
unlock: unlock:
...@@ -3958,10 +3956,9 @@ static int iwl_pci_probe(struct pci_dev *pdev, const struct pci_device_id *ent) ...@@ -3958,10 +3956,9 @@ static int iwl_pci_probe(struct pci_dev *pdev, const struct pci_device_id *ent)
pci_enable_msi(priv->pci_dev); pci_enable_msi(priv->pci_dev);
if (priv->cfg->ops->lib->isr_ops.alloc) iwl_alloc_isr_ict(priv);
priv->cfg->ops->lib->isr_ops.alloc(priv);
err = request_irq(priv->pci_dev->irq, priv->cfg->ops->lib->isr_ops.isr, err = request_irq(priv->pci_dev->irq, iwl_isr_ict,
IRQF_SHARED, DRV_NAME, priv); IRQF_SHARED, DRV_NAME, priv);
if (err) { if (err) {
IWL_ERR(priv, "Error allocating IRQ %d\n", priv->pci_dev->irq); 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,8 +4005,7 @@ static int iwl_pci_probe(struct pci_dev *pdev, const struct pci_device_id *ent)
destroy_workqueue(priv->workqueue); destroy_workqueue(priv->workqueue);
priv->workqueue = NULL; priv->workqueue = NULL;
free_irq(priv->pci_dev->irq, priv); free_irq(priv->pci_dev->irq, priv);
if (priv->cfg->ops->lib->isr_ops.free) iwl_free_isr_ict(priv);
priv->cfg->ops->lib->isr_ops.free(priv);
out_disable_msi: out_disable_msi:
pci_disable_msi(priv->pci_dev); pci_disable_msi(priv->pci_dev);
iwl_uninit_drv(priv); iwl_uninit_drv(priv);
...@@ -4107,8 +4103,7 @@ static void __devexit iwl_pci_remove(struct pci_dev *pdev) ...@@ -4107,8 +4103,7 @@ static void __devexit iwl_pci_remove(struct pci_dev *pdev)
iwl_uninit_drv(priv); iwl_uninit_drv(priv);
if (priv->cfg->ops->lib->isr_ops.free) iwl_free_isr_ict(priv);
priv->cfg->ops->lib->isr_ops.free(priv);
dev_kfree_skb(priv->beacon_skb); dev_kfree_skb(priv->beacon_skb);
......
...@@ -122,14 +122,6 @@ struct iwl_apm_ops { ...@@ -122,14 +122,6 @@ struct iwl_apm_ops {
void (*config)(struct iwl_priv *priv); void (*config)(struct iwl_priv *priv);
}; };
struct iwl_isr_ops {
irqreturn_t (*isr) (int irq, void *data);
void (*free)(struct iwl_priv *priv);
int (*alloc)(struct iwl_priv *priv);
int (*reset)(struct iwl_priv *priv);
void (*disable)(struct iwl_priv *priv);
};
struct iwl_debugfs_ops { struct iwl_debugfs_ops {
ssize_t (*rx_stats_read)(struct file *file, char __user *user_buf, ssize_t (*rx_stats_read)(struct file *file, char __user *user_buf,
size_t count, loff_t *ppos); size_t count, loff_t *ppos);
...@@ -194,9 +186,6 @@ struct iwl_lib_ops { ...@@ -194,9 +186,6 @@ struct iwl_lib_ops {
int (*send_tx_power) (struct iwl_priv *priv); int (*send_tx_power) (struct iwl_priv *priv);
void (*update_chain_flags)(struct iwl_priv *priv); void (*update_chain_flags)(struct iwl_priv *priv);
/* isr */
struct iwl_isr_ops isr_ops;
/* eeprom operations (as defined in iwl-eeprom.h) */ /* eeprom operations (as defined in iwl-eeprom.h) */
struct iwl_eeprom_ops eeprom_ops; struct iwl_eeprom_ops eeprom_ops;
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册