mtd: nand: don't select chip in nand_chip's block_bad op
authorArchit Taneja <architt@codeaurora.org>
Wed, 3 Feb 2016 08:59:49 +0000 (14:29 +0530)
committerBrian Norris <computersforpeace@gmail.com>
Thu, 10 Mar 2016 18:52:21 +0000 (10:52 -0800)
commit9f3e04297b08212ef43fce4f167e01f40a98d243
tree2ab5f381b077246a8ed4a752269742a7e36cec03
parent9648388fc7737365be7a8092e77df78ccc2cd1a4
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>
drivers/mtd/nand/cafe_nand.c
drivers/mtd/nand/diskonchip.c
drivers/mtd/nand/docg4.c
drivers/mtd/nand/nand_base.c
include/linux/mtd/nand.h