linux/drivers/mtd/nand
Archit Taneja 9f3e04297b mtd: nand: don't select chip in nand_chip's block_bad op
One of the arguments passed to struct nand_chip's block_bad op is
'getchip', which, if true, is supposed to get and select the nand device,
and later unselect and release the device.

This op is intended to be replaceable by drivers. The drivers shouldn't
be responsible for selecting/unselecting chip. Like other ops, the chip
should already be selected before the block_bad op is called.

Remove the getchip argument from the block_bad op and
nand_block_checkbad. Move the chip selection to nand_block_isbad, since it
is the only caller to nand_block_checkbad which requires chip selection.

Modify nand_block_bad (the default function for the op) such that it
doesn't select the chip.

Remove the getchip argument from the bad_block funcs in cafe_nand,
diskonchip and docg4 drivers.

Reviewed-by: Boris Brezillon <boris.brezillon@free-electrons.com>
Signed-off-by: Archit Taneja <architt@codeaurora.org>
Signed-off-by: Brian Norris <computersforpeace@gmail.com>
2016-03-10 10:52:21 -08:00
..
bcm47xxnflash mtd: nand: make use of nand_set/get_controller_data() helpers 2016-01-07 10:23:41 -08:00
brcmnand mtd: kill the ecclayout->oobavail field 2016-03-07 16:23:09 -08:00
gpmi-nand mtd: nand: gpmi: may use minimum required ecc for 744 oobsize NAND 2016-01-23 14:45:57 -08:00
ams-delta.c mtd: nand: make use of nand_set/get_controller_data() helpers 2016-01-07 10:23:41 -08:00
atmel_nand_ecc.h mtd: atmel_nand: Support 32-bit ECC strength 2016-02-12 10:27:48 -08:00
atmel_nand_nfc.h mtd: atmel_nand: Support variable RB_EDGE interrupts 2016-02-12 10:27:46 -08:00
atmel_nand.c mtd: atmel_nand: Support 32-bit ECC strength 2016-02-12 10:27:48 -08:00
au1550nd.c mtd: nand: remove useless mtd->priv = chip assignments 2015-12-18 13:21:40 -08:00
bf5xx_nand.c mtd: nand: make use of nand_set/get_controller_data() helpers 2016-01-07 10:23:41 -08:00
cafe_nand.c mtd: nand: don't select chip in nand_chip's block_bad op 2016-03-10 10:52:21 -08:00
cmx270_nand.c mtd: nand: remove useless mtd->priv = chip assignments 2015-12-18 13:21:40 -08:00
cs553x_nand.c mtd: nand: remove useless mtd->priv = chip assignments 2015-12-18 13:21:40 -08:00
davinci_nand.c mtd: nand: davinci: remove custom 'erased check' implementation 2016-01-06 18:53:46 -08:00
denali_dt.c mtd: nand: drop owner assignment from platform_drivers 2014-10-20 16:20:58 +02:00
denali_pci.c mtd: denali_pci: switch to dev_err() 2015-08-18 17:21:37 -07:00
denali.c mtd: nand: remove useless mtd->priv = chip assignments 2015-12-18 13:21:40 -08:00
denali.h mtd: nand: denali: use the mtd instance embedded in struct nand_chip 2015-12-18 13:13:50 -08:00
diskonchip.c mtd: nand: don't select chip in nand_chip's block_bad op 2016-03-10 10:52:21 -08:00
docg4.c mtd: nand: don't select chip in nand_chip's block_bad op 2016-03-10 10:52:21 -08:00
fsl_elbc_nand.c mtd: nand: make use of nand_set/get_controller_data() helpers 2016-01-07 10:23:41 -08:00
fsl_ifc_nand.c mtd: nand: make use of nand_set/get_controller_data() helpers 2016-01-07 10:23:41 -08:00
fsl_upm.c mtd: nand: remove useless mtd->priv = chip assignments 2015-12-18 13:21:40 -08:00
fsmc_nand.c mtd: nand: make use of nand_set/get_controller_data() helpers 2016-01-07 10:23:41 -08:00
gpio.c mtd: nand: remove useless mtd->priv = chip assignments 2015-12-18 13:21:40 -08:00
hisi504_nand.c mtd: kill the ecclayout->oobavail field 2016-03-07 16:23:09 -08:00
jz4740_nand.c mtd: nand: jz4740: kill the ->ecc_layout field 2016-01-26 10:27:35 -08:00
jz4780_bch.c mtd: nand: jz4780: Update ecc correction error codes 2016-01-08 09:44:30 -08:00
jz4780_bch.h mtd: nand: jz4780: driver for NAND devices on JZ4780 SoCs 2016-01-07 09:35:11 -08:00
jz4780_nand.c mtd: jz4780_nand: replace if/else blocks with switch/case 2016-01-08 09:49:03 -08:00
Kconfig mtd: cs553x: Fix dependencies for !HAS_IOMEM archs 2016-02-01 09:37:03 -08:00
lpc32xx_mlc.c mtd: nand: lpc32xx_mlc: fix ecc.size 2016-01-26 10:27:37 -08:00
lpc32xx_slc.c mtd: nand: make use of nand_set/get_controller_data() helpers 2016-01-07 10:23:41 -08:00
Makefile mtd: nand: jz4780: driver for NAND devices on JZ4780 SoCs 2016-01-07 09:35:11 -08:00
mpc5121_nfc.c mtd: nand: mpc5121: use 'of_machine_is_compatible' to simplify code 2016-01-22 16:35:25 -08:00
mxc_nand.c mtd: nand: make use of nand_set/get_controller_data() helpers 2016-01-07 10:23:41 -08:00
nand_base.c mtd: nand: don't select chip in nand_chip's block_bad op 2016-03-10 10:52:21 -08:00
nand_bbt.c mtd: nand: remove EXPORT_SYMBOL of nand_scan_bbt() 2016-01-23 14:00:14 -08:00
nand_bch.c mtd: nand: simplify nand_bch_init() usage 2016-03-07 16:23:09 -08:00
nand_ecc.c mtd: nand: return consistent error codes in ecc.correct() implementations 2016-01-06 18:45:46 -08:00
nand_ids.c mtd: nand: add NAND_NEED_SCRAMBLING flag to the H27UCG8T2ATR-BC definition 2016-01-22 16:36:54 -08:00
nand_timings.c mtd: nand: Use ULL-suffix for big u64 constant 2014-08-19 11:53:09 -07:00
nandsim.c mtd: nandsim: use nand_get_controller_data() 2016-01-07 12:25:58 -08:00
ndfc.c mtd: nand: make use of nand_set/get_controller_data() helpers 2016-01-07 10:23:41 -08:00
nuc900_nand.c mtd: nuc900_nand: read correct SMISR register 2016-01-15 10:02:09 -08:00
omap2.c mtd: nand: simplify nand_bch_init() usage 2016-03-07 16:23:09 -08:00
omap_elm.c mtd: omap_elm: print interrupt resource using %pr 2015-12-18 10:16:17 -08:00
orion_nand.c mtd: nand: make use of nand_set/get_controller_data() helpers 2016-01-07 10:23:41 -08:00
pasemi_nand.c mtd: nand: remove useless mtd->priv = chip assignments 2015-12-18 13:21:40 -08:00
plat_nand.c mtd: nand: kill unused ->ecclayout field in platform_nand_chip struct 2016-01-26 10:27:36 -08:00
pxa3xx_nand.c mtd: nand: pxa3xx_nand: kill unused field 'drcmr_cmd' 2016-03-07 12:49:22 -08:00
r852.c mtd: nand: make use of nand_set/get_controller_data() helpers 2016-01-07 10:23:41 -08:00
r852.h mtd: nand: r852: use the mtd instance embedded in struct nand_chip 2015-12-18 10:54:41 -08:00
s3c2410.c mtd: nand: s3c2410: kill the ->ecc_layout field 2016-01-26 10:27:35 -08:00
sh_flctl.c mtd: sh_flctl: pass FIFO as physical address 2015-12-18 18:27:13 -08:00
sharpsl.c mtd: nand: remove useless mtd->priv = chip assignments 2015-12-18 13:21:40 -08:00
sm_common.c mtd: nand: make use of mtd_to_nand() in NAND drivers 2015-12-08 12:24:36 -08:00
sm_common.h mtd: use __packed shorthand 2014-08-19 11:53:08 -07:00
socrates_nand.c mtd: nand: make use of nand_set/get_controller_data() helpers 2016-01-07 10:23:41 -08:00
sunxi_nand.c mtd: nand: sunxi: remove direct mtd->priv accesses 2016-03-04 16:17:20 -08:00
tmio_nand.c mtd: nand: remove useless mtd->priv = chip assignments 2015-12-18 13:21:40 -08:00
txx9ndfmc.c mtd: nand: make use of nand_set/get_controller_data() helpers 2016-01-07 10:23:41 -08:00
vf610_nfc.c mtd: nand: vf610: remove useless mtd->ecclayout assignment 2016-01-26 10:27:38 -08:00
xway_nand.c mtd: nand: make use of mtd_to_nand() in NAND drivers 2015-12-08 12:24:36 -08:00