openwrt/target/linux/lantiq/patches-3.10/0105-mips-lantiq-flash-add-...

39 lines
1.1 KiB
Diff
Raw Normal View History

Makes the Lantiq flash driver try jedec probing if cfi probing fails.
(Based on work by Simon Hayes first published on www.psidoc.com and
http://sourceforge.net/projects/hh2b4ever/)
Signed-off-by: Ben Mulvihill <ben.mulvihill@gmail.com>
---
lantiq-flash.c | 11 ++++++++++-
1 file changed, 10 insertions(+), 1 deletion(-)
--- a/drivers/mtd/maps/lantiq-flash.c
+++ b/drivers/mtd/maps/lantiq-flash.c
@@ -117,6 +117,11 @@ ltq_mtd_probe(struct platform_device *pd
struct cfi_private *cfi;
int err;
+ static const char *rom_probe_types[] = {
+ "cfi_probe", "jedec_probe", NULL
+ };
+ const char **type;
+
if (of_machine_is_compatible("lantiq,falcon") &&
(ltq_boot_select() != BS_FLASH)) {
dev_err(&pdev->dev, "invalid bootstrap options\n");
@@ -154,7 +159,11 @@ ltq_mtd_probe(struct platform_device *pd
ltq_mtd->map->copy_to = ltq_copy_to;
ltq_mtd->map->map_priv_1 = LTQ_NOR_PROBING;
- ltq_mtd->mtd = do_map_probe("cfi_probe", ltq_mtd->map);
+
+ for (type = rom_probe_types; !ltq_mtd->mtd && *type; type++) {
+ ltq_mtd->mtd = do_map_probe(*type, ltq_mtd->map);
+ }
+
ltq_mtd->map->map_priv_1 = LTQ_NOR_NORMAL;
if (!ltq_mtd->mtd) {