|
@@ -20,8 +20,6 @@
|
|
|
#include <plat/board.h>
|
|
|
#include <plat/gpmc.h>
|
|
|
|
|
|
-static struct omap_nand_platform_data *gpmc_nand_data;
|
|
|
-
|
|
|
static struct resource gpmc_nand_resource = {
|
|
|
.flags = IORESOURCE_MEM,
|
|
|
};
|
|
@@ -33,7 +31,7 @@ static struct platform_device gpmc_nand_device = {
|
|
|
.resource = &gpmc_nand_resource,
|
|
|
};
|
|
|
|
|
|
-static int omap2_nand_gpmc_retime(void)
|
|
|
+static int omap2_nand_gpmc_retime(struct omap_nand_platform_data *gpmc_nand_data)
|
|
|
{
|
|
|
struct gpmc_timings t;
|
|
|
int err;
|
|
@@ -83,13 +81,11 @@ static int omap2_nand_gpmc_retime(void)
|
|
|
return 0;
|
|
|
}
|
|
|
|
|
|
-int __init gpmc_nand_init(struct omap_nand_platform_data *_nand_data)
|
|
|
+int __init gpmc_nand_init(struct omap_nand_platform_data *gpmc_nand_data)
|
|
|
{
|
|
|
int err = 0;
|
|
|
struct device *dev = &gpmc_nand_device.dev;
|
|
|
|
|
|
- gpmc_nand_data = _nand_data;
|
|
|
- gpmc_nand_data->nand_setup = omap2_nand_gpmc_retime;
|
|
|
gpmc_nand_device.dev.platform_data = gpmc_nand_data;
|
|
|
|
|
|
err = gpmc_cs_request(gpmc_nand_data->cs, NAND_IO_SIZE,
|
|
@@ -100,7 +96,7 @@ int __init gpmc_nand_init(struct omap_nand_platform_data *_nand_data)
|
|
|
}
|
|
|
|
|
|
/* Set timings in GPMC */
|
|
|
- err = omap2_nand_gpmc_retime();
|
|
|
+ err = omap2_nand_gpmc_retime(gpmc_nand_data);
|
|
|
if (err < 0) {
|
|
|
dev_err(dev, "Unable to set gpmc timings: %d\n", err);
|
|
|
return err;
|