From: Gerhard Sittig <gsi@denx.de>
To: linuxppc-dev@lists.ozlabs.org, Anatolij Gustschin <agust@denx.de>,
Mike Turquette <mturquette@linaro.org>,
linux-arm-kernel@lists.infradead.org,
devicetree-discuss@lists.ozlabs.org
Cc: Detlev Zundel <dzu@denx.de>, Wolfram Sang <wsa@the-dreams.de>,
Greg Kroah-Hartman <gregkh@linuxfoundation.org>,
Gerhard Sittig <gsi@denx.de>,
Rob Herring <rob.herring@calxeda.com>,
Mark Brown <broonie@kernel.org>,
Marc Kleine-Budde <mkl@pengutronix.de>,
David Woodhouse <dwmw2@infradead.org>,
Wolfgang Grandegger <wg@grandegger.com>,
Mauro Carvalho Chehab <m.chehab@samsung.com>
Subject: [PATCH v3 04/31] mtd: mpc5121_nfc: cleanup clock API use
Date: Mon, 22 Jul 2013 14:14:31 +0200 [thread overview]
Message-ID: <1374495298-22019-5-git-send-email-gsi@denx.de> (raw)
In-Reply-To: <1374495298-22019-1-git-send-email-gsi@denx.de>
prepare before enable isn't optional, do check for and propagate clock
setup errors, adjust error code paths to correctly balance get/put and
prepare/unprepare and enable/disable, use devm_{get,put}_clk()
Signed-off-by: Gerhard Sittig <gsi@denx.de>
---
drivers/mtd/nand/mpc5121_nfc.c | 20 +++++++++++++-------
1 file changed, 13 insertions(+), 7 deletions(-)
diff --git a/drivers/mtd/nand/mpc5121_nfc.c b/drivers/mtd/nand/mpc5121_nfc.c
index 3c9cdcb..9c0b8fe 100644
--- a/drivers/mtd/nand/mpc5121_nfc.c
+++ b/drivers/mtd/nand/mpc5121_nfc.c
@@ -618,8 +618,8 @@ static void mpc5121_nfc_free(struct device *dev, struct mtd_info *mtd)
struct mpc5121_nfc_prv *prv = chip->priv;
if (prv->clk) {
- clk_disable(prv->clk);
- clk_put(prv->clk);
+ clk_disable_unprepare(prv->clk);
+ devm_clk_put(dev, prv->clk);
}
if (prv->csreg)
@@ -629,6 +629,7 @@ static void mpc5121_nfc_free(struct device *dev, struct mtd_info *mtd)
static int mpc5121_nfc_probe(struct platform_device *op)
{
struct device_node *rootnode, *dn = op->dev.of_node;
+ struct clk *clk;
struct device *dev = &op->dev;
struct mpc5121_nfc_prv *prv;
struct resource res;
@@ -730,14 +731,19 @@ static int mpc5121_nfc_probe(struct platform_device *op)
of_node_put(rootnode);
/* Enable NFC clock */
- prv->clk = clk_get(dev, "nfc_clk");
- if (IS_ERR(prv->clk)) {
+ clk = devm_clk_get(dev, "nfc_clk");
+ if (IS_ERR(clk)) {
dev_err(dev, "Unable to acquire NFC clock!\n");
- retval = PTR_ERR(prv->clk);
+ retval = PTR_ERR(clk);
goto error;
}
-
- clk_enable(prv->clk);
+ retval = clk_prepare_enable(clk);
+ if (retval) {
+ dev_err(dev, "Unable to enable NFC clock!\n");
+ devm_clk_put(dev, clk);
+ goto error;
+ }
+ prv->clk = clk;
/* Reset NAND Flash controller */
nfc_set(mtd, NFC_CONFIG1, NFC_RESET);
--
1.7.10.4
next prev parent reply other threads:[~2013-07-22 12:15 UTC|newest]
Thread overview: 190+ messages / expand[flat|nested] mbox.gz Atom feed top
2013-07-15 18:47 [PATCH v1 00/24] add COMMON_CLK support for PowerPC MPC512x Gerhard Sittig
2013-07-15 18:47 ` [PATCH v1 01/24] spi: mpc512x: prepare clocks before enabling them Gerhard Sittig
2013-07-15 20:17 ` Mark Brown
2013-07-17 11:22 ` Gerhard Sittig
2013-07-17 12:07 ` Mark Brown
2013-07-17 14:26 ` Gerhard Sittig
2013-07-17 16:53 ` Mark Brown
2013-07-15 18:47 ` [PATCH v1 02/24] serial: " Gerhard Sittig
2013-07-15 18:47 ` [PATCH v1 03/24] mtd: mpc5121_nfc: " Gerhard Sittig
2013-07-15 18:47 ` [PATCH v1 04/24] powerpc: mpc512x: array decl for MCLK registers in CCM Gerhard Sittig
2013-07-15 18:47 ` [PATCH v1 05/24] clk: wrap I/O access for improved portability Gerhard Sittig
2013-07-15 19:38 ` Sascha Hauer
2013-07-17 12:07 ` Gerhard Sittig
2013-07-18 7:04 ` Gerhard Sittig
2013-07-18 8:06 ` Sascha Hauer
2013-07-18 10:08 ` Mark Brown
2013-07-18 9:17 ` Russell King - ARM Linux
2013-07-18 17:47 ` Nicolas Pitre
2013-08-02 22:09 ` Mike Turquette
2013-07-15 18:47 ` [PATCH v1 06/24] dts: mpc512x: prepare for preprocessor support Gerhard Sittig
2013-07-15 18:47 ` [PATCH v1 07/24] dts: mpc512x: introduce dt-bindings/clock/ header Gerhard Sittig
2013-07-15 18:47 ` [PATCH v1 08/24] dts: mpc512x: add clock related device tree specs Gerhard Sittig
2013-07-15 18:47 ` [PATCH v1 09/24] clk: mpc512x: introduce COMMON_CLK for MPC512x Gerhard Sittig
2013-07-15 18:47 ` [PATCH v1 10/24] dts: mpc512x: add clock specs for client lookups Gerhard Sittig
2013-07-15 18:47 ` [PATCH v1 11/24] net: can: mscan: add a comment on reg to idx mapping Gerhard Sittig
2013-07-15 18:47 ` [PATCH v1 12/24] net: can: mscan: make mpc512x code use common clock Gerhard Sittig
2013-07-15 18:47 ` [PATCH v1 13/24] spi: mpc512x: OF clock lookup, use the 'mclk' name Gerhard Sittig
2013-07-15 18:47 ` [PATCH v1 14/24] powerpc/mpc512x: improve DIU related clock setup Gerhard Sittig
2013-07-15 21:46 ` [PATCH v1 15/24] serial: mpc512x: OF clock lookup, use the 'mclk' name Gerhard Sittig
2013-07-15 21:54 ` Sascha Hauer
2013-07-17 11:27 ` Gerhard Sittig
2013-07-16 6:05 ` [PATCH v1 16/24] clk: mpc512x: remove now obsolete clkdev registration Gerhard Sittig
2013-07-16 6:05 ` [PATCH v1 17/24] serial: mpc512x: setup the PSC FIFO clock as well Gerhard Sittig
2013-07-16 6:05 ` [PATCH v1 18/24] i2c: mpc: OF clock lookup for MPC512x Gerhard Sittig
2013-07-16 6:05 ` [PATCH v1 19/24] USB: fsl-mph-dr-of: OF clock lookup, prepare and enable Gerhard Sittig
2013-07-16 6:05 ` [PATCH v1 20/24] fs_enet: OF clock lookup (non-fatal), " Gerhard Sittig
2013-07-16 8:45 ` [PATCH v1 21/24] [media] fsl-viu: OF clock lookup, prepare before enable Gerhard Sittig
2013-07-16 8:45 ` [PATCH v1 22/24] powerpc/fsl-pci: " Gerhard Sittig
2013-07-16 8:45 ` [PATCH v1 23/24] clk: mpc512x: switch to COMMON_CLK, remove PPC_CLOCK Gerhard Sittig
2013-07-16 8:45 ` [PATCH v1 24/24] net: can: mscan: remove MPC512x non-COMMON_CLK code path Gerhard Sittig
2013-07-18 17:00 ` [PATCH v2 00/24] add COMMON_CLK support for PowerPC MPC512x Gerhard Sittig
2013-07-18 17:00 ` [PATCH v2 01/24] spi: mpc512x: cleanup clock API use Gerhard Sittig
2013-07-18 20:49 ` Mark Brown
2013-07-18 17:00 ` [PATCH v2 02/24] serial: " Gerhard Sittig
2013-07-18 17:00 ` [PATCH v2 03/24] mtd: mpc5121_nfc: prepare clocks before enabling them Gerhard Sittig
2013-07-18 17:00 ` [PATCH v2 04/24] powerpc: mpc512x: array decl for MCLK registers in CCM Gerhard Sittig
2013-07-18 17:00 ` [PATCH v2 05/24] clk: wrap I/O access for improved portability Gerhard Sittig
2013-07-18 17:00 ` [PATCH v2 06/24] dts: mpc512x: prepare for preprocessor support Gerhard Sittig
2013-07-18 17:00 ` [PATCH v2 07/24] dts: mpc512x: introduce dt-bindings/clock/ header Gerhard Sittig
2013-07-18 17:00 ` [PATCH v2 08/24] dts: mpc512x: add clock related device tree specs Gerhard Sittig
2013-07-18 17:00 ` [PATCH v2 09/24] clk: mpc512x: introduce COMMON_CLK for MPC512x Gerhard Sittig
2013-07-18 17:00 ` [PATCH v2 10/24] dts: mpc512x: add clock specs for client lookups Gerhard Sittig
2013-07-18 17:00 ` [PATCH v2 11/24] spi: mpc512x: remove now obsolete clock lookup name Gerhard Sittig
2013-07-18 17:00 ` [PATCH v2 12/24] serial: " Gerhard Sittig
2013-07-18 17:00 ` [PATCH v2 13/24] clk: mpc512x: remove now obsolete clkdev registration Gerhard Sittig
2013-07-18 17:00 ` [PATCH v2 14/24] serial: mpc512x: setup the PSC FIFO clock as well Gerhard Sittig
2013-07-18 20:20 ` [PATCH v2 15/24] net: can: mscan: add a comment on reg to idx mapping Gerhard Sittig
2013-07-18 20:20 ` [PATCH v2 16/24] net: can: mscan: make mpc512x code use common clock Gerhard Sittig
2013-07-19 7:34 ` Marc Kleine-Budde
2013-07-19 9:41 ` Gerhard Sittig
2013-07-19 10:46 ` Marc Kleine-Budde
2013-07-18 20:20 ` [PATCH v2 17/24] powerpc/mpc512x: improve DIU related clock setup Gerhard Sittig
2013-07-18 20:20 ` [PATCH v2 18/24] i2c: mpc: OF clock lookup for MPC512x Gerhard Sittig
2013-07-18 20:33 ` Russell King - ARM Linux
2013-07-19 8:42 ` Gerhard Sittig
2013-07-18 20:20 ` [PATCH v2 19/24] USB: fsl-mph-dr-of: OF clock lookup, prepare and enable Gerhard Sittig
2013-07-18 20:20 ` [PATCH v2 20/24] fs_enet: OF clock lookup (non-fatal), " Gerhard Sittig
2013-07-18 20:20 ` [PATCH v2 21/24] [media] fsl-viu: OF clock lookup, prepare before enable Gerhard Sittig
2013-07-18 20:20 ` [PATCH v2 22/24] powerpc/fsl-pci: " Gerhard Sittig
2013-07-18 20:20 ` [PATCH v2 23/24] clk: mpc512x: switch to COMMON_CLK, remove PPC_CLOCK Gerhard Sittig
2013-07-18 20:20 ` [PATCH v2 24/24] net: can: mscan: remove MPC512x non-COMMON_CLK code path Gerhard Sittig
2013-07-22 12:14 ` [PATCH v3 00/31] add COMMON_CLK support for PowerPC MPC512x Gerhard Sittig
2013-07-22 12:14 ` [PATCH v3 01/31] spi: mpc512x: cleanup clock API use Gerhard Sittig
2013-07-22 14:09 ` Mark Brown
2013-07-23 11:58 ` Gerhard Sittig
2013-07-22 12:14 ` [PATCH v3 02/31] serial: " Gerhard Sittig
2013-07-22 12:14 ` [PATCH v3 03/31] USB: fsl-mph-dr-of: " Gerhard Sittig
2013-07-22 12:14 ` Gerhard Sittig [this message]
2013-07-22 12:14 ` [PATCH v3 05/31] [media] fsl-viu: " Gerhard Sittig
2013-07-22 12:14 ` [PATCH v3 06/31] i2c: mpc: " Gerhard Sittig
2013-07-22 12:14 ` [PATCH v3 07/31] fs_enet: silence a build warning (unused variable) Gerhard Sittig
2013-07-22 12:14 ` [PATCH v3 08/31] fs_enet: cleanup clock API use Gerhard Sittig
2013-07-22 12:28 ` Marc Kleine-Budde
2013-07-22 12:14 ` [PATCH v3 09/31] powerpc/fsl-pci: improve " Gerhard Sittig
2013-07-22 12:14 ` [PATCH v3 10/31] net: can: mscan: add a comment on reg to idx mapping Gerhard Sittig
2013-07-22 12:14 ` [PATCH v3 11/31] net: can: mscan: improve clock API use Gerhard Sittig
2013-07-22 12:31 ` Marc Kleine-Budde
2013-07-23 11:53 ` Gerhard Sittig
2013-07-23 12:33 ` Marc Kleine-Budde
2013-08-03 17:07 ` Gerhard Sittig
2013-07-22 12:14 ` [PATCH v3 12/31] powerpc: mpc512x: array decl for MCLK registers in CCM Gerhard Sittig
2013-07-22 12:14 ` [PATCH v3 13/31] clk: wrap I/O access for improved portability Gerhard Sittig
2013-08-02 22:30 ` Mike Turquette
2013-08-03 14:08 ` Gerhard Sittig
2013-08-23 22:05 ` Anatolij Gustschin
2013-08-28 0:55 ` Mike Turquette
2013-07-22 12:14 ` [PATCH v3 14/31] dts: mpc512x: prepare for preprocessor support Gerhard Sittig
2013-07-22 12:14 ` [PATCH v3 15/31] dts: mpc512x: introduce dt-bindings/clock/ header Gerhard Sittig
2013-08-02 22:43 ` Mike Turquette
2013-08-03 14:19 ` Gerhard Sittig
2013-07-22 12:14 ` [PATCH v3 16/31] dts: mpc512x: add clock related device tree specs Gerhard Sittig
2013-08-02 22:46 ` Mike Turquette
2013-07-22 12:14 ` [PATCH v3 17/31] clk: mpc512x: introduce COMMON_CLK for MPC512x Gerhard Sittig
2013-07-23 13:14 ` Gerhard Sittig
2013-08-02 23:30 ` Mike Turquette
2013-08-03 14:39 ` Gerhard Sittig
2013-08-05 17:11 ` Mike Turquette
2013-08-02 23:41 ` Mike Turquette
2013-08-03 15:03 ` Gerhard Sittig
2013-08-05 11:37 ` Mark Rutland
2013-08-05 17:01 ` Gerhard Sittig
2013-07-22 12:14 ` [PATCH v3 18/31] dts: mpc512x: add clock specs for client lookups Gerhard Sittig
2013-08-02 23:41 ` Mike Turquette
2013-08-03 15:36 ` Gerhard Sittig
2013-07-22 12:14 ` [PATCH v3 19/31] clk: mpc512x: don't pre-enable FEC and I2C clocks Gerhard Sittig
2013-07-22 12:14 ` [PATCH v3 20/31] spi: mpc512x: remove now obsolete clock lookup name Gerhard Sittig
2013-07-22 12:14 ` [PATCH v3 21/31] serial: " Gerhard Sittig
2013-07-22 12:14 ` [PATCH v3 22/31] clk: mpc512x: remove clkdev registration (uart, spi) Gerhard Sittig
2013-07-22 12:14 ` [PATCH v3 23/31] serial: mpc512x: setup the PSC FIFO clock as well Gerhard Sittig
2013-07-22 12:14 ` [PATCH v3 24/31] USB: fsl-mph-dr-of: remove now obsolete clock lookup name Gerhard Sittig
2013-07-22 12:14 ` [PATCH v3 25/31] mtd: mpc5121_nfc: " Gerhard Sittig
2013-07-22 12:14 ` [PATCH v3 26/31] [media] fsl-viu: " Gerhard Sittig
2013-07-22 12:14 ` [PATCH v3 27/31] net: can: mscan: add common clock support for mpc512x Gerhard Sittig
2013-07-22 13:04 ` Marc Kleine-Budde
2013-07-23 12:07 ` Gerhard Sittig
2013-07-23 12:37 ` Marc Kleine-Budde
2013-07-22 12:14 ` [PATCH v3 28/31] powerpc/mpc512x: improve DIU related clock setup Gerhard Sittig
2013-07-22 12:14 ` [PATCH v3 29/31] clk: mpc512x: switch to COMMON_CLK, remove PPC_CLOCK Gerhard Sittig
2013-07-22 12:14 ` [PATCH v3 30/31] net: can: mscan: remove non-common_clock code for MPC512x Gerhard Sittig
2013-07-22 12:14 ` [PATCH v3 31/31] clk: mpc512x: remove clkdev registration (sys/ref, header) Gerhard Sittig
2013-07-22 12:33 ` [PATCH v3 00/31] add COMMON_CLK support for PowerPC MPC512x Gerhard Sittig
2013-08-06 20:43 ` [PATCH v4 " Gerhard Sittig
2013-08-06 20:43 ` [PATCH v4 01/31] spi: mpc512x: cleanup clock API use Gerhard Sittig
2013-08-21 19:22 ` Anatolij Gustschin
2013-08-21 19:48 ` Mark Brown
2013-08-21 20:38 ` Anatolij Gustschin
2013-08-22 10:02 ` Mark Brown
2013-08-06 20:43 ` [PATCH v4 02/31] serial: " Gerhard Sittig
2013-08-12 18:27 ` Greg Kroah-Hartman
2013-08-21 19:52 ` Anatolij Gustschin
2013-08-06 20:43 ` [PATCH v4 03/31] USB: fsl-mph-dr-of: " Gerhard Sittig
2013-08-21 20:45 ` Anatolij Gustschin
2013-08-06 20:43 ` [PATCH v4 04/31] mtd: mpc5121_nfc: " Gerhard Sittig
2013-08-23 21:47 ` Anatolij Gustschin
2013-08-06 20:43 ` [PATCH v4 05/31] [media] fsl-viu: " Gerhard Sittig
2013-08-23 21:48 ` Anatolij Gustschin
2013-08-06 20:43 ` [PATCH v4 06/31] i2c: mpc: " Gerhard Sittig
2013-08-06 20:43 ` [PATCH v4 07/31] fs_enet: silence a build warning (unused variable) Gerhard Sittig
2013-08-06 20:43 ` [PATCH v4 08/31] fs_enet: cleanup clock API use Gerhard Sittig
2013-08-06 20:43 ` [PATCH v4 09/31] powerpc/fsl-pci: improve " Gerhard Sittig
2013-08-08 20:12 ` Anatolij Gustschin
2013-08-12 7:57 ` Gerhard Sittig
2013-08-28 12:08 ` Gerhard Sittig
2013-08-28 15:59 ` Gerhard Sittig
2013-08-28 22:10 ` Benjamin Herrenschmidt
2013-08-06 20:43 ` [PATCH v4 10/31] net: can: mscan: add a comment on reg to idx mapping Gerhard Sittig
2013-08-06 20:43 ` [PATCH v4 11/31] net: can: mscan: improve clock API use Gerhard Sittig
2013-08-07 7:28 ` Marc Kleine-Budde
2013-08-08 19:50 ` Gerhard Sittig
2013-08-07 7:30 ` Marc Kleine-Budde
2013-08-07 7:35 ` Marc Kleine-Budde
2013-08-06 20:43 ` [PATCH v4 12/31] powerpc: mpc512x: array decl for MCLK registers in CCM Gerhard Sittig
2013-08-23 21:49 ` Anatolij Gustschin
2013-08-06 20:43 ` [PATCH v4 13/31] clk: wrap I/O access for improved portability Gerhard Sittig
2013-08-06 20:43 ` [PATCH v4 14/31] dts: mpc512x: prepare for preprocessor support Gerhard Sittig
2013-08-23 22:18 ` Anatolij Gustschin
2013-08-06 20:43 ` [PATCH v4 15/31] dts: mpc512x: introduce dt-bindings/clock/ header Gerhard Sittig
2013-08-06 20:43 ` [PATCH v4 16/31] dts: mpc512x: add clock related device tree specs Gerhard Sittig
2013-08-06 20:43 ` [PATCH v4 17/31] clk: mpc512x: introduce COMMON_CLK for MPC512x Gerhard Sittig
2013-08-06 20:43 ` [PATCH v4 18/31] dts: mpc512x: add clock specs for client lookups Gerhard Sittig
2013-08-06 20:43 ` [PATCH v4 19/31] clk: mpc512x: don't pre-enable FEC and I2C clocks Gerhard Sittig
2013-08-06 20:44 ` [PATCH v4 20/31] spi: mpc512x: switch to CCF names in clock lookup Gerhard Sittig
2013-08-06 20:44 ` [PATCH v4 21/31] serial: " Gerhard Sittig
2013-08-12 18:27 ` Greg Kroah-Hartman
2013-08-06 20:44 ` [PATCH v4 22/31] clk: mpc512x: remove PSC (UART, SPI) compat workarounds Gerhard Sittig
2013-08-06 20:44 ` [PATCH v4 23/31] serial: mpc512x: setup the PSC FIFO clock as well Gerhard Sittig
2013-08-12 18:27 ` Greg Kroah-Hartman
2013-08-06 20:44 ` [PATCH v4 24/31] USB: fsl-mph-dr-of: remove now obsolete clock lookup name Gerhard Sittig
2013-08-06 20:44 ` [PATCH v4 25/31] mtd: mpc5121_nfc: " Gerhard Sittig
2013-08-06 20:44 ` [PATCH v4 26/31] [media] fsl-viu: " Gerhard Sittig
2013-08-06 20:44 ` [PATCH v4 27/31] net: can: mscan: add common clock support for mpc512x Gerhard Sittig
2013-08-06 20:44 ` [PATCH v4 28/31] powerpc/mpc512x: improve DIU related clock setup Gerhard Sittig
2013-08-06 20:44 ` [PATCH v4 29/31] clk: mpc512x: switch to COMMON_CLK, remove PPC_CLOCK Gerhard Sittig
2013-08-06 20:44 ` [PATCH v4 30/31] net: can: mscan: remove non-CCF code for MPC512x Gerhard Sittig
2013-08-06 20:44 ` [PATCH v4 31/31] clk: mpc512x: remove remaining migration workarounds Gerhard Sittig
2013-08-06 21:31 ` [PATCH v4 00/31] add COMMON_CLK support for PowerPC MPC512x Gerhard Sittig
2013-08-07 7:36 ` Gerhard Sittig
2013-08-07 15:40 ` Kumar Gala
2013-08-08 18:41 ` Gerhard Sittig
2013-08-28 13:50 ` Gerhard Sittig
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=1374495298-22019-5-git-send-email-gsi@denx.de \
--to=gsi@denx.de \
--cc=agust@denx.de \
--cc=broonie@kernel.org \
--cc=devicetree-discuss@lists.ozlabs.org \
--cc=dwmw2@infradead.org \
--cc=dzu@denx.de \
--cc=gregkh@linuxfoundation.org \
--cc=linux-arm-kernel@lists.infradead.org \
--cc=linuxppc-dev@lists.ozlabs.org \
--cc=m.chehab@samsung.com \
--cc=mkl@pengutronix.de \
--cc=mturquette@linaro.org \
--cc=rob.herring@calxeda.com \
--cc=wg@grandegger.com \
--cc=wsa@the-dreams.de \
/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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).