aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/mtd
diff options
context:
space:
mode:
authorBrian Norris <computersforpeace@gmail.com>2012-05-01 20:12:55 -0400
committerDavid Woodhouse <David.Woodhouse@intel.com>2012-05-14 00:15:38 -0400
commit1826dbccebc9a58a0b0c0a9b7c09e47b19d97398 (patch)
tree098b450ef3c9a682846b9db44f1c201d233bf7dd /drivers/mtd
parentc00a0991d14dce8d714becc49ec8ae5db9c8ac98 (diff)
mtd: nand: kill NAND_NO_AUTOINCR option
No drivers use auto-increment NAND, so kill the NO_AUTOINCR option entirely. Signed-off-by: Brian Norris <computersforpeace@gmail.com> Signed-off-by: Artem Bityutskiy <artem.bityutskiy@linux.intel.com> Signed-off-by: David Woodhouse <David.Woodhouse@intel.com>
Diffstat (limited to 'drivers/mtd')
-rw-r--r--drivers/mtd/nand/au1550nd.c2
-rw-r--r--drivers/mtd/nand/cafe_nand.c2
-rw-r--r--drivers/mtd/nand/cs553x_nand.c1
-rw-r--r--drivers/mtd/nand/docg4.c3
-rw-r--r--drivers/mtd/nand/fsl_elbc_nand.c2
-rw-r--r--drivers/mtd/nand/fsl_ifc_nand.c2
-rw-r--r--drivers/mtd/nand/h1910.c1
-rw-r--r--drivers/mtd/nand/mpc5121_nfc.c1
-rw-r--r--drivers/mtd/nand/nand_base.c8
-rw-r--r--drivers/mtd/nand/nand_ids.c6
-rw-r--r--drivers/mtd/nand/pasemi_nand.c1
-rw-r--r--drivers/mtd/nand/pxa3xx_nand.c1
-rw-r--r--drivers/mtd/nand/sh_flctl.c2
-rw-r--r--drivers/mtd/nand/sm_common.c9
14 files changed, 11 insertions, 30 deletions
diff --git a/drivers/mtd/nand/au1550nd.c b/drivers/mtd/nand/au1550nd.c
index 73abbc3e093e..9f609d2dcf62 100644
--- a/drivers/mtd/nand/au1550nd.c
+++ b/drivers/mtd/nand/au1550nd.c
@@ -508,8 +508,6 @@ static int __devinit au1550nd_probe(struct platform_device *pdev)
508 this->chip_delay = 30; 508 this->chip_delay = 30;
509 this->ecc.mode = NAND_ECC_SOFT; 509 this->ecc.mode = NAND_ECC_SOFT;
510 510
511 this->options = NAND_NO_AUTOINCR;
512
513 if (pd->devwidth) 511 if (pd->devwidth)
514 this->options |= NAND_BUSWIDTH_16; 512 this->options |= NAND_BUSWIDTH_16;
515 513
diff --git a/drivers/mtd/nand/cafe_nand.c b/drivers/mtd/nand/cafe_nand.c
index 886ff3a064c2..75fb77b96efb 100644
--- a/drivers/mtd/nand/cafe_nand.c
+++ b/drivers/mtd/nand/cafe_nand.c
@@ -687,7 +687,7 @@ static int __devinit cafe_nand_probe(struct pci_dev *pdev,
687 687
688 /* Enable the following for a flash based bad block table */ 688 /* Enable the following for a flash based bad block table */
689 cafe->nand.bbt_options = NAND_BBT_USE_FLASH; 689 cafe->nand.bbt_options = NAND_BBT_USE_FLASH;
690 cafe->nand.options = NAND_NO_AUTOINCR | NAND_OWN_BUFFERS; 690 cafe->nand.options = NAND_OWN_BUFFERS;
691 691
692 if (skipbbt) { 692 if (skipbbt) {
693 cafe->nand.options |= NAND_SKIP_BBTSCAN; 693 cafe->nand.options |= NAND_SKIP_BBTSCAN;
diff --git a/drivers/mtd/nand/cs553x_nand.c b/drivers/mtd/nand/cs553x_nand.c
index 821c34c62500..adb6c3ef37fb 100644
--- a/drivers/mtd/nand/cs553x_nand.c
+++ b/drivers/mtd/nand/cs553x_nand.c
@@ -240,7 +240,6 @@ static int __init cs553x_init_one(int cs, int mmio, unsigned long adr)
240 240
241 /* Enable the following for a flash based bad block table */ 241 /* Enable the following for a flash based bad block table */
242 this->bbt_options = NAND_BBT_USE_FLASH; 242 this->bbt_options = NAND_BBT_USE_FLASH;
243 this->options = NAND_NO_AUTOINCR;
244 243
245 /* Scan to find existence of the device */ 244 /* Scan to find existence of the device */
246 if (nand_scan(new_mtd, 1)) { 245 if (nand_scan(new_mtd, 1)) {
diff --git a/drivers/mtd/nand/docg4.c b/drivers/mtd/nand/docg4.c
index 8e7da0170a2b..1540de2ad39a 100644
--- a/drivers/mtd/nand/docg4.c
+++ b/drivers/mtd/nand/docg4.c
@@ -1193,8 +1193,7 @@ static void __init init_mtd_structs(struct mtd_info *mtd)
1193 nand->ecc.prepad = 8; 1193 nand->ecc.prepad = 8;
1194 nand->ecc.bytes = 8; 1194 nand->ecc.bytes = 8;
1195 nand->ecc.strength = DOCG4_T; 1195 nand->ecc.strength = DOCG4_T;
1196 nand->options = 1196 nand->options = NAND_BUSWIDTH_16 | NAND_NO_SUBPAGE_WRITE;
1197 NAND_BUSWIDTH_16 | NAND_NO_SUBPAGE_WRITE | NAND_NO_AUTOINCR;
1198 nand->IO_ADDR_R = nand->IO_ADDR_W = doc->virtadr + DOC_IOSPACE_DATA; 1197 nand->IO_ADDR_R = nand->IO_ADDR_W = doc->virtadr + DOC_IOSPACE_DATA;
1199 nand->controller = &nand->hwcontrol; 1198 nand->controller = &nand->hwcontrol;
1200 spin_lock_init(&nand->controller->lock); 1199 spin_lock_init(&nand->controller->lock);
diff --git a/drivers/mtd/nand/fsl_elbc_nand.c b/drivers/mtd/nand/fsl_elbc_nand.c
index 8638b5e734cc..4d995875d366 100644
--- a/drivers/mtd/nand/fsl_elbc_nand.c
+++ b/drivers/mtd/nand/fsl_elbc_nand.c
@@ -807,7 +807,7 @@ static int fsl_elbc_chip_init(struct fsl_elbc_mtd *priv)
807 chip->bbt_md = &bbt_mirror_descr; 807 chip->bbt_md = &bbt_mirror_descr;
808 808
809 /* set up nand options */ 809 /* set up nand options */
810 chip->options = NAND_NO_READRDY | NAND_NO_AUTOINCR; 810 chip->options = NAND_NO_READRDY;
811 chip->bbt_options = NAND_BBT_USE_FLASH; 811 chip->bbt_options = NAND_BBT_USE_FLASH;
812 812
813 chip->controller = &elbc_fcm_ctrl->controller; 813 chip->controller = &elbc_fcm_ctrl->controller;
diff --git a/drivers/mtd/nand/fsl_ifc_nand.c b/drivers/mtd/nand/fsl_ifc_nand.c
index 0adde9670418..dffd2fa353ae 100644
--- a/drivers/mtd/nand/fsl_ifc_nand.c
+++ b/drivers/mtd/nand/fsl_ifc_nand.c
@@ -806,7 +806,7 @@ static int fsl_ifc_chip_init(struct fsl_ifc_mtd *priv)
806 out_be32(&ifc->ifc_nand.ncfgr, 0x0); 806 out_be32(&ifc->ifc_nand.ncfgr, 0x0);
807 807
808 /* set up nand options */ 808 /* set up nand options */
809 chip->options = NAND_NO_READRDY | NAND_NO_AUTOINCR; 809 chip->options = NAND_NO_READRDY;
810 chip->bbt_options = NAND_BBT_USE_FLASH; 810 chip->bbt_options = NAND_BBT_USE_FLASH;
811 811
812 812
diff --git a/drivers/mtd/nand/h1910.c b/drivers/mtd/nand/h1910.c
index 11e487813428..85e55a5eb2ff 100644
--- a/drivers/mtd/nand/h1910.c
+++ b/drivers/mtd/nand/h1910.c
@@ -124,7 +124,6 @@ static int __init h1910_init(void)
124 /* 15 us command delay time */ 124 /* 15 us command delay time */
125 this->chip_delay = 50; 125 this->chip_delay = 50;
126 this->ecc.mode = NAND_ECC_SOFT; 126 this->ecc.mode = NAND_ECC_SOFT;
127 this->options = NAND_NO_AUTOINCR;
128 127
129 /* Scan to find existence of the device */ 128 /* Scan to find existence of the device */
130 if (nand_scan(h1910_nand_mtd, 1)) { 129 if (nand_scan(h1910_nand_mtd, 1)) {
diff --git a/drivers/mtd/nand/mpc5121_nfc.c b/drivers/mtd/nand/mpc5121_nfc.c
index c240cf1af961..c259c24d7986 100644
--- a/drivers/mtd/nand/mpc5121_nfc.c
+++ b/drivers/mtd/nand/mpc5121_nfc.c
@@ -734,7 +734,6 @@ static int __devinit mpc5121_nfc_probe(struct platform_device *op)
734 chip->write_buf = mpc5121_nfc_write_buf; 734 chip->write_buf = mpc5121_nfc_write_buf;
735 chip->verify_buf = mpc5121_nfc_verify_buf; 735 chip->verify_buf = mpc5121_nfc_verify_buf;
736 chip->select_chip = mpc5121_nfc_select_chip; 736 chip->select_chip = mpc5121_nfc_select_chip;
737 chip->options = NAND_NO_AUTOINCR;
738 chip->bbt_options = NAND_BBT_USE_FLASH; 737 chip->bbt_options = NAND_BBT_USE_FLASH;
739 chip->ecc.mode = NAND_ECC_SOFT; 738 chip->ecc.mode = NAND_ECC_SOFT;
740 739
diff --git a/drivers/mtd/nand/nand_base.c b/drivers/mtd/nand/nand_base.c
index 6246b0fc2fcd..5ec4d2c01b87 100644
--- a/drivers/mtd/nand/nand_base.c
+++ b/drivers/mtd/nand/nand_base.c
@@ -2895,8 +2895,7 @@ static int nand_flash_detect_onfi(struct mtd_info *mtd, struct nand_chip *chip,
2895 *busw = NAND_BUSWIDTH_16; 2895 *busw = NAND_BUSWIDTH_16;
2896 2896
2897 chip->options &= ~NAND_CHIPOPTIONS_MSK; 2897 chip->options &= ~NAND_CHIPOPTIONS_MSK;
2898 chip->options |= (NAND_NO_READRDY | 2898 chip->options |= NAND_NO_READRDY & NAND_CHIPOPTIONS_MSK;
2899 NAND_NO_AUTOINCR) & NAND_CHIPOPTIONS_MSK;
2900 2899
2901 pr_info("ONFI flash detected\n"); 2900 pr_info("ONFI flash detected\n");
2902 return 1; 2901 return 1;
@@ -3073,11 +3072,6 @@ static struct nand_flash_dev *nand_get_flash_type(struct mtd_info *mtd,
3073 chip->options &= ~NAND_SAMSUNG_LP_OPTIONS; 3072 chip->options &= ~NAND_SAMSUNG_LP_OPTIONS;
3074ident_done: 3073ident_done:
3075 3074
3076 /*
3077 * Set chip as a default. Board drivers can override it, if necessary.
3078 */
3079 chip->options |= NAND_NO_AUTOINCR;
3080
3081 /* Try to identify manufacturer */ 3075 /* Try to identify manufacturer */
3082 for (maf_idx = 0; nand_manuf_ids[maf_idx].id != 0x0; maf_idx++) { 3076 for (maf_idx = 0; nand_manuf_ids[maf_idx].id != 0x0; maf_idx++) {
3083 if (nand_manuf_ids[maf_idx].id == *maf_id) 3077 if (nand_manuf_ids[maf_idx].id == *maf_id)
diff --git a/drivers/mtd/nand/nand_ids.c b/drivers/mtd/nand/nand_ids.c
index af4fe8ca7b5e..621b70b7a159 100644
--- a/drivers/mtd/nand/nand_ids.c
+++ b/drivers/mtd/nand/nand_ids.c
@@ -70,7 +70,7 @@ struct nand_flash_dev nand_flash_ids[] = {
70 * These are the new chips with large page size. The pagesize and the 70 * These are the new chips with large page size. The pagesize and the
71 * erasesize is determined from the extended id bytes 71 * erasesize is determined from the extended id bytes
72 */ 72 */
73#define LP_OPTIONS (NAND_SAMSUNG_LP_OPTIONS | NAND_NO_READRDY | NAND_NO_AUTOINCR) 73#define LP_OPTIONS (NAND_SAMSUNG_LP_OPTIONS | NAND_NO_READRDY)
74#define LP_OPTIONS16 (LP_OPTIONS | NAND_BUSWIDTH_16) 74#define LP_OPTIONS16 (LP_OPTIONS | NAND_BUSWIDTH_16)
75 75
76 /* 512 Megabit */ 76 /* 512 Megabit */
@@ -157,9 +157,7 @@ struct nand_flash_dev nand_flash_ids[] = {
157 * writes possible, but not implemented now 157 * writes possible, but not implemented now
158 */ 158 */
159 {"AND 128MiB 3,3V 8-bit", 0x01, 2048, 128, 0x4000, 159 {"AND 128MiB 3,3V 8-bit", 0x01, 2048, 128, 0x4000,
160 NAND_IS_AND | NAND_NO_AUTOINCR |NAND_NO_READRDY | NAND_4PAGE_ARRAY | 160 NAND_IS_AND | NAND_NO_READRDY | NAND_4PAGE_ARRAY | BBT_AUTO_REFRESH},
161 BBT_AUTO_REFRESH
162 },
163 161
164 {NULL,} 162 {NULL,}
165}; 163};
diff --git a/drivers/mtd/nand/pasemi_nand.c b/drivers/mtd/nand/pasemi_nand.c
index 974dbf8251c9..1440e51cedcc 100644
--- a/drivers/mtd/nand/pasemi_nand.c
+++ b/drivers/mtd/nand/pasemi_nand.c
@@ -155,7 +155,6 @@ static int __devinit pasemi_nand_probe(struct platform_device *ofdev)
155 chip->ecc.mode = NAND_ECC_SOFT; 155 chip->ecc.mode = NAND_ECC_SOFT;
156 156
157 /* Enable the following for a flash based bad block table */ 157 /* Enable the following for a flash based bad block table */
158 chip->options = NAND_NO_AUTOINCR;
159 chip->bbt_options = NAND_BBT_USE_FLASH; 158 chip->bbt_options = NAND_BBT_USE_FLASH;
160 159
161 /* Scan to find existence of the device */ 160 /* Scan to find existence of the device */
diff --git a/drivers/mtd/nand/pxa3xx_nand.c b/drivers/mtd/nand/pxa3xx_nand.c
index def50caa6f84..36a32a0d3b9f 100644
--- a/drivers/mtd/nand/pxa3xx_nand.c
+++ b/drivers/mtd/nand/pxa3xx_nand.c
@@ -1004,7 +1004,6 @@ KEEP_CONFIG:
1004 chip->ecc.size = host->page_size; 1004 chip->ecc.size = host->page_size;
1005 chip->ecc.strength = 1; 1005 chip->ecc.strength = 1;
1006 1006
1007 chip->options = NAND_NO_AUTOINCR;
1008 chip->options |= NAND_NO_READRDY; 1007 chip->options |= NAND_NO_READRDY;
1009 if (host->reg_ndcr & NDCR_DWIDTH_M) 1008 if (host->reg_ndcr & NDCR_DWIDTH_M)
1010 chip->options |= NAND_BUSWIDTH_16; 1009 chip->options |= NAND_BUSWIDTH_16;
diff --git a/drivers/mtd/nand/sh_flctl.c b/drivers/mtd/nand/sh_flctl.c
index 4ea3e20169ba..3f0788fad66f 100644
--- a/drivers/mtd/nand/sh_flctl.c
+++ b/drivers/mtd/nand/sh_flctl.c
@@ -881,8 +881,6 @@ static int __devinit flctl_probe(struct platform_device *pdev)
881 flctl->hwecc = pdata->has_hwecc; 881 flctl->hwecc = pdata->has_hwecc;
882 flctl->holden = pdata->use_holden; 882 flctl->holden = pdata->use_holden;
883 883
884 nand->options = NAND_NO_AUTOINCR;
885
886 /* Set address of hardware control function */ 884 /* Set address of hardware control function */
887 /* 20 us command delay time */ 885 /* 20 us command delay time */
888 nand->chip_delay = 20; 886 nand->chip_delay = 20;
diff --git a/drivers/mtd/nand/sm_common.c b/drivers/mtd/nand/sm_common.c
index 774c3c266713..082bcdcd6bcf 100644
--- a/drivers/mtd/nand/sm_common.c
+++ b/drivers/mtd/nand/sm_common.c
@@ -94,17 +94,16 @@ static struct nand_flash_dev nand_smartmedia_flash_ids[] = {
94 {NULL,} 94 {NULL,}
95}; 95};
96 96
97#define XD_TYPEM (NAND_NO_AUTOINCR | NAND_BROKEN_XD)
98static struct nand_flash_dev nand_xd_flash_ids[] = { 97static struct nand_flash_dev nand_xd_flash_ids[] = {
99 98
100 {"xD 16MiB 3,3V", 0x73, 512, 16, 0x4000, 0}, 99 {"xD 16MiB 3,3V", 0x73, 512, 16, 0x4000, 0},
101 {"xD 32MiB 3,3V", 0x75, 512, 32, 0x4000, 0}, 100 {"xD 32MiB 3,3V", 0x75, 512, 32, 0x4000, 0},
102 {"xD 64MiB 3,3V", 0x76, 512, 64, 0x4000, 0}, 101 {"xD 64MiB 3,3V", 0x76, 512, 64, 0x4000, 0},
103 {"xD 128MiB 3,3V", 0x79, 512, 128, 0x4000, 0}, 102 {"xD 128MiB 3,3V", 0x79, 512, 128, 0x4000, 0},
104 {"xD 256MiB 3,3V", 0x71, 512, 256, 0x4000, XD_TYPEM}, 103 {"xD 256MiB 3,3V", 0x71, 512, 256, 0x4000, NAND_BROKEN_XD},
105 {"xD 512MiB 3,3V", 0xdc, 512, 512, 0x4000, XD_TYPEM}, 104 {"xD 512MiB 3,3V", 0xdc, 512, 512, 0x4000, NAND_BROKEN_XD},
106 {"xD 1GiB 3,3V", 0xd3, 512, 1024, 0x4000, XD_TYPEM}, 105 {"xD 1GiB 3,3V", 0xd3, 512, 1024, 0x4000, NAND_BROKEN_XD},
107 {"xD 2GiB 3,3V", 0xd5, 512, 2048, 0x4000, XD_TYPEM}, 106 {"xD 2GiB 3,3V", 0xd5, 512, 2048, 0x4000, NAND_BROKEN_XD},
108 {NULL,} 107 {NULL,}
109}; 108};
110 109