diff options
author | Boris Brezillon | 2018-11-11 08:55:24 +0100 |
---|---|---|
committer | Miquel Raynal | 2018-12-07 10:38:27 +0100 |
commit | 7a08dbaedd365fa4eb7c9cd504c075e3336eb0c6 (patch) | |
tree | 1cfeeb069cffc1883c56d076cd53acb85cbe4173 /drivers/mtd/nand/raw/fsmc_nand.c | |
parent | mtd: rawnand: Move the ->exec_op() method to nand_controller_ops (diff) | |
download | kernel-qcow2-linux-7a08dbaedd365fa4eb7c9cd504c075e3336eb0c6.tar.gz kernel-qcow2-linux-7a08dbaedd365fa4eb7c9cd504c075e3336eb0c6.tar.xz kernel-qcow2-linux-7a08dbaedd365fa4eb7c9cd504c075e3336eb0c6.zip |
mtd: rawnand: Move ->setup_data_interface() to nand_controller_ops
->setup_data_interface() is a controller specific method and should
thus be placed in nand_controller_ops.
In order to make that work with controllers that support keeping
pre-configured timings we need to add a new NAND_KEEP_TIMINGS flag to
inform the core it should skip the timings selection step.
Signed-off-by: Boris Brezillon <boris.brezillon@bootlin.com>
Tested-by: Janusz Krzysztofik <jmkrzyszt@gmail.com>
Signed-off-by: Miquel Raynal <miquel.raynal@bootlin.com>
Diffstat (limited to 'drivers/mtd/nand/raw/fsmc_nand.c')
-rw-r--r-- | drivers/mtd/nand/raw/fsmc_nand.c | 7 |
1 files changed, 4 insertions, 3 deletions
diff --git a/drivers/mtd/nand/raw/fsmc_nand.c b/drivers/mtd/nand/raw/fsmc_nand.c index 1eb5008e7453..61927c4c2650 100644 --- a/drivers/mtd/nand/raw/fsmc_nand.c +++ b/drivers/mtd/nand/raw/fsmc_nand.c @@ -996,6 +996,7 @@ static int fsmc_nand_attach_chip(struct nand_chip *nand) static const struct nand_controller_ops fsmc_nand_controller_ops = { .attach_chip = fsmc_nand_attach_chip, .exec_op = fsmc_exec_op, + .setup_data_interface = fsmc_setup_data_interface, }; /* @@ -1108,10 +1109,10 @@ static int __init fsmc_nand_probe(struct platform_device *pdev) } } - if (host->dev_timings) + if (host->dev_timings) { fsmc_nand_setup(host, host->dev_timings); - else - nand->setup_data_interface = fsmc_setup_data_interface; + nand->options |= NAND_KEEP_TIMINGS; + } if (AMBA_REV_BITS(host->pid) >= 8) { nand->ecc.read_page = fsmc_read_page_hwecc; |