| From 33fb167dfec0eded9f33dca7b61f07178b801c2f Mon Sep 17 00:00:00 2001 |
| From: Kuninori Morimoto <kuninori.morimoto.gx@renesas.com> |
| Date: Fri, 26 Jul 2013 00:33:48 -0700 |
| Subject: 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> |
| (cherry picked from commit a66c9744574c0e7b5c935c7c1ec84e0e741fb725) |
| Signed-off-by: Simon Horman <horms+renesas@verge.net.au> |
| --- |
| arch/arm/mach-shmobile/board-bockw.c | 12 +++++++++++- |
| arch/arm/mach-shmobile/include/mach/r8a7778.h | 2 -- |
| arch/arm/mach-shmobile/setup-r8a7778.c | 14 -------------- |
| 3 files changed, 11 insertions(+), 17 deletions(-) |
| |
| diff --git a/arch/arm/mach-shmobile/board-bockw.c b/arch/arm/mach-shmobile/board-bockw.c |
| index c7a0f9ba..5add79c9 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> |
| @@ -134,6 +135,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, |
| @@ -189,7 +195,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)); |
| @@ -199,6 +204,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) { |
| diff --git a/arch/arm/mach-shmobile/include/mach/r8a7778.h b/arch/arm/mach-shmobile/include/mach/r8a7778.h |
| index 8d24f73d..2f456071 100644 |
| --- a/arch/arm/mach-shmobile/include/mach/r8a7778.h |
| +++ b/arch/arm/mach-shmobile/include/mach/r8a7778.h |
| @@ -18,7 +18,6 @@ |
| #ifndef __ASM_R8A7778_H__ |
| #define __ASM_R8A7778_H__ |
| |
| -#include <linux/mmc/sh_mmcif.h> |
| #include <linux/mmc/sh_mobile_sdhi.h> |
| #include <linux/sh_eth.h> |
| #include <linux/platform_data/usb-rcar-phy.h> |
| @@ -29,7 +28,6 @@ extern void r8a7778_add_ether_device(struct sh_eth_plat_data *pdata); |
| extern void r8a7778_add_usb_phy_device(struct rcar_phy_platform_data *pdata); |
| extern void r8a7778_add_i2c_device(int id); |
| extern void r8a7778_add_hspi_device(int id); |
| -extern void r8a7778_add_mmc_device(struct sh_mmcif_plat_data *info); |
| extern void r8a7778_add_dt_devices(void); |
| |
| extern void r8a7778_init_late(void); |
| diff --git a/arch/arm/mach-shmobile/setup-r8a7778.c b/arch/arm/mach-shmobile/setup-r8a7778.c |
| index 9d4b6bf4..96008462 100644 |
| --- a/arch/arm/mach-shmobile/setup-r8a7778.c |
| +++ b/arch/arm/mach-shmobile/setup-r8a7778.c |
| @@ -319,20 +319,6 @@ void __init r8a7778_add_hspi_device(int id) |
| hspi_resources + (2 * id), 2); |
| } |
| |
| -/* MMC */ |
| -static struct resource mmc_resources[] __initdata = { |
| - DEFINE_RES_MEM(0xffe4e000, 0x100), |
| - DEFINE_RES_IRQ(gic_iid(0x5d)), |
| -}; |
| - |
| -void __init r8a7778_add_mmc_device(struct sh_mmcif_plat_data *info) |
| -{ |
| - platform_device_register_resndata( |
| - &platform_bus, "sh_mmcif", -1, |
| - mmc_resources, ARRAY_SIZE(mmc_resources), |
| - info, sizeof(*info)); |
| -} |
| - |
| void __init r8a7778_add_dt_devices(void) |
| { |
| int i; |
| -- |
| 1.8.4.3.gca3854a |
| |