diff options
author | Manuel Lauss <mano@roarinelk.homelinux.net> | 2008-06-09 08:36:13 +0200 |
---|---|---|
committer | Pierre Ossman <drzeus@drzeus.cx> | 2008-07-15 14:14:43 +0200 |
commit | c4223c2c91fa9e5addd6eadd804e57a925ac5e5e (patch) | |
tree | d64af7e2b6322d59f1081ff8562cfc5f51f7f974 /include/asm-mips/mach-au1x00 | |
parent | 12bd257532708a4d5be4b8548ff121a45ff88f5d (diff) | |
download | kernel_samsung_smdk4412-c4223c2c91fa9e5addd6eadd804e57a925ac5e5e.zip kernel_samsung_smdk4412-c4223c2c91fa9e5addd6eadd804e57a925ac5e5e.tar.gz kernel_samsung_smdk4412-c4223c2c91fa9e5addd6eadd804e57a925ac5e5e.tar.bz2 |
au1xmmc: remove db1200 board code, rewrite probe.
Remove the DB1200 board-specific functions (card present, read-only,
activity LED methods) and instead add platform data which is passed
to the driver. This also allows for platforms to implement other
carddetect schemes (e.g. dedicated irq) without having to pollute the
driver code. The poll timer (used for pb1200) is kept for compatibility.
With the board-specific stuff gone, the driver's ->probe() code can be
cleaned up considerably.
Signed-off-by: Manuel Lauss <mano@roarinelk.homelinux.net>
Signed-off-by: Pierre Ossman <drzeus@drzeus.cx>
Diffstat (limited to 'include/asm-mips/mach-au1x00')
-rw-r--r-- | include/asm-mips/mach-au1x00/au1100_mmc.h | 18 |
1 files changed, 9 insertions, 9 deletions
diff --git a/include/asm-mips/mach-au1x00/au1100_mmc.h b/include/asm-mips/mach-au1x00/au1100_mmc.h index 9e0028f..c35e209 100644 --- a/include/asm-mips/mach-au1x00/au1100_mmc.h +++ b/include/asm-mips/mach-au1x00/au1100_mmc.h @@ -38,15 +38,15 @@ #ifndef __ASM_AU1100_MMC_H #define __ASM_AU1100_MMC_H - -#define NUM_AU1100_MMC_CONTROLLERS 2 - -#if defined(CONFIG_SOC_AU1100) -#define AU1100_SD_IRQ AU1100_SD_INT -#elif defined(CONFIG_SOC_AU1200) -#define AU1100_SD_IRQ AU1200_SD_INT -#endif - +#include <linux/leds.h> + +struct au1xmmc_platform_data { + int(*cd_setup)(void *mmc_host, int on); + int(*card_inserted)(void *mmc_host); + int(*card_readonly)(void *mmc_host); + void(*set_power)(void *mmc_host, int state); + struct led_classdev *led; +}; #define SD0_BASE 0xB0600000 #define SD1_BASE 0xB0680000 |