From: Florian Fainelli <f.fainelli@gmail.com> To: linux-mtd@lists.infradead.org Cc: "Florian Fainelli" <f.fainelli@gmail.com>, "Rafał Miłecki" <zajec5@gmail.com>, "Miquel Raynal" <miquel.raynal@bootlin.com>, "Richard Weinberger" <richard@nod.at>, "Vignesh Raghavendra" <vigneshr@ti.com>, "Brian Norris" <computersforpeace@gmail.com>, "Kamal Dasu" <kdasu.kdev@gmail.com>, "Arnd Bergmann" <arnd@arndb.de>, "Cai Huoqing" <caihuoqing@baidu.com>, "Colin Ian King" <colin.king@intel.com>, linux-kernel@vger.kernel.org (open list), linux-wireless@vger.kernel.org (open list:BROADCOM SPECIFIC AMBA DRIVER (BCMA)), bcm-kernel-feedback-list@broadcom.com (open list:BROADCOM STB NAND FLASH DRIVER) Subject: [PATCH v3 4/9] mtd: rawnand: brcmnand: Move OF operations out of brcmnand_init_cs() Date: Fri, 7 Jan 2022 10:46:09 -0800 [thread overview] Message-ID: <20220107184614.2670254-5-f.fainelli@gmail.com> (raw) In-Reply-To: <20220107184614.2670254-1-f.fainelli@gmail.com> 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 <f.fainelli@gmail.com> --- drivers/mtd/nand/raw/brcmnand/brcmnand.c | 20 +++++++++++--------- 1 file changed, 11 insertions(+), 9 deletions(-) diff --git a/drivers/mtd/nand/raw/brcmnand/brcmnand.c b/drivers/mtd/nand/raw/brcmnand/brcmnand.c index b7b15ddf326f..40818c881f08 100644 --- a/drivers/mtd/nand/raw/brcmnand/brcmnand.c +++ b/drivers/mtd/nand/raw/brcmnand/brcmnand.c @@ -2768,7 +2768,7 @@ static const struct nand_controller_ops brcmnand_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; @@ -2777,16 +2777,9 @@ static int brcmnand_init_cs(struct brcmnand_host *host, struct device_node *dn) 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); @@ -3193,7 +3186,16 @@ int brcmnand_probe(struct platform_device *pdev, struct brcmnand_soc *soc) 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 */ -- 2.25.1
WARNING: multiple messages have this Message-ID (diff)
From: Florian Fainelli <f.fainelli@gmail.com> To: linux-mtd@lists.infradead.org Cc: "Florian Fainelli" <f.fainelli@gmail.com>, "Rafał Miłecki" <zajec5@gmail.com>, "Miquel Raynal" <miquel.raynal@bootlin.com>, "Richard Weinberger" <richard@nod.at>, "Vignesh Raghavendra" <vigneshr@ti.com>, "Brian Norris" <computersforpeace@gmail.com>, "Kamal Dasu" <kdasu.kdev@gmail.com>, "Arnd Bergmann" <arnd@arndb.de>, "Cai Huoqing" <caihuoqing@baidu.com>, "Colin Ian King" <colin.king@intel.com>, linux-kernel@vger.kernel.org (open list), linux-wireless@vger.kernel.org (open list:BROADCOM SPECIFIC AMBA DRIVER (BCMA)), bcm-kernel-feedback-list@broadcom.com (open list:BROADCOM STB NAND FLASH DRIVER) Subject: [PATCH v3 4/9] mtd: rawnand: brcmnand: Move OF operations out of brcmnand_init_cs() Date: Fri, 7 Jan 2022 10:46:09 -0800 [thread overview] Message-ID: <20220107184614.2670254-5-f.fainelli@gmail.com> (raw) In-Reply-To: <20220107184614.2670254-1-f.fainelli@gmail.com> 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 <f.fainelli@gmail.com> --- drivers/mtd/nand/raw/brcmnand/brcmnand.c | 20 +++++++++++--------- 1 file changed, 11 insertions(+), 9 deletions(-) diff --git a/drivers/mtd/nand/raw/brcmnand/brcmnand.c b/drivers/mtd/nand/raw/brcmnand/brcmnand.c index b7b15ddf326f..40818c881f08 100644 --- a/drivers/mtd/nand/raw/brcmnand/brcmnand.c +++ b/drivers/mtd/nand/raw/brcmnand/brcmnand.c @@ -2768,7 +2768,7 @@ static const struct nand_controller_ops brcmnand_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; @@ -2777,16 +2777,9 @@ static int brcmnand_init_cs(struct brcmnand_host *host, struct device_node *dn) 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); @@ -3193,7 +3186,16 @@ int brcmnand_probe(struct platform_device *pdev, struct brcmnand_soc *soc) 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 */ -- 2.25.1 ______________________________________________________ Linux MTD discussion mailing list http://lists.infradead.org/mailman/listinfo/linux-mtd/
next prev parent reply other threads:[~2022-01-07 18:46 UTC|newest] Thread overview: 24+ messages / expand[flat|nested] mbox.gz Atom feed top 2022-01-07 18:46 [PATCH v3 0/9] BCMA support for brcmnand Florian Fainelli 2022-01-07 18:46 ` Florian Fainelli 2022-01-07 18:46 ` [PATCH v3 1/9] mtd: rawnand: brcmnand: Assign soc as early as possible Florian Fainelli 2022-01-07 18:46 ` Florian Fainelli 2022-01-07 18:46 ` [PATCH v3 2/9] mtd: rawnand: brcmnand: Allow SoC to provide I/O operations Florian Fainelli 2022-01-07 18:46 ` Florian Fainelli 2022-01-07 18:46 ` [PATCH v3 3/9] mtd: rawnand: brcmnand: Avoid pdev in brcmnand_init_cs() Florian Fainelli 2022-01-07 18:46 ` Florian Fainelli 2022-01-07 18:46 ` Florian Fainelli [this message] 2022-01-07 18:46 ` [PATCH v3 4/9] mtd: rawnand: brcmnand: Move OF operations out of brcmnand_init_cs() Florian Fainelli 2022-01-07 18:46 ` [PATCH v3 5/9] mtd: rawnand: brcmnand: Allow working without interrupts Florian Fainelli 2022-01-07 18:46 ` Florian Fainelli 2022-01-07 18:46 ` [PATCH v3 6/9] mtd: rawnand: brcmnand: Add platform data structure for BCMA Florian Fainelli 2022-01-07 18:46 ` Florian Fainelli 2022-01-07 18:46 ` [PATCH v3 7/9] mtd: rawnand: brcmnand: Allow platform data instantation Florian Fainelli 2022-01-07 18:46 ` Florian Fainelli 2022-01-07 18:46 ` [PATCH v3 8/9] mtd: rawnand: brcmnand: BCMA controller uses command shift of 0 Florian Fainelli 2022-01-07 18:46 ` Florian Fainelli 2022-01-07 18:46 ` [PATCH v3 9/9] mtd: rawnand: brcmnand: Add BCMA shim Florian Fainelli 2022-01-07 18:46 ` Florian Fainelli 2022-01-10 17:38 ` [PATCH v3 0/9] BCMA support for brcmnand Kamal Dasu 2022-01-10 17:38 ` Kamal Dasu 2022-01-23 15:42 ` Miquel Raynal 2022-01-23 15:42 ` Miquel Raynal
Reply instructions: You may reply publicly to this message via plain-text email using any one of the following methods: * Save the following mbox file, import it into your mail client, and reply-to-all from there: mbox Avoid top-posting and favor interleaved quoting: https://en.wikipedia.org/wiki/Posting_style#Interleaved_style * Reply using the --to, --cc, and --in-reply-to switches of git-send-email(1): git send-email \ --in-reply-to=20220107184614.2670254-5-f.fainelli@gmail.com \ --to=f.fainelli@gmail.com \ --cc=arnd@arndb.de \ --cc=bcm-kernel-feedback-list@broadcom.com \ --cc=caihuoqing@baidu.com \ --cc=colin.king@intel.com \ --cc=computersforpeace@gmail.com \ --cc=kdasu.kdev@gmail.com \ --cc=linux-kernel@vger.kernel.org \ --cc=linux-mtd@lists.infradead.org \ --cc=linux-wireless@vger.kernel.org \ --cc=miquel.raynal@bootlin.com \ --cc=richard@nod.at \ --cc=vigneshr@ti.com \ --cc=zajec5@gmail.com \ /path/to/YOUR_REPLY https://kernel.org/pub/software/scm/git/docs/git-send-email.html * If your mail client supports setting the In-Reply-To header via mailto: links, try the mailto: linkBe sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes, see mirroring instructions on how to clone and mirror all data and code used by this external index.