--- linux-2.4.20/drivers/mtd/chips/gen_probe.c.orig Fri Oct 5 00:14:59 2001 +++ linux-2.4.20/drivers/mtd/chips/gen_probe.c Thu May 8 15:34:52 2003 @@ -159,13 +159,6 @@ #ifdef CFIDEV_BUSWIDTH_2 case CFIDEV_BUSWIDTH_2: -#ifdef CFIDEV_INTERLEAVE_1 - cfi->interleave = CFIDEV_INTERLEAVE_1; - - cfi->device_type = CFI_DEVICETYPE_X16; - if (cp->probe_chip(map, 0, NULL, cfi)) - return 1; -#endif /* CFIDEV_INTERLEAVE_1 */ #ifdef CFIDEV_INTERLEAVE_2 cfi->interleave = CFIDEV_INTERLEAVE_2; @@ -177,50 +170,56 @@ if (cp->probe_chip(map, 0, NULL, cfi)) return 1; #endif /* CFIDEV_INTERLEAVE_2 */ +#ifdef CFIDEV_INTERLEAVE_1 + cfi->interleave = CFIDEV_INTERLEAVE_1; + + cfi->device_type = CFI_DEVICETYPE_X16; + if (cp->probe_chip(map, 0, NULL, cfi)) + return 1; +#endif /* CFIDEV_INTERLEAVE_1 */ break; -#endif /* CFIDEV_BUSWIDTH_2 */ +#endif /* CFIDEV_BUSWIDTH_2 */ #ifdef CFIDEV_BUSWIDTH_4 case CFIDEV_BUSWIDTH_4: -#if defined(CFIDEV_INTERLEAVE_1) && defined(SOMEONE_ACTUALLY_MAKES_THESE) - cfi->interleave = CFIDEV_INTERLEAVE_1; +#ifdef CFIDEV_INTERLEAVE_4 + cfi->interleave = CFIDEV_INTERLEAVE_4; - cfi->device_type = CFI_DEVICETYPE_X32; + cfi->device_type = CFI_DEVICETYPE_X8; if (cp->probe_chip(map, 0, NULL, cfi)) return 1; -#endif /* CFIDEV_INTERLEAVE_1 */ -#ifdef CFIDEV_INTERLEAVE_2 - cfi->interleave = CFIDEV_INTERLEAVE_2; -#ifdef SOMEONE_ACTUALLY_MAKES_THESE - cfi->device_type = CFI_DEVICETYPE_X32; + cfi->device_type = CFI_DEVICETYPE_X16; if (cp->probe_chip(map, 0, NULL, cfi)) return 1; -#endif - cfi->device_type = CFI_DEVICETYPE_X16; + +#ifdef SOMEONE_ACTUALLY_MAKES_THESE + cfi->device_type = CFI_DEVICETYPE_X32; if (cp->probe_chip(map, 0, NULL, cfi)) return 1; +#endif /* SOMEONE_ACTUALLY_MAKES_THESE */ - cfi->device_type = CFI_DEVICETYPE_X8; +#endif /* CFIDEV_INTERLEAVE_4 */ +#ifdef CFIDEV_INTERLEAVE_2 + cfi->interleave = CFIDEV_INTERLEAVE_2; + + cfi->device_type = CFI_DEVICETYPE_X16; if (cp->probe_chip(map, 0, NULL, cfi)) return 1; -#endif /* CFIDEV_INTERLEAVE_2 */ -#ifdef CFIDEV_INTERLEAVE_4 - cfi->interleave = CFIDEV_INTERLEAVE_4; #ifdef SOMEONE_ACTUALLY_MAKES_THESE cfi->device_type = CFI_DEVICETYPE_X32; if (cp->probe_chip(map, 0, NULL, cfi)) return 1; -#endif - cfi->device_type = CFI_DEVICETYPE_X16; - if (cp->probe_chip(map, 0, NULL, cfi)) - return 1; +#endif /* SOMEONE_ACTUALLY_MAKES_THESE */ +#endif /* CFIDEV_INTERLEAVE_2 */ +#if defined(CFIDEV_INTERLEAVE_1) && defined(SOMEONE_ACTUALLY_MAKES_THESE) + cfi->interleave = CFIDEV_INTERLEAVE_1; - cfi->device_type = CFI_DEVICETYPE_X8; + cfi->device_type = CFI_DEVICETYPE_X32; if (cp->probe_chip(map, 0, NULL, cfi)) return 1; -#endif /* CFIDEV_INTERLEAVE_4 */ +#endif /* CFIDEV_INTERLEAVE_1 */ break; #endif /* CFIDEV_BUSWIDTH_4 */