mtd: rawnand: diskonchip: Inherit from nand_controller
Stop relying on the dummy controller object embedded in nand_chip.legacy and explicitly inherit from nand_controller. Signed-off-by: Boris Brezillon <boris.brezillon@collabora.com> Signed-off-by: Miquel Raynal <miquel.raynal@bootlin.com> Link: https://lore.kernel.org/linux-mtd/20200501143917.1388957-4-boris.brezillon@collabora.com
This commit is contained in:
parent
fddf5cec1c
commit
f37b1d3c8f
|
@ -58,6 +58,7 @@ static unsigned long doc_locations[] __initdata = {
|
||||||
static struct mtd_info *doclist = NULL;
|
static struct mtd_info *doclist = NULL;
|
||||||
|
|
||||||
struct doc_priv {
|
struct doc_priv {
|
||||||
|
struct nand_controller base;
|
||||||
void __iomem *virtadr;
|
void __iomem *virtadr;
|
||||||
unsigned long physadr;
|
unsigned long physadr;
|
||||||
u_char ChipID;
|
u_char ChipID;
|
||||||
|
@ -1550,6 +1551,7 @@ static int __init doc_probe(unsigned long physadr)
|
||||||
goto fail;
|
goto fail;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
nand_controller_init(&doc->base);
|
||||||
mtd = nand_to_mtd(nand);
|
mtd = nand_to_mtd(nand);
|
||||||
nand->bbt_td = (struct nand_bbt_descr *) (doc + 1);
|
nand->bbt_td = (struct nand_bbt_descr *) (doc + 1);
|
||||||
nand->bbt_md = nand->bbt_td + 1;
|
nand->bbt_md = nand->bbt_td + 1;
|
||||||
|
@ -1557,6 +1559,7 @@ static int __init doc_probe(unsigned long physadr)
|
||||||
mtd->owner = THIS_MODULE;
|
mtd->owner = THIS_MODULE;
|
||||||
mtd_set_ooblayout(mtd, &doc200x_ooblayout_ops);
|
mtd_set_ooblayout(mtd, &doc200x_ooblayout_ops);
|
||||||
|
|
||||||
|
nand->controller = &doc->base;
|
||||||
nand_set_controller_data(nand, doc);
|
nand_set_controller_data(nand, doc);
|
||||||
nand->legacy.select_chip = doc200x_select_chip;
|
nand->legacy.select_chip = doc200x_select_chip;
|
||||||
nand->legacy.cmd_ctrl = doc200x_hwcontrol;
|
nand->legacy.cmd_ctrl = doc200x_hwcontrol;
|
||||||
|
|
Loading…
Reference in New Issue