forked from Minki/linux
ARM: shmobile: r8a7778: cleanup registration of vin
vin 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>
This commit is contained in:
parent
cde214a890
commit
fd131d0d40
@ -162,10 +162,6 @@ static struct sh_mmcif_plat_data sh_mmcif_plat __initdata = {
|
|||||||
MMC_CAP_NEEDS_POLL,
|
MMC_CAP_NEEDS_POLL,
|
||||||
};
|
};
|
||||||
|
|
||||||
static struct rcar_vin_platform_data vin_platform_data __initdata = {
|
|
||||||
.flags = RCAR_VIN_BT656,
|
|
||||||
};
|
|
||||||
|
|
||||||
/* In the default configuration both decoders reside on I2C bus 0 */
|
/* In the default configuration both decoders reside on I2C bus 0 */
|
||||||
#define BOCKW_CAMERA(idx) \
|
#define BOCKW_CAMERA(idx) \
|
||||||
static struct i2c_board_info camera##idx##_info = { \
|
static struct i2c_board_info camera##idx##_info = { \
|
||||||
@ -181,6 +177,30 @@ static struct soc_camera_link iclink##idx##_ml86v7667 __initdata = { \
|
|||||||
BOCKW_CAMERA(0);
|
BOCKW_CAMERA(0);
|
||||||
BOCKW_CAMERA(1);
|
BOCKW_CAMERA(1);
|
||||||
|
|
||||||
|
/* VIN */
|
||||||
|
static struct rcar_vin_platform_data vin_platform_data __initdata = {
|
||||||
|
.flags = RCAR_VIN_BT656,
|
||||||
|
};
|
||||||
|
|
||||||
|
#define R8A7778_VIN(idx) \
|
||||||
|
static struct resource vin##idx##_resources[] __initdata = { \
|
||||||
|
DEFINE_RES_MEM(0xffc50000 + 0x1000 * (idx), 0x1000), \
|
||||||
|
DEFINE_RES_IRQ(gic_iid(0x5a)), \
|
||||||
|
}; \
|
||||||
|
\
|
||||||
|
static struct platform_device_info vin##idx##_info __initdata = { \
|
||||||
|
.parent = &platform_bus, \
|
||||||
|
.name = "r8a7778-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), \
|
||||||
|
}
|
||||||
|
R8A7778_VIN(0);
|
||||||
|
R8A7778_VIN(1);
|
||||||
|
|
||||||
static const struct pinctrl_map bockw_pinctrl_map[] = {
|
static const struct pinctrl_map bockw_pinctrl_map[] = {
|
||||||
/* Ether */
|
/* Ether */
|
||||||
PIN_MAP_MUX_GROUP_DEFAULT("r8a777x-ether", "pfc-r8a7778",
|
PIN_MAP_MUX_GROUP_DEFAULT("r8a777x-ether", "pfc-r8a7778",
|
||||||
@ -236,10 +256,10 @@ static void __init bockw_init(void)
|
|||||||
r8a7778_init_irq_extpin(1);
|
r8a7778_init_irq_extpin(1);
|
||||||
r8a7778_add_standard_devices();
|
r8a7778_add_standard_devices();
|
||||||
r8a7778_add_ether_device(ðer_platform_data);
|
r8a7778_add_ether_device(ðer_platform_data);
|
||||||
r8a7778_add_vin_device(0, &vin_platform_data);
|
platform_device_register_full(&vin0_info);
|
||||||
/* VIN1 has a pin conflict with Ether */
|
/* VIN1 has a pin conflict with Ether */
|
||||||
if (!IS_ENABLED(CONFIG_SH_ETH))
|
if (!IS_ENABLED(CONFIG_SH_ETH))
|
||||||
r8a7778_add_vin_device(1, &vin_platform_data);
|
platform_device_register_full(&vin1_info);
|
||||||
platform_device_register_data(&platform_bus, "soc-camera-pdrv", 0,
|
platform_device_register_data(&platform_bus, "soc-camera-pdrv", 0,
|
||||||
&iclink0_ml86v7667,
|
&iclink0_ml86v7667,
|
||||||
sizeof(iclink0_ml86v7667));
|
sizeof(iclink0_ml86v7667));
|
||||||
|
@ -24,8 +24,6 @@
|
|||||||
extern void r8a7778_add_standard_devices(void);
|
extern void r8a7778_add_standard_devices(void);
|
||||||
extern void r8a7778_add_standard_devices_dt(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_ether_device(struct sh_eth_plat_data *pdata);
|
||||||
extern void r8a7778_add_vin_device(int id,
|
|
||||||
struct rcar_vin_platform_data *pdata);
|
|
||||||
extern void r8a7778_add_dt_devices(void);
|
extern void r8a7778_add_dt_devices(void);
|
||||||
|
|
||||||
extern void r8a7778_init_late(void);
|
extern void r8a7778_init_late(void);
|
||||||
|
@ -281,40 +281,6 @@ void __init r8a7778_register_hspi(int id)
|
|||||||
hspi_resources + (2 * id), 2);
|
hspi_resources + (2 * id), 2);
|
||||||
}
|
}
|
||||||
|
|
||||||
/* VIN */
|
|
||||||
#define R8A7778_VIN(idx) \
|
|
||||||
static struct resource vin##idx##_resources[] __initdata = { \
|
|
||||||
DEFINE_RES_MEM(0xffc50000 + 0x1000 * (idx), 0x1000), \
|
|
||||||
DEFINE_RES_IRQ(gic_iid(0x5a)), \
|
|
||||||
}; \
|
|
||||||
\
|
|
||||||
static struct platform_device_info vin##idx##_info __initdata = { \
|
|
||||||
.parent = &platform_bus, \
|
|
||||||
.name = "r8a7778-vin", \
|
|
||||||
.id = idx, \
|
|
||||||
.res = vin##idx##_resources, \
|
|
||||||
.num_res = ARRAY_SIZE(vin##idx##_resources), \
|
|
||||||
.dma_mask = DMA_BIT_MASK(32), \
|
|
||||||
}
|
|
||||||
|
|
||||||
R8A7778_VIN(0);
|
|
||||||
R8A7778_VIN(1);
|
|
||||||
|
|
||||||
static struct platform_device_info *vin_info_table[] __initdata = {
|
|
||||||
&vin0_info,
|
|
||||||
&vin1_info,
|
|
||||||
};
|
|
||||||
|
|
||||||
void __init r8a7778_add_vin_device(int id, struct rcar_vin_platform_data *pdata)
|
|
||||||
{
|
|
||||||
BUG_ON(id < 0 || id > 1);
|
|
||||||
|
|
||||||
vin_info_table[id]->data = pdata;
|
|
||||||
vin_info_table[id]->size_data = sizeof(*pdata);
|
|
||||||
|
|
||||||
platform_device_register_full(vin_info_table[id]);
|
|
||||||
}
|
|
||||||
|
|
||||||
void __init r8a7778_add_dt_devices(void)
|
void __init r8a7778_add_dt_devices(void)
|
||||||
{
|
{
|
||||||
int i;
|
int i;
|
||||||
|
Loading…
Reference in New Issue
Block a user