aboutsummaryrefslogtreecommitdiffstats
path: root/arch/arm
diff options
context:
space:
mode:
authorKuninori Morimoto <kuninori.morimoto.gx@renesas.com>2013-07-26 03:35:08 -0400
committerSimon Horman <horms+renesas@verge.net.au>2013-08-06 05:07:09 -0400
commit1fd4eecd480b82e11900ae6a8f44d92efeb96004 (patch)
tree73e618ec2deffdfda9e2738b3a2c911818aac68e /arch/arm
parentfc55190835e02ba5ae23dff40c92ea96db8ec8b6 (diff)
ARM: shmobile: r8a7778: cleanup registration of i2c
i2c-rcar driver which doesn't need platform data at the time of registration can be registerd on SoC. And, registering these drivers in the SoC code can avoid unwanted device numbering issue. (ex. the i2c3 device number will be i2c.0 if i2c3 only registered) This patch registers it on SoC 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')
-rw-r--r--arch/arm/mach-shmobile/board-bockw.c1
-rw-r--r--arch/arm/mach-shmobile/include/mach/r8a7778.h1
-rw-r--r--arch/arm/mach-shmobile/setup-r8a7778.c6
3 files changed, 5 insertions, 3 deletions
diff --git a/arch/arm/mach-shmobile/board-bockw.c b/arch/arm/mach-shmobile/board-bockw.c
index 1c876abdf317..d7d342740003 100644
--- a/arch/arm/mach-shmobile/board-bockw.c
+++ b/arch/arm/mach-shmobile/board-bockw.c
@@ -200,7 +200,6 @@ static void __init bockw_init(void)
200 r8a7778_init_irq_extpin(1); 200 r8a7778_init_irq_extpin(1);
201 r8a7778_add_standard_devices(); 201 r8a7778_add_standard_devices();
202 r8a7778_add_ether_device(&ether_platform_data); 202 r8a7778_add_ether_device(&ether_platform_data);
203 r8a7778_add_i2c_device(0);
204 r8a7778_add_hspi_device(0); 203 r8a7778_add_hspi_device(0);
205 204
206 i2c_register_board_info(0, i2c0_devices, 205 i2c_register_board_info(0, i2c0_devices,
diff --git a/arch/arm/mach-shmobile/include/mach/r8a7778.h b/arch/arm/mach-shmobile/include/mach/r8a7778.h
index aaa054497e96..9874511bbdbb 100644
--- a/arch/arm/mach-shmobile/include/mach/r8a7778.h
+++ b/arch/arm/mach-shmobile/include/mach/r8a7778.h
@@ -23,7 +23,6 @@
23extern void r8a7778_add_standard_devices(void); 23extern void r8a7778_add_standard_devices(void);
24extern void r8a7778_add_standard_devices_dt(void); 24extern void r8a7778_add_standard_devices_dt(void);
25extern void r8a7778_add_ether_device(struct sh_eth_plat_data *pdata); 25extern void r8a7778_add_ether_device(struct sh_eth_plat_data *pdata);
26extern void r8a7778_add_i2c_device(int id);
27extern void r8a7778_add_hspi_device(int id); 26extern void r8a7778_add_hspi_device(int id);
28extern void r8a7778_add_dt_devices(void); 27extern void r8a7778_add_dt_devices(void);
29 28
diff --git a/arch/arm/mach-shmobile/setup-r8a7778.c b/arch/arm/mach-shmobile/setup-r8a7778.c
index c585ee0ec006..ce3b54dfcc44 100644
--- a/arch/arm/mach-shmobile/setup-r8a7778.c
+++ b/arch/arm/mach-shmobile/setup-r8a7778.c
@@ -250,7 +250,7 @@ static struct resource i2c_resources[] __initdata = {
250 DEFINE_RES_IRQ(gic_iid(0x6d)), 250 DEFINE_RES_IRQ(gic_iid(0x6d)),
251}; 251};
252 252
253void __init r8a7778_add_i2c_device(int id) 253static void __init r8a7778_register_i2c(int id)
254{ 254{
255 BUG_ON(id < 0 || id > 3); 255 BUG_ON(id < 0 || id > 3);
256 256
@@ -308,6 +308,10 @@ void __init r8a7778_add_dt_devices(void)
308void __init r8a7778_add_standard_devices(void) 308void __init r8a7778_add_standard_devices(void)
309{ 309{
310 r8a7778_add_dt_devices(); 310 r8a7778_add_dt_devices();
311 r8a7778_register_i2c(0);
312 r8a7778_register_i2c(1);
313 r8a7778_register_i2c(2);
314 r8a7778_register_i2c(3);
311} 315}
312 316
313void __init r8a7778_init_late(void) 317void __init r8a7778_init_late(void)