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:
Родитель
22e247ef14
Коммит
4bd4c5b32b
|
@ -259,10 +259,30 @@ static struct platform_device leds_device = {
|
||||||
},
|
},
|
||||||
};
|
};
|
||||||
|
|
||||||
|
/* VIN */
|
||||||
static struct rcar_vin_platform_data vin_platform_data __initdata = {
|
static struct rcar_vin_platform_data vin_platform_data __initdata = {
|
||||||
.flags = RCAR_VIN_BT656,
|
.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) \
|
#define MARZEN_CAMERA(idx) \
|
||||||
static struct i2c_board_info camera##idx##_info = { \
|
static struct i2c_board_info camera##idx##_info = { \
|
||||||
I2C_BOARD_INFO("adv7180", 0x20 + (idx)), \
|
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_init_irq_extpin(1); /* IRQ1 as individual interrupt */
|
||||||
|
|
||||||
r8a7779_add_standard_devices();
|
r8a7779_add_standard_devices();
|
||||||
r8a7779_add_vin_device(1, &vin_platform_data);
|
platform_device_register_full(&vin1_info);
|
||||||
r8a7779_add_vin_device(3, &vin_platform_data);
|
platform_device_register_full(&vin3_info);
|
||||||
platform_add_devices(marzen_devices, ARRAY_SIZE(marzen_devices));
|
platform_add_devices(marzen_devices, ARRAY_SIZE(marzen_devices));
|
||||||
marzen_add_du_device();
|
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(void);
|
||||||
extern void r8a7779_add_standard_devices_dt(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_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_init_late(void);
|
||||||
extern void r8a7779_clock_init(void);
|
extern void r8a7779_clock_init(void);
|
||||||
extern void r8a7779_pinmux_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 */
|
/* HPB-DMA */
|
||||||
|
|
||||||
/* Asynchronous mode register bits */
|
/* Asynchronous mode register bits */
|
||||||
|
@ -833,16 +806,6 @@ void __init r8a7779_add_ether_device(struct sh_eth_plat_data *pdata)
|
||||||
pdata, sizeof(*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 */
|
/* do nothing for !CONFIG_SMP or !CONFIG_HAVE_TWD */
|
||||||
void __init __weak r8a7779_register_twd(void) { }
|
void __init __weak r8a7779_register_twd(void) { }
|
||||||
|
|
||||||
|
|
Загрузка…
Ссылка в новой задаче