123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263 |
- From: Florian Fainelli <[email protected]>
- Subject: [PATCH v3 4/9] mtd: rawnand: brcmnand: Move OF operations out of brcmnand_init_cs()
- Date: Fri, 07 Jan 2022 10:46:09 -0800
- Content-Type: text/plain; charset="utf-8"
- In order to initialize a given chip select object for use by the
- brcmnand driver, move all of the Device Tree specific routines outside
- of brcmnand_init_cs() in order to make it usable in a platform data
- configuration which will be necessary for supporting BCMA chips.
- No functional changes introduced.
- Signed-off-by: Florian Fainelli <[email protected]>
- ---
- drivers/mtd/nand/raw/brcmnand/brcmnand.c | 20 +++++++++++---------
- 1 file changed, 11 insertions(+), 9 deletions(-)
- --- a/drivers/mtd/nand/raw/brcmnand/brcmnand.c
- +++ b/drivers/mtd/nand/raw/brcmnand/brcmnand.c
- @@ -2811,7 +2811,7 @@ static const struct nand_controller_ops
- .attach_chip = brcmnand_attach_chip,
- };
-
- -static int brcmnand_init_cs(struct brcmnand_host *host, struct device_node *dn)
- +static int brcmnand_init_cs(struct brcmnand_host *host)
- {
- struct brcmnand_controller *ctrl = host->ctrl;
- struct device *dev = ctrl->dev;
- @@ -2820,16 +2820,9 @@ static int brcmnand_init_cs(struct brcmn
- int ret;
- u16 cfg_offs;
-
- - ret = of_property_read_u32(dn, "reg", &host->cs);
- - if (ret) {
- - dev_err(dev, "can't get chip-select\n");
- - return -ENXIO;
- - }
- -
- mtd = nand_to_mtd(&host->chip);
- chip = &host->chip;
-
- - nand_set_flash_node(chip, dn);
- nand_set_controller_data(chip, host);
- mtd->name = devm_kasprintf(dev, GFP_KERNEL, "brcmnand.%d",
- host->cs);
- @@ -3240,7 +3233,16 @@ int brcmnand_probe(struct platform_devic
- host->pdev = pdev;
- host->ctrl = ctrl;
-
- - ret = brcmnand_init_cs(host, child);
- + ret = of_property_read_u32(child, "reg", &host->cs);
- + if (ret) {
- + dev_err(dev, "can't get chip-select\n");
- + devm_kfree(dev, host);
- + continue;
- + }
- +
- + nand_set_flash_node(&host->chip, child);
- +
- + ret = brcmnand_init_cs(host);
- if (ret) {
- devm_kfree(dev, host);
- continue; /* Try all chip-selects */
|