mtd: nand: rename NAND_USE_FLASH_BBT
Recall the recently added prefix requirements: * "NAND_" for flags in nand.h, used in nand_chip.options * "NAND_BBT_" for flags in bbm.h, used in nand_chip.bbt_options or in nand_bbt_descr.options Thus, I am changing NAND_USE_FLASH_BBT to NAND_BBT_USE_FLASH. Again, this flag is found in bbm.h and so should NOT be used in the "nand_chip.options" field. Signed-off-by: Brian Norris <computersforpeace@gmail.com> Signed-off-by: Artem Bityutskiy <Artem.Bityutskiy@nokia.com>
This commit is contained in:
parent
a40f73419f
commit
bb9ebd4e71
|
@ -572,7 +572,7 @@ static void board_select_chip (struct mtd_info *mtd, int chip)
|
||||||
</para>
|
</para>
|
||||||
<para>
|
<para>
|
||||||
The simplest way to activate the FLASH based bad block table support
|
The simplest way to activate the FLASH based bad block table support
|
||||||
is to set the option NAND_USE_FLASH_BBT in the bbt_option field of
|
is to set the option NAND_BBT_USE_FLASH in the bbt_option field of
|
||||||
the nand chip structure before calling nand_scan(). For AG-AND
|
the nand chip structure before calling nand_scan(). For AG-AND
|
||||||
chips is this done by default.
|
chips is this done by default.
|
||||||
This activates the default FLASH based bad block table functionality
|
This activates the default FLASH based bad block table functionality
|
||||||
|
|
|
@ -377,7 +377,7 @@ static struct davinci_nand_pdata da830_evm_nand_pdata = {
|
||||||
.nr_parts = ARRAY_SIZE(da830_evm_nand_partitions),
|
.nr_parts = ARRAY_SIZE(da830_evm_nand_partitions),
|
||||||
.ecc_mode = NAND_ECC_HW,
|
.ecc_mode = NAND_ECC_HW,
|
||||||
.ecc_bits = 4,
|
.ecc_bits = 4,
|
||||||
.bbt_options = NAND_USE_FLASH_BBT,
|
.bbt_options = NAND_BBT_USE_FLASH,
|
||||||
.bbt_td = &da830_evm_nand_bbt_main_descr,
|
.bbt_td = &da830_evm_nand_bbt_main_descr,
|
||||||
.bbt_md = &da830_evm_nand_bbt_mirror_descr,
|
.bbt_md = &da830_evm_nand_bbt_mirror_descr,
|
||||||
.timing = &da830_evm_nandflash_timing,
|
.timing = &da830_evm_nandflash_timing,
|
||||||
|
|
|
@ -225,7 +225,7 @@ static struct davinci_nand_pdata da850_evm_nandflash_data = {
|
||||||
.nr_parts = ARRAY_SIZE(da850_evm_nandflash_partition),
|
.nr_parts = ARRAY_SIZE(da850_evm_nandflash_partition),
|
||||||
.ecc_mode = NAND_ECC_HW,
|
.ecc_mode = NAND_ECC_HW,
|
||||||
.ecc_bits = 4,
|
.ecc_bits = 4,
|
||||||
.bbt_options = NAND_USE_FLASH_BBT,
|
.bbt_options = NAND_BBT_USE_FLASH,
|
||||||
.timing = &da850_evm_nandflash_timing,
|
.timing = &da850_evm_nandflash_timing,
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
|
@ -77,7 +77,7 @@ static struct davinci_nand_pdata davinci_nand_data = {
|
||||||
.parts = davinci_nand_partitions,
|
.parts = davinci_nand_partitions,
|
||||||
.nr_parts = ARRAY_SIZE(davinci_nand_partitions),
|
.nr_parts = ARRAY_SIZE(davinci_nand_partitions),
|
||||||
.ecc_mode = NAND_ECC_HW,
|
.ecc_mode = NAND_ECC_HW,
|
||||||
.bbt_options = NAND_USE_FLASH_BBT,
|
.bbt_options = NAND_BBT_USE_FLASH,
|
||||||
.ecc_bits = 4,
|
.ecc_bits = 4,
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
|
@ -74,7 +74,7 @@ static struct davinci_nand_pdata davinci_nand_data = {
|
||||||
.parts = davinci_nand_partitions,
|
.parts = davinci_nand_partitions,
|
||||||
.nr_parts = ARRAY_SIZE(davinci_nand_partitions),
|
.nr_parts = ARRAY_SIZE(davinci_nand_partitions),
|
||||||
.ecc_mode = NAND_ECC_HW_SYNDROME,
|
.ecc_mode = NAND_ECC_HW_SYNDROME,
|
||||||
.bbt_options = NAND_USE_FLASH_BBT,
|
.bbt_options = NAND_BBT_USE_FLASH,
|
||||||
};
|
};
|
||||||
|
|
||||||
static struct resource davinci_nand_resources[] = {
|
static struct resource davinci_nand_resources[] = {
|
||||||
|
|
|
@ -139,7 +139,7 @@ static struct davinci_nand_pdata davinci_nand_data = {
|
||||||
.parts = davinci_nand_partitions,
|
.parts = davinci_nand_partitions,
|
||||||
.nr_parts = ARRAY_SIZE(davinci_nand_partitions),
|
.nr_parts = ARRAY_SIZE(davinci_nand_partitions),
|
||||||
.ecc_mode = NAND_ECC_HW,
|
.ecc_mode = NAND_ECC_HW,
|
||||||
.bbt_options = NAND_USE_FLASH_BBT,
|
.bbt_options = NAND_BBT_USE_FLASH,
|
||||||
.ecc_bits = 4,
|
.ecc_bits = 4,
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
|
@ -150,7 +150,7 @@ static struct davinci_nand_pdata davinci_evm_nandflash_data = {
|
||||||
.parts = davinci_evm_nandflash_partition,
|
.parts = davinci_evm_nandflash_partition,
|
||||||
.nr_parts = ARRAY_SIZE(davinci_evm_nandflash_partition),
|
.nr_parts = ARRAY_SIZE(davinci_evm_nandflash_partition),
|
||||||
.ecc_mode = NAND_ECC_HW,
|
.ecc_mode = NAND_ECC_HW,
|
||||||
.bbt_options = NAND_USE_FLASH_BBT,
|
.bbt_options = NAND_BBT_USE_FLASH,
|
||||||
.timing = &davinci_evm_nandflash_timing,
|
.timing = &davinci_evm_nandflash_timing,
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
|
@ -396,7 +396,7 @@ static struct davinci_nand_pdata mityomapl138_nandflash_data = {
|
||||||
.parts = mityomapl138_nandflash_partition,
|
.parts = mityomapl138_nandflash_partition,
|
||||||
.nr_parts = ARRAY_SIZE(mityomapl138_nandflash_partition),
|
.nr_parts = ARRAY_SIZE(mityomapl138_nandflash_partition),
|
||||||
.ecc_mode = NAND_ECC_HW,
|
.ecc_mode = NAND_ECC_HW,
|
||||||
.bbt_options = NAND_USE_FLASH_BBT,
|
.bbt_options = NAND_BBT_USE_FLASH,
|
||||||
.options = NAND_BUSWIDTH_16,
|
.options = NAND_BUSWIDTH_16,
|
||||||
.ecc_bits = 1, /* 4 bit mode is not supported with 16 bit NAND */
|
.ecc_bits = 1, /* 4 bit mode is not supported with 16 bit NAND */
|
||||||
};
|
};
|
||||||
|
|
|
@ -87,7 +87,7 @@ static struct davinci_nand_pdata davinci_ntosd2_nandflash_data = {
|
||||||
.parts = davinci_ntosd2_nandflash_partition,
|
.parts = davinci_ntosd2_nandflash_partition,
|
||||||
.nr_parts = ARRAY_SIZE(davinci_ntosd2_nandflash_partition),
|
.nr_parts = ARRAY_SIZE(davinci_ntosd2_nandflash_partition),
|
||||||
.ecc_mode = NAND_ECC_HW,
|
.ecc_mode = NAND_ECC_HW,
|
||||||
.bbt_options = NAND_USE_FLASH_BBT,
|
.bbt_options = NAND_BBT_USE_FLASH,
|
||||||
};
|
};
|
||||||
|
|
||||||
static struct resource davinci_ntosd2_nandflash_resource[] = {
|
static struct resource davinci_ntosd2_nandflash_resource[] = {
|
||||||
|
|
|
@ -144,7 +144,7 @@ static struct davinci_nand_pdata nand_config = {
|
||||||
.parts = nand_partitions,
|
.parts = nand_partitions,
|
||||||
.nr_parts = ARRAY_SIZE(nand_partitions),
|
.nr_parts = ARRAY_SIZE(nand_partitions),
|
||||||
.ecc_mode = NAND_ECC_HW,
|
.ecc_mode = NAND_ECC_HW,
|
||||||
.bbt_options = NAND_USE_FLASH_BBT,
|
.bbt_options = NAND_BBT_USE_FLASH,
|
||||||
.ecc_bits = 1,
|
.ecc_bits = 1,
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
|
@ -76,7 +76,7 @@ struct davinci_nand_pdata { /* platform_data */
|
||||||
|
|
||||||
/* e.g. NAND_BUSWIDTH_16 */
|
/* e.g. NAND_BUSWIDTH_16 */
|
||||||
unsigned options;
|
unsigned options;
|
||||||
/* e.g. NAND_USE_FLASH_BBT */
|
/* e.g. NAND_BBT_USE_FLASH */
|
||||||
unsigned bbt_options;
|
unsigned bbt_options;
|
||||||
|
|
||||||
/* Main and mirror bbt descriptor overrides */
|
/* Main and mirror bbt descriptor overrides */
|
||||||
|
|
|
@ -275,7 +275,7 @@ static struct platform_nand_data ts78xx_ts_nand_data = {
|
||||||
.partitions = ts78xx_ts_nand_parts,
|
.partitions = ts78xx_ts_nand_parts,
|
||||||
.nr_partitions = ARRAY_SIZE(ts78xx_ts_nand_parts),
|
.nr_partitions = ARRAY_SIZE(ts78xx_ts_nand_parts),
|
||||||
.chip_delay = 15,
|
.chip_delay = 15,
|
||||||
.bbt_options = NAND_USE_FLASH_BBT,
|
.bbt_options = NAND_BBT_USE_FLASH,
|
||||||
},
|
},
|
||||||
.ctrl = {
|
.ctrl = {
|
||||||
/*
|
/*
|
||||||
|
|
|
@ -163,7 +163,7 @@ struct mtd_info *__init crisv32_nand_flash_probe(void)
|
||||||
this->ecc.mode = NAND_ECC_SOFT;
|
this->ecc.mode = NAND_ECC_SOFT;
|
||||||
|
|
||||||
/* Enable the following for a flash based bad block table */
|
/* Enable the following for a flash based bad block table */
|
||||||
/* this->bbt_options = NAND_USE_FLASH_BBT; */
|
/* this->bbt_options = NAND_BBT_USE_FLASH; */
|
||||||
|
|
||||||
/* Scan to find existence of the device */
|
/* Scan to find existence of the device */
|
||||||
if (nand_scan(crisv32_mtd, 1)) {
|
if (nand_scan(crisv32_mtd, 1)) {
|
||||||
|
|
|
@ -154,7 +154,7 @@ struct mtd_info *__init crisv32_nand_flash_probe(void)
|
||||||
this->ecc.mode = NAND_ECC_SOFT;
|
this->ecc.mode = NAND_ECC_SOFT;
|
||||||
|
|
||||||
/* Enable the following for a flash based bad block table */
|
/* Enable the following for a flash based bad block table */
|
||||||
/* this->bbt_options = NAND_USE_FLASH_BBT; */
|
/* this->bbt_options = NAND_BBT_USE_FLASH; */
|
||||||
|
|
||||||
/* Scan to find existence of the device */
|
/* Scan to find existence of the device */
|
||||||
if (nand_scan(crisv32_mtd, 1)) {
|
if (nand_scan(crisv32_mtd, 1)) {
|
||||||
|
|
|
@ -583,7 +583,7 @@ static int __init atmel_nand_probe(struct platform_device *pdev)
|
||||||
|
|
||||||
if (on_flash_bbt) {
|
if (on_flash_bbt) {
|
||||||
printk(KERN_INFO "atmel_nand: Use On Flash BBT\n");
|
printk(KERN_INFO "atmel_nand: Use On Flash BBT\n");
|
||||||
nand_chip->bbt_options |= NAND_USE_FLASH_BBT;
|
nand_chip->bbt_options |= NAND_BBT_USE_FLASH;
|
||||||
}
|
}
|
||||||
|
|
||||||
if (!cpu_has_dma())
|
if (!cpu_has_dma())
|
||||||
|
|
|
@ -172,9 +172,9 @@ static int __init autcpu12_init(void)
|
||||||
|
|
||||||
/* Enable the following for a flash based bad block table */
|
/* Enable the following for a flash based bad block table */
|
||||||
/*
|
/*
|
||||||
this->bbt_options = NAND_USE_FLASH_BBT;
|
this->bbt_options = NAND_BBT_USE_FLASH;
|
||||||
*/
|
*/
|
||||||
this->bbt_options = NAND_USE_FLASH_BBT;
|
this->bbt_options = NAND_BBT_USE_FLASH;
|
||||||
|
|
||||||
/* Scan to find existence of the device */
|
/* Scan to find existence of the device */
|
||||||
if (nand_scan(autcpu12_mtd, 1)) {
|
if (nand_scan(autcpu12_mtd, 1)) {
|
||||||
|
|
|
@ -474,7 +474,7 @@ static int __devinit bcm_umi_nand_probe(struct platform_device *pdev)
|
||||||
|
|
||||||
#if NAND_ECC_BCH
|
#if NAND_ECC_BCH
|
||||||
if (board_mtd->writesize > 512) {
|
if (board_mtd->writesize > 512) {
|
||||||
if (this->bbt_options & NAND_USE_FLASH_BBT)
|
if (this->bbt_options & NAND_BBT_USE_FLASH)
|
||||||
largepage_bbt.options = NAND_BBT_SCAN2NDPAGE;
|
largepage_bbt.options = NAND_BBT_SCAN2NDPAGE;
|
||||||
this->badblock_pattern = &largepage_bbt;
|
this->badblock_pattern = &largepage_bbt;
|
||||||
}
|
}
|
||||||
|
|
|
@ -686,7 +686,7 @@ static int __devinit cafe_nand_probe(struct pci_dev *pdev,
|
||||||
cafe->nand.chip_delay = 0;
|
cafe->nand.chip_delay = 0;
|
||||||
|
|
||||||
/* Enable the following for a flash based bad block table */
|
/* Enable the following for a flash based bad block table */
|
||||||
cafe->nand.bbt_options = NAND_USE_FLASH_BBT;
|
cafe->nand.bbt_options = NAND_BBT_USE_FLASH;
|
||||||
cafe->nand.options = NAND_NO_AUTOINCR | NAND_OWN_BUFFERS;
|
cafe->nand.options = NAND_NO_AUTOINCR | NAND_OWN_BUFFERS;
|
||||||
|
|
||||||
if (skipbbt) {
|
if (skipbbt) {
|
||||||
|
|
|
@ -239,7 +239,7 @@ static int __init cs553x_init_one(int cs, int mmio, unsigned long adr)
|
||||||
this->ecc.correct = nand_correct_data;
|
this->ecc.correct = nand_correct_data;
|
||||||
|
|
||||||
/* Enable the following for a flash based bad block table */
|
/* Enable the following for a flash based bad block table */
|
||||||
this->bbt_options = NAND_USE_FLASH_BBT;
|
this->bbt_options = NAND_BBT_USE_FLASH;
|
||||||
this->options = NAND_NO_AUTOINCR;
|
this->options = NAND_NO_AUTOINCR;
|
||||||
|
|
||||||
/* Scan to find existence of the device */
|
/* Scan to find existence of the device */
|
||||||
|
|
|
@ -581,7 +581,7 @@ static int __init nand_davinci_probe(struct platform_device *pdev)
|
||||||
info->chip.chip_delay = 0;
|
info->chip.chip_delay = 0;
|
||||||
info->chip.select_chip = nand_davinci_select_chip;
|
info->chip.select_chip = nand_davinci_select_chip;
|
||||||
|
|
||||||
/* options such as NAND_USE_FLASH_BBT */
|
/* options such as NAND_BBT_USE_FLASH */
|
||||||
info->chip.bbt_options = pdata->bbt_options;
|
info->chip.bbt_options = pdata->bbt_options;
|
||||||
/* options such as 16-bit widths */
|
/* options such as 16-bit widths */
|
||||||
info->chip.options = pdata->options;
|
info->chip.options = pdata->options;
|
||||||
|
|
|
@ -1577,7 +1577,7 @@ static int denali_pci_probe(struct pci_dev *dev, const struct pci_device_id *id)
|
||||||
denali->nand.bbt_md = &bbt_mirror_descr;
|
denali->nand.bbt_md = &bbt_mirror_descr;
|
||||||
|
|
||||||
/* skip the scan for now until we have OOB read and write support */
|
/* skip the scan for now until we have OOB read and write support */
|
||||||
denali->nand.bbt_options |= NAND_USE_FLASH_BBT;
|
denali->nand.bbt_options |= NAND_BBT_USE_FLASH;
|
||||||
denali->nand.options |= NAND_SKIP_BBTSCAN;
|
denali->nand.options |= NAND_SKIP_BBTSCAN;
|
||||||
denali->nand.ecc.mode = NAND_ECC_HW_SYNDROME;
|
denali->nand.ecc.mode = NAND_ECC_HW_SYNDROME;
|
||||||
|
|
||||||
|
|
|
@ -1652,7 +1652,7 @@ static int __init doc_probe(unsigned long physadr)
|
||||||
nand->ecc.mode = NAND_ECC_HW_SYNDROME;
|
nand->ecc.mode = NAND_ECC_HW_SYNDROME;
|
||||||
nand->ecc.size = 512;
|
nand->ecc.size = 512;
|
||||||
nand->ecc.bytes = 6;
|
nand->ecc.bytes = 6;
|
||||||
nand->bbt_options = NAND_USE_FLASH_BBT;
|
nand->bbt_options = NAND_BBT_USE_FLASH;
|
||||||
|
|
||||||
doc->physadr = physadr;
|
doc->physadr = physadr;
|
||||||
doc->virtadr = virtadr;
|
doc->virtadr = virtadr;
|
||||||
|
|
|
@ -792,7 +792,7 @@ static int fsl_elbc_chip_init(struct fsl_elbc_mtd *priv)
|
||||||
|
|
||||||
/* set up nand options */
|
/* set up nand options */
|
||||||
chip->options = NAND_NO_READRDY | NAND_NO_AUTOINCR;
|
chip->options = NAND_NO_READRDY | NAND_NO_AUTOINCR;
|
||||||
chip->bbt_options = NAND_USE_FLASH_BBT;
|
chip->bbt_options = NAND_BBT_USE_FLASH;
|
||||||
|
|
||||||
chip->controller = &elbc_fcm_ctrl->controller;
|
chip->controller = &elbc_fcm_ctrl->controller;
|
||||||
chip->priv = priv;
|
chip->priv = priv;
|
||||||
|
|
|
@ -736,7 +736,7 @@ static int __devinit mpc5121_nfc_probe(struct platform_device *op)
|
||||||
chip->verify_buf = mpc5121_nfc_verify_buf;
|
chip->verify_buf = mpc5121_nfc_verify_buf;
|
||||||
chip->select_chip = mpc5121_nfc_select_chip;
|
chip->select_chip = mpc5121_nfc_select_chip;
|
||||||
chip->options = NAND_NO_AUTOINCR;
|
chip->options = NAND_NO_AUTOINCR;
|
||||||
chip->bbt_options = NAND_USE_FLASH_BBT;
|
chip->bbt_options = NAND_BBT_USE_FLASH;
|
||||||
chip->ecc.mode = NAND_ECC_SOFT;
|
chip->ecc.mode = NAND_ECC_SOFT;
|
||||||
|
|
||||||
/* Support external chip-select logic on ADS5121 board */
|
/* Support external chip-select logic on ADS5121 board */
|
||||||
|
|
|
@ -1179,7 +1179,7 @@ static int __init mxcnd_probe(struct platform_device *pdev)
|
||||||
this->bbt_td = &bbt_main_descr;
|
this->bbt_td = &bbt_main_descr;
|
||||||
this->bbt_md = &bbt_mirror_descr;
|
this->bbt_md = &bbt_mirror_descr;
|
||||||
/* update flash based bbt */
|
/* update flash based bbt */
|
||||||
this->bbt_options |= NAND_USE_FLASH_BBT;
|
this->bbt_options |= NAND_BBT_USE_FLASH;
|
||||||
}
|
}
|
||||||
|
|
||||||
init_completion(&host->op_completion);
|
init_completion(&host->op_completion);
|
||||||
|
|
|
@ -405,7 +405,7 @@ static int nand_default_block_markbad(struct mtd_info *mtd, loff_t ofs)
|
||||||
chip->bbt[block >> 2] |= 0x01 << ((block & 0x03) << 1);
|
chip->bbt[block >> 2] |= 0x01 << ((block & 0x03) << 1);
|
||||||
|
|
||||||
/* Do we have a flash based bad block table ? */
|
/* Do we have a flash based bad block table ? */
|
||||||
if (chip->bbt_options & NAND_USE_FLASH_BBT)
|
if (chip->bbt_options & NAND_BBT_USE_FLASH)
|
||||||
ret = nand_update_bbt(mtd, ofs);
|
ret = nand_update_bbt(mtd, ofs);
|
||||||
else {
|
else {
|
||||||
nand_get_device(chip, mtd, FL_WRITING);
|
nand_get_device(chip, mtd, FL_WRITING);
|
||||||
|
|
|
@ -14,7 +14,7 @@
|
||||||
*
|
*
|
||||||
* When nand_scan_bbt is called, then it tries to find the bad block table
|
* When nand_scan_bbt is called, then it tries to find the bad block table
|
||||||
* depending on the options in the BBT descriptor(s). If no flash based BBT
|
* depending on the options in the BBT descriptor(s). If no flash based BBT
|
||||||
* (NAND_USE_FLASH_BBT) is specified then the device is scanned for factory
|
* (NAND_BBT_USE_FLASH) is specified then the device is scanned for factory
|
||||||
* marked good / bad blocks. This information is used to create a memory BBT.
|
* marked good / bad blocks. This information is used to create a memory BBT.
|
||||||
* Once a new bad block is discovered then the "factory" information is updated
|
* Once a new bad block is discovered then the "factory" information is updated
|
||||||
* on the device.
|
* on the device.
|
||||||
|
@ -36,7 +36,7 @@
|
||||||
* The table is marked in the OOB area with an ident pattern and a version
|
* The table is marked in the OOB area with an ident pattern and a version
|
||||||
* number which indicates which of both tables is more up to date. If the NAND
|
* number which indicates which of both tables is more up to date. If the NAND
|
||||||
* controller needs the complete OOB area for the ECC information then the
|
* controller needs the complete OOB area for the ECC information then the
|
||||||
* option NAND_BBT_NO_OOB should be used (along with NAND_USE_FLASH_BBT, of
|
* option NAND_BBT_NO_OOB should be used (along with NAND_BBT_USE_FLASH, of
|
||||||
* course): it moves the ident pattern and the version byte into the data area
|
* course): it moves the ident pattern and the version byte into the data area
|
||||||
* and the OOB area will remain untouched.
|
* and the OOB area will remain untouched.
|
||||||
*
|
*
|
||||||
|
@ -1083,14 +1083,14 @@ static void verify_bbt_descr(struct mtd_info *mtd, struct nand_bbt_descr *bd)
|
||||||
bits = bd->options & NAND_BBT_NRBITS_MSK;
|
bits = bd->options & NAND_BBT_NRBITS_MSK;
|
||||||
|
|
||||||
BUG_ON((this->bbt_options & NAND_BBT_NO_OOB) &&
|
BUG_ON((this->bbt_options & NAND_BBT_NO_OOB) &&
|
||||||
!(this->bbt_options & NAND_USE_FLASH_BBT));
|
!(this->bbt_options & NAND_BBT_USE_FLASH));
|
||||||
BUG_ON(!bits);
|
BUG_ON(!bits);
|
||||||
|
|
||||||
if (bd->options & NAND_BBT_VERSION)
|
if (bd->options & NAND_BBT_VERSION)
|
||||||
pattern_len++;
|
pattern_len++;
|
||||||
|
|
||||||
if (bd->options & NAND_BBT_NO_OOB) {
|
if (bd->options & NAND_BBT_NO_OOB) {
|
||||||
BUG_ON(!(this->bbt_options & NAND_USE_FLASH_BBT));
|
BUG_ON(!(this->bbt_options & NAND_BBT_USE_FLASH));
|
||||||
BUG_ON(!(this->bbt_options & NAND_BBT_NO_OOB));
|
BUG_ON(!(this->bbt_options & NAND_BBT_NO_OOB));
|
||||||
BUG_ON(bd->offs);
|
BUG_ON(bd->offs);
|
||||||
if (bd->options & NAND_BBT_VERSION)
|
if (bd->options & NAND_BBT_VERSION)
|
||||||
|
@ -1357,12 +1357,12 @@ int nand_default_bbt(struct mtd_info *mtd)
|
||||||
this->bbt_td = &bbt_main_descr;
|
this->bbt_td = &bbt_main_descr;
|
||||||
this->bbt_md = &bbt_mirror_descr;
|
this->bbt_md = &bbt_mirror_descr;
|
||||||
}
|
}
|
||||||
this->bbt_options |= NAND_USE_FLASH_BBT;
|
this->bbt_options |= NAND_BBT_USE_FLASH;
|
||||||
return nand_scan_bbt(mtd, &agand_flashbased);
|
return nand_scan_bbt(mtd, &agand_flashbased);
|
||||||
}
|
}
|
||||||
|
|
||||||
/* Is a flash based bad block table requested ? */
|
/* Is a flash based bad block table requested ? */
|
||||||
if (this->bbt_options & NAND_USE_FLASH_BBT) {
|
if (this->bbt_options & NAND_BBT_USE_FLASH) {
|
||||||
/* Use the default pattern descriptors */
|
/* Use the default pattern descriptors */
|
||||||
if (!this->bbt_td) {
|
if (!this->bbt_td) {
|
||||||
if (this->bbt_options & NAND_BBT_NO_OOB) {
|
if (this->bbt_options & NAND_BBT_NO_OOB) {
|
||||||
|
|
|
@ -2275,7 +2275,7 @@ static int __init ns_init_module(void)
|
||||||
case 2:
|
case 2:
|
||||||
chip->bbt_options |= NAND_BBT_NO_OOB;
|
chip->bbt_options |= NAND_BBT_NO_OOB;
|
||||||
case 1:
|
case 1:
|
||||||
chip->bbt_options |= NAND_USE_FLASH_BBT;
|
chip->bbt_options |= NAND_BBT_USE_FLASH;
|
||||||
case 0:
|
case 0:
|
||||||
break;
|
break;
|
||||||
default:
|
default:
|
||||||
|
|
|
@ -156,7 +156,7 @@ static int __devinit pasemi_nand_probe(struct platform_device *ofdev)
|
||||||
|
|
||||||
/* Enable the following for a flash based bad block table */
|
/* Enable the following for a flash based bad block table */
|
||||||
chip->options = NAND_NO_AUTOINCR;
|
chip->options = NAND_NO_AUTOINCR;
|
||||||
chip->bbt_options = NAND_USE_FLASH_BBT;
|
chip->bbt_options = NAND_BBT_USE_FLASH;
|
||||||
|
|
||||||
/* Scan to find existence of the device */
|
/* Scan to find existence of the device */
|
||||||
if (nand_scan(pasemi_nand_mtd, 1)) {
|
if (nand_scan(pasemi_nand_mtd, 1)) {
|
||||||
|
|
|
@ -881,7 +881,7 @@ static void s3c2410_nand_init_chip(struct s3c2410_nand_info *info,
|
||||||
* let the kernel fish out the BBT from the NAND, and also skip the
|
* let the kernel fish out the BBT from the NAND, and also skip the
|
||||||
* full NAND scan that can take 1/2s or so. Little things... */
|
* full NAND scan that can take 1/2s or so. Little things... */
|
||||||
if (set->flash_bbt) {
|
if (set->flash_bbt) {
|
||||||
chip->bbt_options |= NAND_USE_FLASH_BBT;
|
chip->bbt_options |= NAND_BBT_USE_FLASH;
|
||||||
chip->options |= NAND_SKIP_BBTSCAN;
|
chip->options |= NAND_SKIP_BBTSCAN;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -104,7 +104,7 @@ struct nand_bbt_descr {
|
||||||
* Use a flash based bad block table. By default, OOB identifier is saved in
|
* Use a flash based bad block table. By default, OOB identifier is saved in
|
||||||
* OOB area. This option is passed to the default bad block table function.
|
* OOB area. This option is passed to the default bad block table function.
|
||||||
*/
|
*/
|
||||||
#define NAND_USE_FLASH_BBT 0x00040000
|
#define NAND_BBT_USE_FLASH 0x00040000
|
||||||
/* Do not store flash based bad block table in OOB area; store it in-band */
|
/* Do not store flash based bad block table in OOB area; store it in-band */
|
||||||
#define NAND_BBT_NO_OOB 0x00080000
|
#define NAND_BBT_NO_OOB 0x00080000
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue