iwlwifi: add iwl_nic_ops structure to iwl_ops
authorShanyu Zhao <shanyu.zhao@intel.com>
Tue, 14 Sep 2010 23:23:32 +0000 (16:23 -0700)
committerWey-Yi Guy <wey-yi.w.guy@intel.com>
Tue, 28 Sep 2010 23:55:25 +0000 (16:55 -0700)
commit6b5ce501428942d9dec864a41ee223307f421574
treef580aedb17b6df2710523da1778a5dd2a33f08b3
parent1de19eccb3fe634e939cb40f30fdfda93a67fe93
iwlwifi: add iwl_nic_ops structure to iwl_ops

iwlwifi driver supports multiple devices. Since some device needs
special configuration we create a new iwl_nic_ops structure which is
configurable per device. Currently there is only one function pointer
inside this structure: additional_nic_config().

The iwl_nic_ops structure is added to the top level in struct iwl_ops,
making it easier to change per device. Duplication of the iwl_lib_ops
structure is no longer needed.

With this new ops the previous function pointer set_calib_version is
no longer needed since it is just a per device nic configuration.

As part of the code restructuring, a bug is addressed. Indication of
calib version to uCode is only needed for 6050 devices, however,
current implementation set calib version for all 6000 devices for
which DC calib is needed. To fix this, create iwl6050_ops for 6050
devices and only populate iwl_nic_ops in this structure.

Signed-off-by: Shanyu Zhao <shanyu.zhao@intel.com>
Signed-off-by: Wey-Yi Guy <wey-yi.w.guy@intel.com>
drivers/net/wireless/iwlwifi/iwl-6000.c
drivers/net/wireless/iwlwifi/iwl-core.h