[PATCH] CFI: remove major/minor version check for command set 0x0002
Nicolas Pitre
nico at cam.org
Thu Jan 8 13:33:04 EST 2009
On Thu, 8 Jan 2009, Wolfgang Grandegger wrote:
> Yep, the patch below introduces cfi_fixup_major_minor() to do the quirk.
> What do you think now?
Looks fine to me.
>
> Wolfgang.
>
> ---
> drivers/mtd/chips/cfi_cmdset_0002.c | 10 ++++++++++
> include/linux/mtd/cfi.h | 1 +
> 2 files changed, 11 insertions(+)
>
> Index: linux-2.6/drivers/mtd/chips/cfi_cmdset_0002.c
> ===================================================================
> --- linux-2.6.orig/drivers/mtd/chips/cfi_cmdset_0002.c
> +++ linux-2.6/drivers/mtd/chips/cfi_cmdset_0002.c
> @@ -322,6 +322,14 @@ static struct cfi_fixup fixup_table[] =
> };
>
>
> +static void cfi_fixup_major_minor(struct cfi_private *cfi,
> + struct cfi_pri_amdstd *extp)
> +{
> + if (cfi->mfr == CFI_MFR_SAMSUNG && cfi->id == 0x257e &&
> + extp->MajorVersion == '0')
> + extp->MajorVersion = '1';
> +}
> +
> struct mtd_info *cfi_cmdset_0002(struct map_info *map, int primary)
> {
> struct cfi_private *cfi = map->fldrv_priv;
> @@ -363,6 +371,8 @@ struct mtd_info *cfi_cmdset_0002(struct
> return NULL;
> }
>
> + cfi_fixup_major_minor(cfi, extp);
> +
> if (extp->MajorVersion != '1' ||
> (extp->MinorVersion < '0' || extp->MinorVersion > '4')) {
> printk(KERN_ERR " Unknown Amd/Fujitsu Extended Query "
> Index: linux-2.6/include/linux/mtd/cfi.h
> ===================================================================
> --- linux-2.6.orig/include/linux/mtd/cfi.h
> +++ linux-2.6/include/linux/mtd/cfi.h
> @@ -520,6 +520,7 @@ struct cfi_fixup {
>
> #define CFI_MFR_AMD 0x0001
> #define CFI_MFR_ATMEL 0x001F
> +#define CFI_MFR_SAMSUNG 0x00EC
> #define CFI_MFR_ST 0x0020 /* STMicroelectronics */
>
> void cfi_fixup(struct mtd_info *mtd, struct cfi_fixup* fixups);
>
More information about the linux-mtd
mailing list