1 --- a/drivers/mtd/devices/Kconfig
2 +++ b/drivers/mtd/devices/Kconfig
3 @@ -102,6 +102,14 @@ config M25PXX_USE_FAST_READ
5 This option enables FAST_READ access supported by ST M25Pxx.
7 +config M25PXX_PREFER_SMALL_SECTOR_ERASE
8 + bool "Prefer small sector erase"
9 + depends on MTD_M25P80
12 + This option enables use of the small erase sectors if that is
13 + supported by the flash chip.
16 tristate "Support SST25L (non JEDEC) SPI Flash chips"
18 --- a/drivers/mtd/devices/m25p80.c
19 +++ b/drivers/mtd/devices/m25p80.c
22 #define JEDEC_MFR(_jedec_id) ((_jedec_id) >> 16)
24 +#ifdef CONFIG_M25PXX_PREFER_SMALL_SECTOR_ERASE
25 +#define PREFER_SMALL_SECTOR_ERASE 1
27 +#define PREFER_SMALL_SECTOR_ERASE 0
30 /****************************************************************************/
33 @@ -924,7 +930,7 @@ static int __devinit m25p_probe(struct s
34 flash->mtd.write = m25p80_write;
36 /* prefer "small sector" erase if possible */
37 - if (info->flags & SECT_4K) {
38 + if (PREFER_SMALL_SECTOR_ERASE && (info->flags & SECT_4K)) {
39 flash->erase_opcode = OPCODE_BE_4K;
40 flash->mtd.erasesize = 4096;
41 } else if (info->flags & SECT_4K_PMC) {