static void wl1251_sdio_reset(struct wl1251 *wl)
{
+ extern int sdio_reset_comm(struct mmc_card *card);
+ struct sdio_func *func = wl_to_func(wl);
+ int ret;
+
+ sdio_claim_host(func);
+ sdio_reset_comm(func->card);
+ ret = sdio_enable_func(func);
+ if (ret)
+ goto release;
+
+ sdio_set_block_size(func, 512);
+
+release:
+ sdio_release_host(func);
}
static void wl1251_sdio_enable_irq(struct wl1251 *wl)
if (ret)
goto out_free_irq;
+ /* we can power it down now until it's started */
+ wl->set_power(0);
+
sdio_set_drvdata(func, wl);
return ret;