From: boris.brezillon@free-electrons.com (Boris Brezillon)
To: linux-arm-kernel@lists.infradead.org
Subject: [PATCH 09/14] mtd: nand: sunxi: simplify optional reset handling
Date: Mon, 30 Jan 2017 13:44:27 +0100 [thread overview]
Message-ID: <20170130134427.14487373@bbrezillon> (raw)
In-Reply-To: <20170130114116.22089-9-p.zabel@pengutronix.de>
Hi Philipp,
On Mon, 30 Jan 2017 12:41:11 +0100
Philipp Zabel <p.zabel@pengutronix.de> wrote:
> As of commit bb475230b8e5 ("reset: make optional functions really
> optional"), the reset framework API calls use NULL pointers to describe
> optional, non-present reset controls.
>
> This allows to return errors from devm_reset_control_get_optional and to
> call reset_control_(de)assert unconditionally.
>
> Signed-off-by: Philipp Zabel <p.zabel@pengutronix.de>
> Cc: Icenowy Zheng <icenowy@aosc.xyz>
> Cc: Maxime Ripard <maxime.ripard@free-electrons.com>
> Cc: Boris Brezillon <boris.brezillon@free-electrons.com>
I didn't find commit bb475230b8e5 in mainline, so I guess you plan to
take this patch in your own tree. Let me know if this is not the case.
Acked-by: Boris Brezillon <boris.brezillon@free-electrons.com>
> ---
> drivers/mtd/nand/sunxi_nand.c | 19 ++++++++-----------
> 1 file changed, 8 insertions(+), 11 deletions(-)
>
> diff --git a/drivers/mtd/nand/sunxi_nand.c b/drivers/mtd/nand/sunxi_nand.c
> index e40482a65de66..c6769b52c666a 100644
> --- a/drivers/mtd/nand/sunxi_nand.c
> +++ b/drivers/mtd/nand/sunxi_nand.c
> @@ -2196,16 +2196,15 @@ static int sunxi_nfc_probe(struct platform_device *pdev)
> goto out_ahb_clk_unprepare;
>
> nfc->reset = devm_reset_control_get_optional(dev, "ahb");
> - if (!IS_ERR(nfc->reset)) {
> - ret = reset_control_deassert(nfc->reset);
> - if (ret) {
> - dev_err(dev, "reset err %d\n", ret);
> - goto out_mod_clk_unprepare;
> - }
> - } else if (PTR_ERR(nfc->reset) != -ENOENT) {
> + if (IS_ERR(nfc->reset)) {
> ret = PTR_ERR(nfc->reset);
> goto out_mod_clk_unprepare;
> }
> + ret = reset_control_deassert(nfc->reset);
> + if (ret) {
> + dev_err(dev, "reset err %d\n", ret);
> + goto out_mod_clk_unprepare;
> + }
>
> ret = sunxi_nfc_rst(nfc);
> if (ret)
> @@ -2246,8 +2245,7 @@ static int sunxi_nfc_probe(struct platform_device *pdev)
> if (nfc->dmac)
> dma_release_channel(nfc->dmac);
> out_ahb_reset_reassert:
> - if (!IS_ERR(nfc->reset))
> - reset_control_assert(nfc->reset);
> + reset_control_assert(nfc->reset);
> out_mod_clk_unprepare:
> clk_disable_unprepare(nfc->mod_clk);
> out_ahb_clk_unprepare:
> @@ -2262,8 +2260,7 @@ static int sunxi_nfc_remove(struct platform_device *pdev)
>
> sunxi_nand_chips_cleanup(nfc);
>
> - if (!IS_ERR(nfc->reset))
> - reset_control_assert(nfc->reset);
> + reset_control_assert(nfc->reset);
>
> if (nfc->dmac)
> dma_release_channel(nfc->dmac);
WARNING: multiple messages have this Message-ID (diff)
From: Boris Brezillon <boris.brezillon@free-electrons.com>
To: Philipp Zabel <p.zabel@pengutronix.de>
Cc: linux-kernel@vger.kernel.org,
linux-arm-kernel@lists.infradead.org,
Ramiro Oliveira <Ramiro.Oliveira@synopsys.com>,
Icenowy Zheng <icenowy@aosc.xyz>,
Maxime Ripard <maxime.ripard@free-electrons.com>
Subject: Re: [PATCH 09/14] mtd: nand: sunxi: simplify optional reset handling
Date: Mon, 30 Jan 2017 13:44:27 +0100 [thread overview]
Message-ID: <20170130134427.14487373@bbrezillon> (raw)
In-Reply-To: <20170130114116.22089-9-p.zabel@pengutronix.de>
Hi Philipp,
On Mon, 30 Jan 2017 12:41:11 +0100
Philipp Zabel <p.zabel@pengutronix.de> wrote:
> As of commit bb475230b8e5 ("reset: make optional functions really
> optional"), the reset framework API calls use NULL pointers to describe
> optional, non-present reset controls.
>
> This allows to return errors from devm_reset_control_get_optional and to
> call reset_control_(de)assert unconditionally.
>
> Signed-off-by: Philipp Zabel <p.zabel@pengutronix.de>
> Cc: Icenowy Zheng <icenowy@aosc.xyz>
> Cc: Maxime Ripard <maxime.ripard@free-electrons.com>
> Cc: Boris Brezillon <boris.brezillon@free-electrons.com>
I didn't find commit bb475230b8e5 in mainline, so I guess you plan to
take this patch in your own tree. Let me know if this is not the case.
Acked-by: Boris Brezillon <boris.brezillon@free-electrons.com>
> ---
> drivers/mtd/nand/sunxi_nand.c | 19 ++++++++-----------
> 1 file changed, 8 insertions(+), 11 deletions(-)
>
> diff --git a/drivers/mtd/nand/sunxi_nand.c b/drivers/mtd/nand/sunxi_nand.c
> index e40482a65de66..c6769b52c666a 100644
> --- a/drivers/mtd/nand/sunxi_nand.c
> +++ b/drivers/mtd/nand/sunxi_nand.c
> @@ -2196,16 +2196,15 @@ static int sunxi_nfc_probe(struct platform_device *pdev)
> goto out_ahb_clk_unprepare;
>
> nfc->reset = devm_reset_control_get_optional(dev, "ahb");
> - if (!IS_ERR(nfc->reset)) {
> - ret = reset_control_deassert(nfc->reset);
> - if (ret) {
> - dev_err(dev, "reset err %d\n", ret);
> - goto out_mod_clk_unprepare;
> - }
> - } else if (PTR_ERR(nfc->reset) != -ENOENT) {
> + if (IS_ERR(nfc->reset)) {
> ret = PTR_ERR(nfc->reset);
> goto out_mod_clk_unprepare;
> }
> + ret = reset_control_deassert(nfc->reset);
> + if (ret) {
> + dev_err(dev, "reset err %d\n", ret);
> + goto out_mod_clk_unprepare;
> + }
>
> ret = sunxi_nfc_rst(nfc);
> if (ret)
> @@ -2246,8 +2245,7 @@ static int sunxi_nfc_probe(struct platform_device *pdev)
> if (nfc->dmac)
> dma_release_channel(nfc->dmac);
> out_ahb_reset_reassert:
> - if (!IS_ERR(nfc->reset))
> - reset_control_assert(nfc->reset);
> + reset_control_assert(nfc->reset);
> out_mod_clk_unprepare:
> clk_disable_unprepare(nfc->mod_clk);
> out_ahb_clk_unprepare:
> @@ -2262,8 +2260,7 @@ static int sunxi_nfc_remove(struct platform_device *pdev)
>
> sunxi_nand_chips_cleanup(nfc);
>
> - if (!IS_ERR(nfc->reset))
> - reset_control_assert(nfc->reset);
> + reset_control_assert(nfc->reset);
>
> if (nfc->dmac)
> dma_release_channel(nfc->dmac);
next prev parent reply other threads:[~2017-01-30 12:44 UTC|newest]
Thread overview: 72+ messages / expand[flat|nested] mbox.gz Atom feed top
2017-01-30 11:41 [PATCH 01/14] crypto: sun4i-ss - simplify optional reset handling Philipp Zabel
2017-01-30 11:41 ` Philipp Zabel
2017-01-30 11:41 ` [PATCH 02/14] i2c: mv64xxx: " Philipp Zabel
2017-01-30 11:41 ` Philipp Zabel
2017-01-30 11:41 ` [PATCH 03/14] [media] coda: " Philipp Zabel
2017-01-30 11:41 ` Philipp Zabel
2017-01-30 11:41 ` [PATCH 04/14] [media] st_rc: " Philipp Zabel
2017-01-30 11:41 ` Philipp Zabel
2017-01-30 12:33 ` Patrice CHOTARD
2017-01-30 12:33 ` Patrice CHOTARD
2017-01-30 11:41 ` [PATCH 05/14] [media] rc: sunxi-cir: " Philipp Zabel
2017-01-30 11:41 ` Philipp Zabel
2017-01-30 11:41 ` [PATCH 06/14] mmc: dw_mmc: " Philipp Zabel
2017-01-30 11:41 ` Philipp Zabel
2017-01-31 11:52 ` Ulf Hansson
2017-01-31 11:52 ` Ulf Hansson
2017-01-31 17:21 ` Philipp Zabel
2017-01-31 17:21 ` Philipp Zabel
2017-01-30 11:41 ` [PATCH 07/14] mmc: sdhci-st: " Philipp Zabel
2017-01-30 11:41 ` Philipp Zabel
2017-01-30 11:41 ` [PATCH 08/14] mmc: sunxi: " Philipp Zabel
2017-01-30 11:41 ` Philipp Zabel
2017-01-31 3:50 ` Chen-Yu Tsai
2017-01-31 3:50 ` Chen-Yu Tsai
2017-01-30 11:41 ` [PATCH 09/14] mtd: nand: " Philipp Zabel
2017-01-30 11:41 ` Philipp Zabel
2017-01-30 12:44 ` Boris Brezillon [this message]
2017-01-30 12:44 ` Boris Brezillon
2017-01-31 17:20 ` Philipp Zabel
2017-01-31 17:20 ` Philipp Zabel
2017-01-31 17:21 ` Philipp Zabel
2017-01-31 17:21 ` Philipp Zabel
2017-01-30 11:41 ` [PATCH 10/14] phy: meson8b-usb2: " Philipp Zabel
2017-01-30 11:41 ` Philipp Zabel
2017-02-14 23:36 ` Martin Blumenstingl
2017-02-14 23:36 ` Martin Blumenstingl
2017-02-15 16:43 ` Jerome Brunet
2017-02-15 16:43 ` Jerome Brunet
2017-02-15 16:52 ` Philipp Zabel
2017-02-15 16:52 ` Philipp Zabel
2017-01-30 11:41 ` [PATCH 11/14] serial: 8250_dw: " Philipp Zabel
2017-01-30 11:41 ` Philipp Zabel
2017-02-02 22:21 ` Andy Shevchenko
2017-02-02 22:21 ` Andy Shevchenko
2017-02-07 16:48 ` Philipp Zabel
2017-02-07 16:48 ` Philipp Zabel
2017-02-07 16:48 ` Philipp Zabel
2017-02-07 16:48 ` Philipp Zabel
2017-01-30 11:41 ` [PATCH 12/14] usb: dwc2: " Philipp Zabel
2017-01-30 11:41 ` Philipp Zabel
2017-01-31 0:28 ` John Youn
2017-01-31 0:28 ` John Youn
2017-01-31 0:39 ` John Youn
2017-01-31 0:39 ` John Youn
2017-04-10 10:21 ` Felipe Balbi
2017-04-10 10:21 ` Felipe Balbi
2017-04-10 10:36 ` Philipp Zabel
2017-04-10 10:36 ` Philipp Zabel
2017-04-10 11:23 ` Felipe Balbi
2017-04-10 11:23 ` Felipe Balbi
2017-01-30 11:41 ` [PATCH 13/14] usb: host: ehci-st: " Philipp Zabel
2017-01-30 11:41 ` Philipp Zabel
2017-01-30 11:41 ` [PATCH 14/14] ASoC: sunxi: " Philipp Zabel
2017-01-30 11:41 ` Philipp Zabel
2017-01-30 12:30 ` Mark Brown
2017-01-30 12:30 ` Mark Brown
2017-01-30 13:45 ` Philipp Zabel
2017-01-30 13:45 ` Philipp Zabel
2017-01-31 3:49 ` Chen-Yu Tsai
2017-01-31 3:49 ` Chen-Yu Tsai
2017-01-31 21:00 ` Mark Brown
2017-01-31 21:00 ` Mark Brown
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=20170130134427.14487373@bbrezillon \
--to=boris.brezillon@free-electrons.com \
--cc=linux-arm-kernel@lists.infradead.org \
/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: link
Be 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.