diff options
author | Inaky Perez-Gonzalez <inaky@linux.intel.com> | 2009-09-16 21:23:27 -0400 |
---|---|---|
committer | Inaky Perez-Gonzalez <inaky@linux.intel.com> | 2009-10-19 02:56:08 -0400 |
commit | 0856ccf29dfbaf957e4be80dd3eb88d97810b633 (patch) | |
tree | a33cf96b010ce3814747b67eb60743554af2070f /drivers/net/wimax/i2400m/usb.c | |
parent | c2315b4ea9ac9c3f8caf03c3511d86fabe4a5fcd (diff) |
wimax/i2400m: introduce i2400m->bus_setup/release
The SDIO subdriver of the i2400m requires certain steps to be done
before we do any acces to the device, even for doing firmware upload.
This lead to a few ugly hacks, which basically involve doing those
steps in probe() before calling i2400m_setup() and undoing them in
disconnect() after claling i2400m_release(); but then, much of those
steps have to be repeated when resetting the device, suspending, etc
(in upcoming pre/post reset support).
Thus, a new pair of optional, bus-specific calls
i2400m->bus_{setup/release} are introduced. These are used to setup
basic infrastructure needed to load firmware onto the device.
This commit also updates the SDIO subdriver to use said calls.
Signed-off-by: Inaky Perez-Gonzalez <inaky@linux.intel.com>
Diffstat (limited to 'drivers/net/wimax/i2400m/usb.c')
-rw-r--r-- | drivers/net/wimax/i2400m/usb.c | 2 |
1 files changed, 2 insertions, 0 deletions
diff --git a/drivers/net/wimax/i2400m/usb.c b/drivers/net/wimax/i2400m/usb.c index f4dfb60bb628..3bf3f7288fe6 100644 --- a/drivers/net/wimax/i2400m/usb.c +++ b/drivers/net/wimax/i2400m/usb.c | |||
@@ -416,8 +416,10 @@ int i2400mu_probe(struct usb_interface *iface, | |||
416 | 416 | ||
417 | i2400m->bus_tx_block_size = I2400MU_BLK_SIZE; | 417 | i2400m->bus_tx_block_size = I2400MU_BLK_SIZE; |
418 | i2400m->bus_pl_size_max = I2400MU_PL_SIZE_MAX; | 418 | i2400m->bus_pl_size_max = I2400MU_PL_SIZE_MAX; |
419 | i2400m->bus_setup = NULL; | ||
419 | i2400m->bus_dev_start = i2400mu_bus_dev_start; | 420 | i2400m->bus_dev_start = i2400mu_bus_dev_start; |
420 | i2400m->bus_dev_stop = i2400mu_bus_dev_stop; | 421 | i2400m->bus_dev_stop = i2400mu_bus_dev_stop; |
422 | i2400m->bus_release = NULL; | ||
421 | i2400m->bus_tx_kick = i2400mu_bus_tx_kick; | 423 | i2400m->bus_tx_kick = i2400mu_bus_tx_kick; |
422 | i2400m->bus_reset = i2400mu_bus_reset; | 424 | i2400m->bus_reset = i2400mu_bus_reset; |
423 | i2400m->bus_bm_retries = I2400M_USB_BOOT_RETRIES; | 425 | i2400m->bus_bm_retries = I2400M_USB_BOOT_RETRIES; |