diff options
author | Kuninori Morimoto <kuninori.morimoto.gx@renesas.com> | 2013-07-26 09:33:48 +0200 |
---|---|---|
committer | Simon Horman <horms+renesas@verge.net.au> | 2013-08-06 11:07:09 +0200 |
commit | a66c9744574c0e7b5c935c7c1ec84e0e741fb725 (patch) | |
tree | 84df4b637ffcabe5af83655f892d78f55b100331 /arch/arm/mach-shmobile/board-bockw.c | |
parent | Merge branch 'dt2' into cleanup3-base (diff) | |
download | linux-a66c9744574c0e7b5c935c7c1ec84e0e741fb725.tar.xz linux-a66c9744574c0e7b5c935c7c1ec84e0e741fb725.zip |
ARM: shmobile: r8a7778: cleanup registration of mmcif
sh_mmcif driver which needs platform data at the time of
registration is used from BockW only.
Now, ARM/shmobile aims to support DT,
and the C code base board support will be removed
if DT support is completed.
Current driver registration method which needs platform data
and which is not shared complicates codes.
This means legacy C code cleanup after DT supporting
will be more complicated
This patch registers it on board code as cleanup C code
Signed-off-by: Kuninori Morimoto <kuninori.morimoto.gx@renesas.com>
Signed-off-by: Simon Horman <horms+renesas@verge.net.au>
Diffstat (limited to 'arch/arm/mach-shmobile/board-bockw.c')
-rw-r--r-- | arch/arm/mach-shmobile/board-bockw.c | 12 |
1 files changed, 11 insertions, 1 deletions
diff --git a/arch/arm/mach-shmobile/board-bockw.c b/arch/arm/mach-shmobile/board-bockw.c index d5554646916c..58e686d1cad6 100644 --- a/arch/arm/mach-shmobile/board-bockw.c +++ b/arch/arm/mach-shmobile/board-bockw.c @@ -20,6 +20,7 @@ #include <linux/mfd/tmio.h> #include <linux/mmc/host.h> +#include <linux/mmc/sh_mmcif.h> #include <linux/mtd/partitions.h> #include <linux/pinctrl/machine.h> #include <linux/platform_device.h> @@ -135,6 +136,11 @@ static struct spi_board_info spi_board_info[] __initdata = { }; /* MMC */ +static struct resource mmc_resources[] __initdata = { + DEFINE_RES_MEM(0xffe4e000, 0x100), + DEFINE_RES_IRQ(gic_iid(0x5d)), +}; + static struct sh_mmcif_plat_data sh_mmcif_plat = { .sup_pclk = 0, .ocr = MMC_VDD_165_195 | MMC_VDD_32_33 | MMC_VDD_33_34, @@ -185,7 +191,6 @@ static void __init bockw_init(void) r8a7778_add_ether_device(ðer_platform_data); r8a7778_add_i2c_device(0); r8a7778_add_hspi_device(0); - r8a7778_add_mmc_device(&sh_mmcif_plat); i2c_register_board_info(0, i2c0_devices, ARRAY_SIZE(i2c0_devices)); @@ -195,6 +200,11 @@ static void __init bockw_init(void) ARRAY_SIZE(bockw_pinctrl_map)); r8a7778_pinmux_init(); + platform_device_register_resndata( + &platform_bus, "sh_mmcif", -1, + mmc_resources, ARRAY_SIZE(mmc_resources), + &sh_mmcif_plat, sizeof(struct sh_mmcif_plat_data)); + /* for SMSC */ base = ioremap_nocache(FPGA, SZ_1M); if (base) { |