diff options
Diffstat (limited to 'target/linux/ramips/files/arch/mips/ralink/rt288x/devices.c')
-rw-r--r-- | target/linux/ramips/files/arch/mips/ralink/rt288x/devices.c | 14 |
1 files changed, 11 insertions, 3 deletions
diff --git a/target/linux/ramips/files/arch/mips/ralink/rt288x/devices.c b/target/linux/ramips/files/arch/mips/ralink/rt288x/devices.c index e9e98d745..7f4d45019 100644 --- a/target/linux/ramips/files/arch/mips/ralink/rt288x/devices.c +++ b/target/linux/ramips/files/arch/mips/ralink/rt288x/devices.c @@ -35,10 +35,14 @@ static struct resource rt288x_flash0_resources[] = { }, }; +struct physmap_flash_data rt288x_flash0_data; static struct platform_device rt288x_flash0_device = { .name = "physmap-flash", .resource = rt288x_flash0_resources, .num_resources = ARRAY_SIZE(rt288x_flash0_resources), + .dev = { + .platform_data = &rt288x_flash0_data, + }, }; static struct resource rt288x_flash1_resources[] = { @@ -50,17 +54,21 @@ static struct resource rt288x_flash1_resources[] = { }, }; +struct physmap_flash_data rt288x_flash1_data; static struct platform_device rt288x_flash1_device = { .name = "physmap-flash", .resource = rt288x_flash1_resources, .num_resources = ARRAY_SIZE(rt288x_flash1_resources), + .dev = { + .platform_data = &rt288x_flash1_data, + }, }; static int rt288x_flash_instance __initdata; -void __init rt288x_register_flash(unsigned int id, - struct physmap_flash_data *pdata) +void __init rt288x_register_flash(unsigned int id) { struct platform_device *pdev; + struct physmap_flash_data *pdata; u32 t; int reg; @@ -80,6 +88,7 @@ void __init rt288x_register_flash(unsigned int id, t = rt288x_memc_rr(reg); t = (t >> FLASH_CFG_WIDTH_SHIFT) & FLASH_CFG_WIDTH_MASK; + pdata = pdev->dev.platform_data; switch (t) { case FLASH_CFG_WIDTH_8BIT: pdata->width = 1; @@ -95,7 +104,6 @@ void __init rt288x_register_flash(unsigned int id, return; } - pdev->dev.platform_data = pdata; pdev->id = rt288x_flash_instance; platform_device_register(pdev); |