|
@@ -2815,7 +2815,8 @@ static void __iwl_down(struct iwl_priv *priv)
|
|
|
STATUS_EXIT_PENDING;
|
|
|
|
|
|
/* device going down, Stop using ICT table */
|
|
|
- iwl_disable_ict(priv);
|
|
|
+ if (priv->cfg->ops->lib->isr_ops.disable)
|
|
|
+ priv->cfg->ops->lib->isr_ops.disable(priv);
|
|
|
|
|
|
iwlagn_txq_ctx_stop(priv);
|
|
|
iwlagn_rxq_stop(priv);
|
|
@@ -3038,7 +3039,8 @@ static void iwl_bg_alive_start(struct work_struct *data)
|
|
|
return;
|
|
|
|
|
|
/* enable dram interrupt */
|
|
|
- iwl_reset_ict(priv);
|
|
|
+ if (priv->cfg->ops->lib->isr_ops.reset)
|
|
|
+ priv->cfg->ops->lib->isr_ops.reset(priv);
|
|
|
|
|
|
mutex_lock(&priv->mutex);
|
|
|
iwl_alive_start(priv);
|
|
@@ -4172,8 +4174,10 @@ static int iwl_pci_probe(struct pci_dev *pdev, const struct pci_device_id *ent)
|
|
|
|
|
|
pci_enable_msi(priv->pci_dev);
|
|
|
|
|
|
- iwl_alloc_isr_ict(priv);
|
|
|
- err = request_irq(priv->pci_dev->irq, priv->cfg->ops->lib->isr,
|
|
|
+ if (priv->cfg->ops->lib->isr_ops.alloc)
|
|
|
+ priv->cfg->ops->lib->isr_ops.alloc(priv);
|
|
|
+
|
|
|
+ err = request_irq(priv->pci_dev->irq, priv->cfg->ops->lib->isr_ops.isr,
|
|
|
IRQF_SHARED, DRV_NAME, priv);
|
|
|
if (err) {
|
|
|
IWL_ERR(priv, "Error allocating IRQ %d\n", priv->pci_dev->irq);
|
|
@@ -4220,7 +4224,8 @@ static int iwl_pci_probe(struct pci_dev *pdev, const struct pci_device_id *ent)
|
|
|
destroy_workqueue(priv->workqueue);
|
|
|
priv->workqueue = NULL;
|
|
|
free_irq(priv->pci_dev->irq, priv);
|
|
|
- iwl_free_isr_ict(priv);
|
|
|
+ if (priv->cfg->ops->lib->isr_ops.free)
|
|
|
+ priv->cfg->ops->lib->isr_ops.free(priv);
|
|
|
out_disable_msi:
|
|
|
pci_disable_msi(priv->pci_dev);
|
|
|
iwl_uninit_drv(priv);
|
|
@@ -4315,7 +4320,8 @@ static void __devexit iwl_pci_remove(struct pci_dev *pdev)
|
|
|
|
|
|
iwl_uninit_drv(priv);
|
|
|
|
|
|
- iwl_free_isr_ict(priv);
|
|
|
+ if (priv->cfg->ops->lib->isr_ops.free)
|
|
|
+ priv->cfg->ops->lib->isr_ops.free(priv);
|
|
|
|
|
|
dev_kfree_skb(priv->beacon_skb);
|
|
|
|