| From 07488c0f5c51f7361f7ec9bb202bdc50c762525d Mon Sep 17 00:00:00 2001 |
| From: Kuninori Morimoto <kuninori.morimoto.gx@renesas.com> |
| Date: Mon, 23 Sep 2013 23:04:21 -0700 |
| Subject: ARM: shmobile: r8a7778: cleanup registration of sh_eth |
| |
| sh_eth 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 cd4ab0420fd6233766fd87fa295d6e3cfb719c01) |
| Signed-off-by: Simon Horman <horms+renesas@verge.net.au> |
| --- |
| arch/arm/mach-shmobile/board-bockw.c | 14 +++++++++++++- |
| arch/arm/mach-shmobile/include/mach/r8a7778.h | 1 - |
| arch/arm/mach-shmobile/setup-r8a7778.c | 14 -------------- |
| 3 files changed, 13 insertions(+), 16 deletions(-) |
| |
| diff --git a/arch/arm/mach-shmobile/board-bockw.c b/arch/arm/mach-shmobile/board-bockw.c |
| index 4b696ce0bae6..f2bf61bf2521 100644 |
| --- a/arch/arm/mach-shmobile/board-bockw.c |
| +++ b/arch/arm/mach-shmobile/board-bockw.c |
| @@ -101,6 +101,12 @@ static struct resource sdhi0_resources[] __initdata = { |
| DEFINE_RES_IRQ(gic_iid(0x77)), |
| }; |
| |
| +/* Ether */ |
| +static struct resource ether_resources[] __initdata = { |
| + DEFINE_RES_MEM(0xfde00000, 0x400), |
| + DEFINE_RES_IRQ(gic_iid(0x89)), |
| +}; |
| + |
| static struct sh_eth_plat_data ether_platform_data __initdata = { |
| .phy = 0x01, |
| .edmac_endian = EDMAC_LITTLE_ENDIAN, |
| @@ -255,7 +261,13 @@ static void __init bockw_init(void) |
| r8a7778_clock_init(); |
| r8a7778_init_irq_extpin(1); |
| r8a7778_add_standard_devices(); |
| - r8a7778_add_ether_device(ðer_platform_data); |
| + |
| + platform_device_register_resndata(&platform_bus, "r8a777x-ether", -1, |
| + ether_resources, |
| + ARRAY_SIZE(ether_resources), |
| + ðer_platform_data, |
| + sizeof(ether_platform_data)); |
| + |
| platform_device_register_full(&vin0_info); |
| /* VIN1 has a pin conflict with Ether */ |
| if (!IS_ENABLED(CONFIG_SH_ETH)) |
| diff --git a/arch/arm/mach-shmobile/include/mach/r8a7778.h b/arch/arm/mach-shmobile/include/mach/r8a7778.h |
| index 9838608363c2..48933def0d55 100644 |
| --- a/arch/arm/mach-shmobile/include/mach/r8a7778.h |
| +++ b/arch/arm/mach-shmobile/include/mach/r8a7778.h |
| @@ -23,7 +23,6 @@ |
| |
| extern void r8a7778_add_standard_devices(void); |
| extern void r8a7778_add_standard_devices_dt(void); |
| -extern void r8a7778_add_ether_device(struct sh_eth_plat_data *pdata); |
| 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 604cf36b5616..f5e15c926fef 100644 |
| --- a/arch/arm/mach-shmobile/setup-r8a7778.c |
| +++ b/arch/arm/mach-shmobile/setup-r8a7778.c |
| @@ -174,20 +174,6 @@ static struct platform_device_info hci##_info __initdata = { \ |
| USB_PLATFORM_INFO(ehci); |
| USB_PLATFORM_INFO(ohci); |
| |
| -/* Ether */ |
| -static struct resource ether_resources[] __initdata = { |
| - DEFINE_RES_MEM(0xfde00000, 0x400), |
| - DEFINE_RES_IRQ(gic_iid(0x89)), |
| -}; |
| - |
| -void __init r8a7778_add_ether_device(struct sh_eth_plat_data *pdata) |
| -{ |
| - platform_device_register_resndata(&platform_bus, "r8a777x-ether", -1, |
| - ether_resources, |
| - ARRAY_SIZE(ether_resources), |
| - pdata, sizeof(*pdata)); |
| -} |
| - |
| /* PFC/GPIO */ |
| static struct resource pfc_resources[] __initdata = { |
| DEFINE_RES_MEM(0xfffc0000, 0x118), |
| -- |
| 1.8.5.rc3 |
| |