• Emmanuel Grumbach's avatar
    iwlagn: bus layer chooses its transport layer · e6bb4c9c
    Emmanuel Grumbach authored
    
    
    Remove iwl_transport_register which was a W/A. The bus layer knows what
    transport to use. So now, the bus layer gives the upper layer a pointer to the
    iwl_trans_ops struct that it wants to use. The upper layer then, allocates the
    desired transport layer using iwl_trans_ops->alloc function.
    
    As a result of this, priv->trans, no longer exists, priv holds a pointer to
    iwl_shared, which holds a pointer to iwl_trans. This required to change all the
    calls to the transport layer from upper layer. While we were at it, trans_X
    inlines have been renamed to iwl_trans_X to avoid confusions, which of course
    required to rename the functions inside the transport layer because of
    conflicts in names. So the static API functions inside the transport layer
    implementation have been renamed to iwl_trans_pcie_X.
    
    Until now, the IRQ / Tasklet were initialized in iwl_transport_layer. This is
    confusing since the registration doesn't mean to request IRQ, so I added a
    handler for that.
    Signed-off-by: default avatarEmmanuel Grumbach <emmanuel.grumbach@intel.com>
    Signed-off-by: default avatarWey-Yi Guy <wey-yi.w.guy@intel.com>
    Signed-off-by: default avatarJohn W. Linville <linville@tuxdriver.com>
    e6bb4c9c
iwl-core.c 52.7 KB