diff options
author | Grazvydas Ignotas <notasas@gmail.com> | 2011-06-03 15:56:33 -0400 |
---|---|---|
committer | Tony Lindgren <tony@atomide.com> | 2011-06-29 04:11:37 -0400 |
commit | 7a559c7882db55c7a40dab19ea43ad747a51185a (patch) | |
tree | dd28f74188fa81f857491215a4e4c099137e770b /arch/arm/mach-omap2/gpmc-nand.c | |
parent | fd4a0286cecd3b1e15771e02bc36bd8494a4a1d8 (diff) |
omap: cleanup NAND platform data
omap_nand_platform_data fields 'options', 'gpio_irq', 'nand_setup' and
'dma_channel' are never referenced by the NAND driver, yet various
board files are initializing those fields. This is both incorrect and
confusing, so remove them. This allows to get rid of a global
variable in gpmc-nand.c.
This also corrects an issue where some boards are trying to pass NAND
16bit flag through .options, but the driver is using .devsize instead
and ignoring .options.
Finally, .dev_ready is treated as a flag by the driver, so make it bool
instead of a function pointer.
Signed-off-by: Grazvydas Ignotas <notasas@gmail.com>
Signed-off-by: Tony Lindgren <tony@atomide.com>
Diffstat (limited to 'arch/arm/mach-omap2/gpmc-nand.c')
-rw-r--r-- | arch/arm/mach-omap2/gpmc-nand.c | 10 |
1 files changed, 3 insertions, 7 deletions
diff --git a/arch/arm/mach-omap2/gpmc-nand.c b/arch/arm/mach-omap2/gpmc-nand.c index c1791d08ae56..8ad210bda9a9 100644 --- a/arch/arm/mach-omap2/gpmc-nand.c +++ b/arch/arm/mach-omap2/gpmc-nand.c | |||
@@ -20,8 +20,6 @@ | |||
20 | #include <plat/board.h> | 20 | #include <plat/board.h> |
21 | #include <plat/gpmc.h> | 21 | #include <plat/gpmc.h> |
22 | 22 | ||
23 | static struct omap_nand_platform_data *gpmc_nand_data; | ||
24 | |||
25 | static struct resource gpmc_nand_resource = { | 23 | static struct resource gpmc_nand_resource = { |
26 | .flags = IORESOURCE_MEM, | 24 | .flags = IORESOURCE_MEM, |
27 | }; | 25 | }; |
@@ -33,7 +31,7 @@ static struct platform_device gpmc_nand_device = { | |||
33 | .resource = &gpmc_nand_resource, | 31 | .resource = &gpmc_nand_resource, |
34 | }; | 32 | }; |
35 | 33 | ||
36 | static int omap2_nand_gpmc_retime(void) | 34 | static int omap2_nand_gpmc_retime(struct omap_nand_platform_data *gpmc_nand_data) |
37 | { | 35 | { |
38 | struct gpmc_timings t; | 36 | struct gpmc_timings t; |
39 | int err; | 37 | int err; |
@@ -83,13 +81,11 @@ static int omap2_nand_gpmc_retime(void) | |||
83 | return 0; | 81 | return 0; |
84 | } | 82 | } |
85 | 83 | ||
86 | int __init gpmc_nand_init(struct omap_nand_platform_data *_nand_data) | 84 | int __init gpmc_nand_init(struct omap_nand_platform_data *gpmc_nand_data) |
87 | { | 85 | { |
88 | int err = 0; | 86 | int err = 0; |
89 | struct device *dev = &gpmc_nand_device.dev; | 87 | struct device *dev = &gpmc_nand_device.dev; |
90 | 88 | ||
91 | gpmc_nand_data = _nand_data; | ||
92 | gpmc_nand_data->nand_setup = omap2_nand_gpmc_retime; | ||
93 | gpmc_nand_device.dev.platform_data = gpmc_nand_data; | 89 | gpmc_nand_device.dev.platform_data = gpmc_nand_data; |
94 | 90 | ||
95 | err = gpmc_cs_request(gpmc_nand_data->cs, NAND_IO_SIZE, | 91 | 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) | |||
100 | } | 96 | } |
101 | 97 | ||
102 | /* Set timings in GPMC */ | 98 | /* Set timings in GPMC */ |
103 | err = omap2_nand_gpmc_retime(); | 99 | err = omap2_nand_gpmc_retime(gpmc_nand_data); |
104 | if (err < 0) { | 100 | if (err < 0) { |
105 | dev_err(dev, "Unable to set gpmc timings: %d\n", err); | 101 | dev_err(dev, "Unable to set gpmc timings: %d\n", err); |
106 | return err; | 102 | return err; |