summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorAfzal Mohammed <afzal@ti.com>2012-10-05 11:39:54 +0530
committerAfzal Mohammed <afzal@ti.com>2012-10-15 14:41:59 +0530
commiteb77b6a78ac7f63985a3f592baf80ff33d213c48 (patch)
tree2e77450150a5db8f27f8a58efa954b5b9c97e353
parent4ea1e4ba7bec0a3d490a846376140643e4860536 (diff)
downloadop-kernel-dev-eb77b6a78ac7f63985a3f592baf80ff33d213c48.zip
op-kernel-dev-eb77b6a78ac7f63985a3f592baf80ff33d213c48.tar.gz
ARM: OMAP2+: onenand: connected soc info in pdata
onenand driver needs to know whether soc is falling under 34xx family to properly handle onenand. But driver is not supposed to do cpu_is_* check, hence educate platform data with this information. Driver can make use of it to avoid cpu_is_* check. Signed-off-by: Afzal Mohammed <afzal@ti.com>
-rw-r--r--arch/arm/mach-omap2/gpmc-onenand.c5
-rw-r--r--include/linux/platform_data/mtd-onenand-omap2.h1
2 files changed, 6 insertions, 0 deletions
diff --git a/arch/arm/mach-omap2/gpmc-onenand.c b/arch/arm/mach-omap2/gpmc-onenand.c
index 06fd846..4a1c0b7 100644
--- a/arch/arm/mach-omap2/gpmc-onenand.c
+++ b/arch/arm/mach-omap2/gpmc-onenand.c
@@ -428,6 +428,11 @@ void __init gpmc_onenand_init(struct omap_onenand_platform_data *_onenand_data)
gpmc_onenand_data->flags |= ONENAND_SYNC_READ;
}
+ if (cpu_is_omap34xx())
+ gpmc_onenand_data->flags |= ONENAND_IN_OMAP34XX;
+ else
+ gpmc_onenand_data->flags &= ~ONENAND_IN_OMAP34XX;
+
err = gpmc_cs_request(gpmc_onenand_data->cs, ONENAND_IO_SIZE,
(unsigned long *)&gpmc_onenand_resource.start);
if (err < 0) {
diff --git a/include/linux/platform_data/mtd-onenand-omap2.h b/include/linux/platform_data/mtd-onenand-omap2.h
index 21bb0ff..ef9c60d 100644
--- a/include/linux/platform_data/mtd-onenand-omap2.h
+++ b/include/linux/platform_data/mtd-onenand-omap2.h
@@ -14,6 +14,7 @@
#define ONENAND_SYNC_READ (1 << 0)
#define ONENAND_SYNC_READWRITE (1 << 1)
+#define ONENAND_IN_OMAP34XX (1 << 2)
struct omap_onenand_platform_data {
int cs;
OpenPOWER on IntegriCloud