iwlagn: transport layer receives struct iwl_trans*
It still holds a pointer to iwl_priv. But hopefully this will disappear at some point.
Also add the multiple inclusion protection to iwl-trans.h that was forgotten.
Move iwl-trans structures to iwl-trans.h
Signed-off-by: Emmanuel Grumbach <emmanuel.grumbach@intel.com>
Signed-off-by: Wey-Yi Guy <wey-yi.w.guy@intel.com>
diff --git a/drivers/net/wireless/iwlwifi/iwl-trans.c b/drivers/net/wireless/iwlwifi/iwl-trans.c
index 88ab20a..edd28f0 100644
--- a/drivers/net/wireless/iwlwifi/iwl-trans.c
+++ b/drivers/net/wireless/iwlwifi/iwl-trans.c
@@ -526,7 +526,7 @@
return 0;
error:
- trans_tx_free(priv);
+ trans_tx_free(&priv->trans);
return ret;
}
@@ -570,7 +570,7 @@
error:
/*Upon error, free only if we allocated something */
if (alloc)
- trans_tx_free(priv);
+ trans_tx_free(&priv->trans);
return ret;
}
@@ -920,7 +920,7 @@
spin_lock_irqsave(&priv->lock, flags);
iwl_disable_interrupts(priv);
spin_unlock_irqrestore(&priv->lock, flags);
- trans_sync_irq(priv);
+ trans_sync_irq(&priv->trans);
/* device going down, Stop using ICT table */
iwl_disable_ict(priv);
@@ -1146,11 +1146,12 @@
.free = iwl_trans_free,
};
-int iwl_trans_register(struct iwl_priv *priv)
+int iwl_trans_register(struct iwl_trans *trans, struct iwl_priv *priv)
{
int err;
priv->trans.ops = &trans_ops;
+ priv->trans.priv = priv;
iwl_alloc_isr_ict(priv);