aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/net/wimax/i2400m/usb.c
diff options
context:
space:
mode:
authorInaky Perez-Gonzalez <inaky@linux.intel.com>2009-09-16 21:23:27 -0400
committerInaky Perez-Gonzalez <inaky@linux.intel.com>2009-10-19 02:56:08 -0400
commit0856ccf29dfbaf957e4be80dd3eb88d97810b633 (patch)
treea33cf96b010ce3814747b67eb60743554af2070f /drivers/net/wimax/i2400m/usb.c
parentc2315b4ea9ac9c3f8caf03c3511d86fabe4a5fcd (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.c2
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;