ARM: shmobile: r8a7779: cleanup registration of VIN
VIN driver which needs platform data at the time of registration is used from Marzen 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> Acked-by: Magnus Damm <damm@opensource.se> Signed-off-by: Simon Horman <horms+renesas@verge.net.au>
This commit is contained in:
parent
22e247ef14
commit
4bd4c5b32b
|
@ -259,10 +259,30 @@ static struct platform_device leds_device = {
|
|||
},
|
||||
};
|
||||
|
||||
/* VIN */
|
||||
static struct rcar_vin_platform_data vin_platform_data __initdata = {
|
||||
.flags = RCAR_VIN_BT656,
|
||||
};
|
||||
|
||||
#define MARZEN_VIN(idx) \
|
||||
static struct resource vin##idx##_resources[] __initdata = { \
|
||||
DEFINE_RES_MEM(0xffc50000 + 0x1000 * (idx), 0x1000), \
|
||||
DEFINE_RES_IRQ(gic_iid(0x5f + (idx))), \
|
||||
}; \
|
||||
\
|
||||
static struct platform_device_info vin##idx##_info __initdata = { \
|
||||
.parent = &platform_bus, \
|
||||
.name = "r8a7779-vin", \
|
||||
.id = idx, \
|
||||
.res = vin##idx##_resources, \
|
||||
.num_res = ARRAY_SIZE(vin##idx##_resources), \
|
||||
.dma_mask = DMA_BIT_MASK(32), \
|
||||
.data = &vin_platform_data, \
|
||||
.size_data = sizeof(vin_platform_data), \
|
||||
}
|
||||
MARZEN_VIN(1);
|
||||
MARZEN_VIN(3);
|
||||
|
||||
#define MARZEN_CAMERA(idx) \
|
||||
static struct i2c_board_info camera##idx##_info = { \
|
||||
I2C_BOARD_INFO("adv7180", 0x20 + (idx)), \
|
||||
|
@ -367,8 +387,8 @@ static void __init marzen_init(void)
|
|||
r8a7779_init_irq_extpin(1); /* IRQ1 as individual interrupt */
|
||||
|
||||
r8a7779_add_standard_devices();
|
||||
r8a7779_add_vin_device(1, &vin_platform_data);
|
||||
r8a7779_add_vin_device(3, &vin_platform_data);
|
||||
platform_device_register_full(&vin1_info);
|
||||
platform_device_register_full(&vin3_info);
|
||||
platform_add_devices(marzen_devices, ARRAY_SIZE(marzen_devices));
|
||||
marzen_add_du_device();
|
||||
}
|
||||
|
|
|
@ -41,8 +41,6 @@ extern void r8a7779_add_early_devices(void);
|
|||
extern void r8a7779_add_standard_devices(void);
|
||||
extern void r8a7779_add_standard_devices_dt(void);
|
||||
extern void r8a7779_add_ether_device(struct sh_eth_plat_data *pdata);
|
||||
extern void r8a7779_add_vin_device(int idx,
|
||||
struct rcar_vin_platform_data *pdata);
|
||||
extern void r8a7779_init_late(void);
|
||||
extern void r8a7779_clock_init(void);
|
||||
extern void r8a7779_pinmux_init(void);
|
||||
|
|
|
@ -610,33 +610,6 @@ static struct resource ether_resources[] __initdata = {
|
|||
},
|
||||
};
|
||||
|
||||
#define R8A7779_VIN(idx) \
|
||||
static struct resource vin##idx##_resources[] __initdata = { \
|
||||
DEFINE_RES_MEM(0xffc50000 + 0x1000 * (idx), 0x1000), \
|
||||
DEFINE_RES_IRQ(gic_iid(0x5f + (idx))), \
|
||||
}; \
|
||||
\
|
||||
static struct platform_device_info vin##idx##_info __initdata = { \
|
||||
.parent = &platform_bus, \
|
||||
.name = "r8a7779-vin", \
|
||||
.id = idx, \
|
||||
.res = vin##idx##_resources, \
|
||||
.num_res = ARRAY_SIZE(vin##idx##_resources), \
|
||||
.dma_mask = DMA_BIT_MASK(32), \
|
||||
}
|
||||
|
||||
R8A7779_VIN(0);
|
||||
R8A7779_VIN(1);
|
||||
R8A7779_VIN(2);
|
||||
R8A7779_VIN(3);
|
||||
|
||||
static struct platform_device_info *vin_info_table[] __initdata = {
|
||||
&vin0_info,
|
||||
&vin1_info,
|
||||
&vin2_info,
|
||||
&vin3_info,
|
||||
};
|
||||
|
||||
/* HPB-DMA */
|
||||
|
||||
/* Asynchronous mode register bits */
|
||||
|
@ -833,16 +806,6 @@ void __init r8a7779_add_ether_device(struct sh_eth_plat_data *pdata)
|
|||
pdata, sizeof(*pdata));
|
||||
}
|
||||
|
||||
void __init r8a7779_add_vin_device(int id, struct rcar_vin_platform_data *pdata)
|
||||
{
|
||||
BUG_ON(id < 0 || id > 3);
|
||||
|
||||
vin_info_table[id]->data = pdata;
|
||||
vin_info_table[id]->size_data = sizeof(*pdata);
|
||||
|
||||
platform_device_register_full(vin_info_table[id]);
|
||||
}
|
||||
|
||||
/* do nothing for !CONFIG_SMP or !CONFIG_HAVE_TWD */
|
||||
void __init __weak r8a7779_register_twd(void) { }
|
||||
|
||||
|
|
Loading…
Reference in New Issue