mtd: gen_probe: use AMD standard command-set with Winbond flash chips
PATCH 1/1 mtd: gen_probe: use AMD standard command-set with Winbond flash chips
Tested with W19L320SBT9C [1].
[1] http://www.datasheetarchive.com/pdf-datasheets/Datasheets-40/DSA-795343.pdf
--- drivers/mtd/chips/gen_probe.c | 1 + 1 files changed, 1 insertions(+), 0 deletions(-)
drivers/mtd/chips/gen_probe.c +1 -0
@@ -249,6 +249,7 @@ static struct mtd_info *check_cmd_set(struct map_info *map, int primary)#ifdef CONFIG_MTD_CFI_AMDSTD case P_ID_AMD_STD :case P_ID_SST_OLD : +case P_ID_WINBOND :return cfi_cmdset_0002 (map, primary);#endif #ifdef CONFIG_MTD_CFI_STAA
Hi Guillaume,
Quoted 6 lines · On Monday 17 May 2010 11:39:42 Guillaume LECERF wrote:
Tested with W19L320SBT9C [1].
[1]
http://www.datasheetarchive.com/pdf-datasheets/Datasheets-40/DSA-795343.pd
f
That's correct, thanks!
Quoted 2 lines
Signed-off-by Obinou <[email protected]>Signed-off-by Guillaume LECERF <[email protected]>
Quoted 22 lines
--- drivers/mtd/chips/gen_probe.c | 1 + 1 files changed, 1 insertions(+), 0 deletions(-)drivers/mtd/chips/gen_probe.c +1
-0@@ -249,6 +249,7 @@ static struct mtd_info *check_cmd_set(struct map_info *map, int primary) #ifdef CONFIG_MTD_CFI_AMDSTDcase P_ID_AMD_STD :case P_ID_SST_OLD : +case P_ID_WINBOND :return cfi_cmdset_0002 (map, primary);#endif #ifdef CONFIG_MTD_CFI_STAA ______________________________________________________
Linux MTD discussion mailing list
http://lists.infradead.org/mailman/listinfo/linux-mtd/
Quoted 15 lines · Guillaume LECERF
Tested with W19L320SBT9C [1].
[1] http://www.datasheetarchive.com/pdf-datasheets/Datasheets-40/DSA-795343.pdf
Signed-off-by Obinou <[email protected]>Signed-off-by Guillaume LECERF <[email protected]>--- drivers/mtd/chips/gen_probe.c | 1 + 1 files changed, 1 insertions(+), 0 deletions(-)drivers/mtd/chips/gen_probe.c +0
-0
drivers/mtd/chips/gen_probe.c static struct mtd_info *check_cmd_set(struct map_info *map, int primary) · line 255
Quoted 7 lines
drivers/mtd/chips/gen_probe.c +1
-0@@ -249,6 +249,7 @@ static struct mtd_info *check_cmd_set(struct map_info *map, int primary)#ifdef CONFIG_MTD_CFI_AMDSTD case P_ID_AMD_STD :case P_ID_SST_OLD : +case P_ID_WINBOND :return cfi_cmdset_0002 (map, primary);#endif #ifdef CONFIG_MTD_CFI_STAA
Looks like this won't automatically load the cfi_cmdset_0002 module on demand, from cfi_cmdset_unknown(). See how the cfi_cmdset_0001 module does it with aliases for 0003 and 0200.
Your recent addition of P_ID_SST_OLD suffers the same problem. You want something like this... please test (with CONFIG_MTD_CFI_AMDSTD=m):
drivers/mtd/chips/cfi_cmdset_0002.c +6 -0
@@ -489,7 +489,11 @@ struct mtd_info *cfi_cmdset_0002(struct map_info *map, int primary)return cfi_amdstd_setup (mtd); } +struct mtd_info *cfi_cmdset_0006 (struct map_info *map,int primary) __attribute__((alias ("cfi_cmdset_0002" ))); +struct mtd_info *cfi_cmdset_0701 (struct map_info *map,int primary) __attribute__((alias ("cfi_cmdset_0002" )));EXPORT_SYMBOL_GPL (cfi_cmdset_0002); +EXPORT_SYMBOL_GPL (cfi_cmdset_0006); +EXPORT_SYMBOL_GPL (cfi_cmdset_0701);static struct mtd_info *cfi_amdstd_setup (struct mtd_info *mtd) {
@@ -2040,3 +2044,5 @@ static void cfi_amdstd_destroy(struct mtd_info *mtd)MODULE_LICENSE ("GPL" );MODULE_AUTHOR ("Crossnet Co. <[email protected]> et al." );MODULE_DESCRIPTION ("MTD chip driver for AMD/Fujitsu flash chips" ); +MODULE_ALIAS ("cfi_cmdset_0006" ); +MODULE_ALIAS ("cfi_cmdset_0701" );
Signature · 2 lines
David Woodhouse Open Source Technology Centre [email protected] Intel Corporation