Message ID | 20101208151906.20317.53000.stgit@dev.siriade.com |
---|---|
State | New, archived |
Headers | show |
On Wed, Dec 08, 2010 at 04:19:06PM +0100, Guillaume LECERF wrote: > These chips report CFI v3.3 [1], so patch them on the fly to the more > correct v1.3. > Discussed and tested by the OpenWRT people [2]. > > [1] http://www.samsung.com/global/system/business/semiconductor/product/2007/6/11/NORFlash/32Mbit/K8D3216UBC/ds_K8D3x16UxC_rev17.pdf > [2] https://dev.openwrt.org/ticket/866 > > Signed-off-by: Guillaume LECERF <glecerf@gmail.com> > --- > drivers/mtd/chips/cfi_cmdset_0002.c | 13 +++++++++++++ > 1 files changed, 13 insertions(+), 0 deletions(-) > > diff --git a/drivers/mtd/chips/cfi_cmdset_0002.c b/drivers/mtd/chips/cfi_cmdset_0002.c > index 28e05ad..bee619e 100644 > --- a/drivers/mtd/chips/cfi_cmdset_0002.c > +++ b/drivers/mtd/chips/cfi_cmdset_0002.c > @@ -403,6 +403,19 @@ static void cfi_fixup_major_minor(struct cfi_private *cfi, > extp->MajorVersion = '1'; > extp->MinorVersion = '0'; > } > + if (extp->MajorVersion == '3' && extp->MinorVersion == '3') { > + /* > + * Samsung K8D3x16UxC chips report major=3 / minor=3 > + */ > + printk(KERN_NOTICE " Newer Samsung flash detected, " > + "should be compatibile with Amd/Fujitsu.\n"); compatible > + Extra line could be removed, but that's terribly minor :) > + printk(" Fixed Samsung's Amd/Fujitsu Extended Query version from %c.%c to 1.3", > + extp->MajorVersion, extp->MinorVersion); loglevel? \n? > + > + extp->MajorVersion = '1'; // set to 1.3 Use C-comments, please. Given the explanation in the printout above, can also be dropped entirely IMHO. > + extp->MinorVersion = '3'; > + } > } Regards, Wolfram
diff --git a/drivers/mtd/chips/cfi_cmdset_0002.c b/drivers/mtd/chips/cfi_cmdset_0002.c index 28e05ad..bee619e 100644 --- a/drivers/mtd/chips/cfi_cmdset_0002.c +++ b/drivers/mtd/chips/cfi_cmdset_0002.c @@ -403,6 +403,19 @@ static void cfi_fixup_major_minor(struct cfi_private *cfi, extp->MajorVersion = '1'; extp->MinorVersion = '0'; } + if (extp->MajorVersion == '3' && extp->MinorVersion == '3') { + /* + * Samsung K8D3x16UxC chips report major=3 / minor=3 + */ + printk(KERN_NOTICE " Newer Samsung flash detected, " + "should be compatibile with Amd/Fujitsu.\n"); + + printk(" Fixed Samsung's Amd/Fujitsu Extended Query version from %c.%c to 1.3", + extp->MajorVersion, extp->MinorVersion); + + extp->MajorVersion = '1'; // set to 1.3 + extp->MinorVersion = '3'; + } } /*
These chips report CFI v3.3 [1], so patch them on the fly to the more correct v1.3. Discussed and tested by the OpenWRT people [2]. [1] http://www.samsung.com/global/system/business/semiconductor/product/2007/6/11/NORFlash/32Mbit/K8D3216UBC/ds_K8D3x16UxC_rev17.pdf [2] https://dev.openwrt.org/ticket/866 Signed-off-by: Guillaume LECERF <glecerf@gmail.com> --- drivers/mtd/chips/cfi_cmdset_0002.c | 13 +++++++++++++ 1 files changed, 13 insertions(+), 0 deletions(-)