aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/net/wireless/libertas/dev.h
diff options
context:
space:
mode:
authorDan Williams <dcbw@redhat.com>2007-08-20 11:43:25 -0400
committerDavid S. Miller <davem@sunset.davemloft.net>2007-10-10 19:50:34 -0400
commit954ee164f4f4598afc172c0ec3865d0352e55a0b (patch)
tree51aae73210d22c0a91282a52b5198cfa1ad068b4 /drivers/net/wireless/libertas/dev.h
parentb1b1907dceadddc7d7317f8ae85a5efec44125d8 (diff)
[PATCH] libertas: reorganize and simplify init sequence
This patch moves all firmware load responsibility into the interface-specific code and gets rid of the firmware pointer in the generic card structure. It also removes 3 fairly unecessary callbacks: hw_register_dev, hw_unregister_dev, and hw_prog_firmware. It also makes the init sequence from interface probe functions more logical, as there are paired add/remove and start/stop calls into generic libertas code. Because the USB driver code uses the same TX URB callback for both firmware upload (where the generic libertas structure isn't initialized yet) and for normal operation (where it is), some bits of USB code have to deal with 'priv' being NULL. All USB firmware upload bits have been changed to not require 'priv' at all, but simply the USB card structure. Signed-off-by: Dan Williams <dcbw@redhat.com> Signed-off-by: John W. Linville <linville@tuxdriver.com>
Diffstat (limited to 'drivers/net/wireless/libertas/dev.h')
-rw-r--r--drivers/net/wireless/libertas/dev.h4
1 files changed, 0 insertions, 4 deletions
diff --git a/drivers/net/wireless/libertas/dev.h b/drivers/net/wireless/libertas/dev.h
index a3c94d7388ab..1fb807aa91b9 100644
--- a/drivers/net/wireless/libertas/dev.h
+++ b/drivers/net/wireless/libertas/dev.h
@@ -143,7 +143,6 @@ struct _wlan_private {
143 all other bits reserved 0 */ 143 all other bits reserved 0 */
144 u8 dnld_sent; 144 u8 dnld_sent;
145 145
146 const struct firmware *firmware;
147 struct device *hotplug_device; 146 struct device *hotplug_device;
148 147
149 /** thread to service interrupts */ 148 /** thread to service interrupts */
@@ -156,9 +155,6 @@ struct _wlan_private {
156 struct work_struct sync_channel; 155 struct work_struct sync_channel;
157 156
158 /** Hardware access */ 157 /** Hardware access */
159 int (*hw_register_dev) (wlan_private * priv);
160 int (*hw_unregister_dev) (wlan_private *);
161 int (*hw_prog_firmware) (wlan_private *);
162 int (*hw_host_to_card) (wlan_private * priv, u8 type, u8 * payload, u16 nb); 158 int (*hw_host_to_card) (wlan_private * priv, u8 type, u8 * payload, u16 nb);
163 int (*hw_get_int_status) (wlan_private * priv, u8 *); 159 int (*hw_get_int_status) (wlan_private * priv, u8 *);
164 int (*hw_read_event_cause) (wlan_private *); 160 int (*hw_read_event_cause) (wlan_private *);