linux/drivers/net/wireless/iwlwifi
Emmanuel Grumbach cac988a682 iwlagn: introduce struct iwl-shared - known by all layers
This struct will hold pointers to all the layers, so that every layer will find
the pointers it needs when calling another layer.

Note that the drv_data set to struct device is now a pointer to
struct iwl_shared.
This solves of bug that I introduced in

	iwlagn: simplify the bus architecture

Bug description:

sysfs gets the the driver data from struct device. Till the aforementioned
patch, dev_get_drvdata would return iwl_priv. After the patch, dev_get_drvdata
return iwl_bus which is buggy since the sysfs handlers rely on this value, and
sysfs handlers need iwl_priv.

Now, dev_get_drvdata return iwl-shared. Since we have pointers to all the
layers in iwl_shared, every layer will be able to get the pointer it needs:
bus layer will gets iwl_bus from the PCI suspend callbacks, and the sysfs
handlers will get the iwl_priv they need.

In order to keep good encapsulation, we need to avoid to dereference iwl_priv
from a different layer. This is why instead of including iwl-dev.h from
iwl-shared.h, I added a forward declaration to iwl_priv. Moreover we keep type
safety while providing encapsulation.

Signed-off-by: Emmanuel Grumbach <emmanuel.grumbach@intel.com>
Signed-off-by: Wey-Yi Guy <wey-yi.w.guy@intel.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
2011-08-29 15:25:30 -04:00
..
iwl-1000.c iwlagn: introduce iwl-shared.h 2011-08-29 15:25:30 -04:00
iwl-2000.c iwlagn: introduce iwl-shared.h 2011-08-29 15:25:30 -04:00
iwl-5000-hw.h iwlagn: generic temperature location in EEPROM 2011-06-11 07:10:48 -07:00
iwl-5000.c iwlagn: introduce iwl-shared.h 2011-08-29 15:25:30 -04:00
iwl-6000-hw.h
iwl-6000.c iwlagn: introduce iwl-shared.h 2011-08-29 15:25:30 -04:00
iwl-agn-calib.c iwlagn: support v2 of enhanced sensitivity table 2011-08-08 16:04:07 -04:00
iwl-agn-calib.h iwlagn: remove iwlagn_hcmd_utils structure and call directly 2011-07-11 15:02:10 -04:00
iwl-agn-eeprom.c iwlagn: Rename iwlcore prefix 2011-08-29 15:25:29 -04:00
iwl-agn-hw.h iwlagn: reserve queue 10 for TX during scan dwell 2011-08-08 16:04:00 -04:00
iwl-agn-lib.c iwlagn: introduce iwl-shared.h 2011-08-29 15:25:30 -04:00
iwl-agn-rs.c iwlagn: remove wireless extensions inclusions 2011-08-08 14:25:02 -04:00
iwl-agn-rs.h iwlagn: no 3945 define needed 2011-04-08 08:00:19 -07:00
iwl-agn-rxon.c iwlagn: introduce iwl-shared.h 2011-08-29 15:25:30 -04:00
iwl-agn-sta.c iwlagn: rename iwlagn_set_dynamic_key 2011-07-21 07:32:03 -07:00
iwl-agn-tt.c iwlagn: use IWL_DEBUG_TEMP for temperature related debug 2011-06-11 07:10:25 -07:00
iwl-agn-tt.h
iwl-agn-tx.c iwlagn: support new P2P implementation 2011-08-08 16:04:04 -04:00
iwl-agn-ucode.c iwlagn: Rename iwlcore prefix 2011-08-29 15:25:29 -04:00
iwl-agn.c iwlagn: introduce struct iwl-shared - known by all layers 2011-08-29 15:25:30 -04:00
iwl-agn.h iwlagn: introduce iwl-shared.h 2011-08-29 15:25:30 -04:00
iwl-bus.h iwlagn: introduce struct iwl-shared - known by all layers 2011-08-29 15:25:30 -04:00
iwl-commands.h iwlagn: support v2 of enhanced sensitivity table 2011-08-08 16:04:07 -04:00
iwl-core.c iwlagn: introduce iwl-shared.h 2011-08-29 15:25:30 -04:00
iwl-core.h iwlagn: introduce iwl-shared.h 2011-08-29 15:25:30 -04:00
iwl-csr.h iwlagn: implement WoWLAN 2011-07-21 07:31:31 -07:00
iwl-debug.h iwlagn: introduce iwl-shared.h 2011-08-29 15:25:30 -04:00
iwl-debugfs.c iwlagn: use iwl_get_debug_level instead of iwl_debug_level 2011-08-29 15:25:30 -04:00
iwl-dev.h iwlagn: introduce struct iwl-shared - known by all layers 2011-08-29 15:25:30 -04:00
iwl-devtrace.c
iwl-devtrace.h iwlagn: more ucode error log info 2011-05-13 12:01:50 -07:00
iwl-eeprom.c iwlagn: Rename iwlcore prefix 2011-08-29 15:25:29 -04:00
iwl-eeprom.h iwlagn: Rename iwlcore prefix 2011-08-29 15:25:29 -04:00
iwl-fh.h iwlagn: remove the indirection for the dma channel num 2011-07-11 15:02:03 -04:00
iwl-helpers.h iwlwifi: fix stop/wake queue hacks 2011-06-20 15:16:32 -04:00
iwl-io.c iwlagn: introduce silent grabbing of NIC access 2011-04-30 08:39:22 -07:00
iwl-io.h iwlagn: simplify the bus architecture 2011-07-21 07:29:55 -07:00
iwl-led.c iwlagn: introduce iwl-shared.h 2011-08-29 15:25:30 -04:00
iwl-led.h iwlagn: use direct call for led functions 2011-04-18 08:47:43 -07:00
iwl-pci.c iwlagn: introduce struct iwl-shared - known by all layers 2011-08-29 15:25:30 -04:00
iwl-power.c iwlagn: introduce iwl-shared.h 2011-08-29 15:25:30 -04:00
iwl-power.h iwlagn: move PCI power related functions to the PCI layer 2011-06-18 08:17:29 -07:00
iwl-prph.h iwlagn: add tx start API to transport layer 2011-07-16 07:39:42 -07:00
iwl-rx.c iwlagn: introduce iwl-shared.h 2011-08-29 15:25:30 -04:00
iwl-scan.c iwlagn: support new P2P implementation 2011-08-08 16:04:04 -04:00
iwl-shared.h iwlagn: introduce struct iwl-shared - known by all layers 2011-08-29 15:25:30 -04:00
iwl-sta.c iwlagn: rewrite HW crypto 2011-07-21 07:31:25 -07:00
iwl-sta.h iwlagn: rewrite HW crypto 2011-07-21 07:31:25 -07:00
iwl-sv-open.c iwlagn: simplify the bus architecture 2011-07-21 07:29:55 -07:00
iwl-testmode.h iwlagn: allow application own the uCode operation 2011-07-11 15:02:08 -04:00
iwl-trans-int-pcie.h iwlagn: SCD configuration for AMPDU moves to transport layer 2011-07-21 07:29:12 -07:00
iwl-trans-rx-pcie.c iwlagn: remove un-necessary "_agn" 2011-07-21 07:31:01 -07:00
iwl-trans-tx-pcie.c iwlagn: implement WoWLAN 2011-07-21 07:31:31 -07:00
iwl-trans.c iwlagn: introduce iwl-shared.h 2011-08-29 15:25:30 -04:00
iwl-trans.h iwlagn: transport layer receives struct iwl_trans* 2011-07-21 07:29:48 -07:00
Kconfig iwlagn: support new P2P implementation 2011-08-08 16:04:04 -04:00
Makefile iwlagn: move all the ICT related functions to iwl-trans-rx-pcie.c 2011-07-16 07:39:34 -07:00