gpmc code has been converted to driver. Modify the board
code to provide gpmc driver with required information.

Signed-off-by: Afzal Mohammed <af...@ti.com>
---
 arch/arm/mach-omap2/board-2430sdp.c |   42 +++++++++++++++++++++--------------
 1 file changed, 25 insertions(+), 17 deletions(-)

diff --git a/arch/arm/mach-omap2/board-2430sdp.c 
b/arch/arm/mach-omap2/board-2430sdp.c
index 68679a8..d94ada4 100644
--- a/arch/arm/mach-omap2/board-2430sdp.c
+++ b/arch/arm/mach-omap2/board-2430sdp.c
@@ -46,9 +46,16 @@
 #include "hsmmc.h"
 #include "common-board-devices.h"
 
-#define SDP2430_CS0_BASE       0x04000000
+#define SDP2430_FLASH_CS               0
 #define SECONDARY_LCD_GPIO             147
 
+static struct gpmc_device_pdata *gpmc_device_data[2];
+static struct gpmc_device_pdata **gpmc_cur = gpmc_device_data;
+
+static struct gpmc_pdata gpmc_data = {
+       .device_pdata = gpmc_device_data,
+};
+
 static struct mtd_partition sdp2430_partitions[] = {
        /* bootloader (U-Boot, etc) in first sector */
        {
@@ -86,24 +93,18 @@ static struct physmap_flash_data sdp2430_flash_data = {
        .nr_parts       = ARRAY_SIZE(sdp2430_partitions),
 };
 
-static struct resource sdp2430_flash_resource = {
-       .start          = SDP2430_CS0_BASE,
-       .end            = SDP2430_CS0_BASE + SZ_64M - 1,
-       .flags          = IORESOURCE_MEM,
+static struct gpmc_cs_data sdp2430_gpmc_cs_flash_data = {
+       .cs             = SDP2430_FLASH_CS,
+       .mem_size       = SZ_64M,
 };
 
-static struct platform_device sdp2430_flash_device = {
+static struct gpmc_device_pdata sdp2430_gpmc_flash_device = {
        .name           = "physmap-flash",
        .id             = 0,
-       .dev = {
-               .platform_data  = &sdp2430_flash_data,
-       },
-       .num_resources  = 1,
-       .resource       = &sdp2430_flash_resource,
-};
-
-static struct platform_device *sdp2430_devices[] __initdata = {
-       &sdp2430_flash_device,
+       .pdata          = &sdp2430_flash_data,
+       .pdata_size     = sizeof(sdp2430_flash_data),
+       .cs_data        = &sdp2430_gpmc_cs_flash_data,
+       .num_cs         = 1,
 };
 
 /* LCD */
@@ -181,7 +182,11 @@ static struct omap_smc91x_platform_data board_smc91x_data 
= {
 static void __init board_smc91x_init(void)
 {
        omap_mux_init_gpio(149, OMAP_PIN_INPUT);
-       gpmc_smc91x_init(&board_smc91x_data);
+       *gpmc_cur = gpmc_smc91x_init(&board_smc91x_data);
+       if (*gpmc_cur)
+               gpmc_data.num_device++, gpmc_cur++;
+       else
+               pr_err("error: unable to initilaize gpmc smsc911x\n");
 }
 
 #else
@@ -276,7 +281,9 @@ static void __init omap_2430sdp_init(void)
 
        omap2430_i2c_init();
 
-       platform_add_devices(sdp2430_devices, ARRAY_SIZE(sdp2430_devices));
+       *gpmc_cur++ = &sdp2430_gpmc_flash_device;
+       gpmc_data.num_device++;
+
        omap_serial_init();
        omap_sdrc_init(NULL, NULL);
        omap_hsmmc_init(mmc);
@@ -286,6 +293,7 @@ static void __init omap_2430sdp_init(void)
        usb_musb_init(NULL);
 
        board_smc91x_init();
+       omap_init_gpmc(&gpmc_data);
 
        /* Turn off secondary LCD backlight */
        gpio_request_one(SECONDARY_LCD_GPIO, GPIOF_OUT_INIT_LOW,
-- 
1.7.10

--
To unsubscribe from this list: send the line "unsubscribe linux-omap" in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html

Reply via email to