예제 #1
0
static void __devexit wl1271_remove(struct sdio_func *func)
{
	struct wl1271 *wl = sdio_get_drvdata(func);

	free_irq(wl->irq, wl);

	wl1271_unregister_hw(wl);
	wl1271_free_hw(wl);
}
예제 #2
0
파일: spi.c 프로젝트: mcarrier/reconn-linux
static int __devexit wl1271_remove(struct spi_device *spi)
{
	struct wl1271 *wl = dev_get_drvdata(&spi->dev);

	wl1271_unregister_hw(wl);
	free_irq(wl->irq, wl);
	wl1271_free_hw(wl);

	return 0;
}
예제 #3
0
파일: sdio.c 프로젝트: ANFS/ANFS-kernel
static void __devexit wl1271_remove(struct sdio_func *func)
{
	struct wl1271 *wl = sdio_get_drvdata(func);

	/* Undo decrement done above in wl1271_probe */
	pm_runtime_get_noresume(&func->dev);

	wl1271_unregister_hw(wl);
	free_irq(wl->irq, wl);
	wl1271_free_hw(wl);
}
예제 #4
0
static void __devexit wl1271_remove(struct sdio_func *func)
{
	struct wl1271 *wl = sdio_get_drvdata(func);

	/* Undo decrement done above in wl1271_probe */
	pm_runtime_get_noresume(&func->dev);

	wl1271_unregister_hw(wl);
	device_init_wakeup(wl1271_sdio_wl_to_dev(wl), 0);
	disable_irq_wake(wl->irq);
	free_irq(wl->irq, wl);
	wl1271_free_hw(wl);
}
예제 #5
0
static void __devexit wl1271_remove(struct sdio_func *func)
{
	struct wl1271 *wl = sdio_get_drvdata(func);
	struct mmc_host *host = func->card->host;

	/* Undo decrement done above in wl1271_probe */
	pm_runtime_get_noresume(&func->dev);
	mmc_power_restore_host(func->card->host);

	host->pm_flags = host->pm_flags & ~MMC_PM_KEEP_POWER;

	wl1271_unregister_hw(wl);
	free_irq(wl->irq, wl);
	wl1271_free_hw(wl);
}
예제 #6
0
static int __devexit wl1271_remove(struct spi_device *spi)
{
	struct wl1271 *wl = dev_get_drvdata(&spi->dev);

	wl1271_unregister_hw(wl);
#if LINUX_VERSION_CODE < KERNEL_VERSION(2,6,31)
	compat_free_threaded_irq(&wl->irq_compat);
	compat_destroy_threaded_irq(&wl->irq_compat);
#else
	free_irq(wl->irq, wl);
#endif
	wl1271_free_hw(wl);

	return 0;
}