TE28F320B3B madness :(
Kremer, Alex
alex.kremer at intel.com
Sun Oct 28 11:11:59 EST 2001
| From: Larry Doolittle [mailto:ldoolitt at recycle.lbl.gov]
|
| > You will need to replace "cfi_probe" with "jedec_probe" in
| do_map_probe()
| > from the maps driver (drivers/mtd/maps) you are using.
|
| That's quite true. Correct me if I'm wrong, but I think it
| should _always_ be safe to probe for JEDEC first, and CFI
| second. So _all_ the mtd/maps drivers should do this,
| and there should in fact be a systematic method that they
| all use. Like having a "map_flash" virtual probe that calls
| first "jedec" and then "cfi_probe", if and only if each in
| turn is compiled into the kernel.
I'm still trying to contact the right people on false QRY from a B3 so
"cfi_probe",
then "jedec_probe" would work always. I didn't get any reply yet...
Maybe there is a smart way in use somewhere else in kernel to
set priorities (ordering), so there can be a mtd_register_probe()
which would be called from the module init.
If not, a single map_flash() would be really appreciated.
I think that replacing every do_map_probe("cfi_probe", ?) with
a call to the following would get the most from the current chip support:
struct mtd_info *map_probe_flash(struct map_info *map) {
char *probes[] = {
#ifdef CONFIG_MTD_CFI
"cfi_probe",
#endif
#ifdef CONFIG_MTD_JEDECPROBE
"jedec_probe",
#endif
#ifdef CONFIG_MTD_ROM
"map_rom",
#endif
NULL
};
mtd_info *mymtd = NULL;
while (*probes && !(mymtd = do_map_probe(*(probes++), map)))
;
return mymtd;
}
Kreso
More information about the linux-mtd
mailing list