upgrade 3.12 targets to 3.12.5
[openwrt/openwrt.git] / target / linux / generic / patches-3.12 / 471-mtd-m25p80-allow-to-disable-small-sector-erase.patch
1 --- a/drivers/mtd/devices/Kconfig
2 +++ b/drivers/mtd/devices/Kconfig
3 @@ -109,6 +109,14 @@ config MTD_SPEAR_SMI
4 help
5 This enable SNOR support on SPEAR platforms using SMI controller
6
7 +config M25PXX_PREFER_SMALL_SECTOR_ERASE
8 + bool "Prefer small sector erase"
9 + depends on MTD_M25P80
10 + default y
11 + help
12 + This option enables use of the small erase sectors if that is
13 + supported by the flash chip.
14 +
15 config MTD_SST25L
16 tristate "Support SST25L (non JEDEC) SPI Flash chips"
17 depends on SPI_MASTER
18 --- a/drivers/mtd/devices/m25p80.c
19 +++ b/drivers/mtd/devices/m25p80.c
20 @@ -82,6 +82,12 @@
21
22 #define JEDEC_MFR(_jedec_id) ((_jedec_id) >> 16)
23
24 +#ifdef CONFIG_M25PXX_PREFER_SMALL_SECTOR_ERASE
25 +#define PREFER_SMALL_SECTOR_ERASE 1
26 +#else
27 +#define PREFER_SMALL_SECTOR_ERASE 0
28 +#endif
29 +
30 /****************************************************************************/
31
32 struct m25p {
33 @@ -1044,7 +1050,7 @@ static int m25p_probe(struct spi_device
34 flash->mtd._write = m25p80_write;
35
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) {