All of lore.kernel.org
 help / color / mirror / Atom feed
From: Maxime Ripard <maxime.ripard@bootlin.com>
To: Paul Kocialkowski <paul.kocialkowski@bootlin.com>
Cc: linux-media@vger.kernel.org, devicetree@vger.kernel.org,
	linux-arm-kernel@lists.infradead.org,
	linux-kernel@vger.kernel.org,
	Mauro Carvalho Chehab <mchehab@kernel.org>,
	Rob Herring <robh+dt@kernel.org>,
	Mark Rutland <mark.rutland@arm.com>, Chen-Yu Tsai <wens@csie.org>,
	Greg Kroah-Hartman <gregkh@linuxfoundation.org>,
	"David S . Miller" <davem@davemloft.net>,
	Andrew Morton <akpm@linux-foundation.org>,
	Linus Walleij <linus.walleij@linaro.org>,
	Randy Dunlap <rdunlap@infradead.org>,
	Hans Verkuil <hans.verkuil@cisco.com>,
	Arnd Bergmann <arnd@arndb.de>,
	Stanimir Varbanov <stanimir.varbanov@linaro.org>,
	Sakari Ailus <sakari.ailus@linux.intel.com>,
	Philipp Zabel <p.zabel@pengutronix.de>,
	Ramesh Shanmugasundaram <ramesh.shanmugasundaram@bp.renesas.com>,
	Yannick Fertre <yannick.fertre@st.com>,
	Thomas Gleixner <tglx@linutronix.de>,
	Hugues Fruchet <hugues.fruchet@st.com>,
	Alexandre Courbot <gnurou@gmail.com>,
	Florent Revest <florent.revest@free-electrons.com>,
	Tomasz Figa <tfiga@chromium.org>,
	Ricardo Ribalda Delgado <ricardo.ribalda@gmail.com>,
	Smitha T Murthy <smitha.t@samsung.com>,
	Andy Shevchenko <andriy.shevchenko@linux.intel.com>,
	Sylwester Nawrocki <s.nawrocki@samsung.com>,
	Randy Li <ayaka@soulik.info>
Subject: Re: [PATCH v3 11/14] media: platform: Add Sunxi-Cedrus VPU decoder driver
Date: Mon, 7 May 2018 17:42:01 +0200	[thread overview]
Message-ID: <20180507154201.4vz3y6j7u7kzfud6@flea> (raw)
In-Reply-To: <20180507124500.20434-12-paul.kocialkowski@bootlin.com>

On Mon, May 07, 2018 at 02:44:57PM +0200, Paul Kocialkowski wrote:
> +#define SYSCON_SRAM_CTRL_REG0	0x0
> +#define SYSCON_SRAM_C1_MAP_VE	0x7fffffff

This isn't needed anymore

> +	dev->ahb_clk = devm_clk_get(dev->dev, "ahb");
> +	if (IS_ERR(dev->ahb_clk)) {
> +		dev_err(dev->dev, "failed to get ahb clock\n");
> +		return PTR_ERR(dev->ahb_clk);
> +	}
> +	dev->mod_clk = devm_clk_get(dev->dev, "mod");
> +	if (IS_ERR(dev->mod_clk)) {
> +		dev_err(dev->dev, "failed to get mod clock\n");
> +		return PTR_ERR(dev->mod_clk);
> +	}
> +	dev->ram_clk = devm_clk_get(dev->dev, "ram");
> +	if (IS_ERR(dev->ram_clk)) {
> +		dev_err(dev->dev, "failed to get ram clock\n");
> +		return PTR_ERR(dev->ram_clk);
> +	}

Please add some blank lines between those blocks

> +	dev->rstc = devm_reset_control_get(dev->dev, NULL);

You're not checking the error code here

> +	dev->syscon = syscon_regmap_lookup_by_phandle(dev->dev->of_node,
> +						      "syscon");
> +	if (IS_ERR(dev->syscon)) {
> +		dev->syscon = NULL;
> +	} else {
> +		regmap_write_bits(dev->syscon, SYSCON_SRAM_CTRL_REG0,
> +				  SYSCON_SRAM_C1_MAP_VE,
> +				  SYSCON_SRAM_C1_MAP_VE);
> +	}

You don't need the syscon part anymore either

> +	ret = clk_prepare_enable(dev->ahb_clk);
> +	if (ret) {
> +		dev_err(dev->dev, "could not enable ahb clock\n");
> +		return -EFAULT;
> +	}
> +	ret = clk_prepare_enable(dev->mod_clk);
> +	if (ret) {
> +		clk_disable_unprepare(dev->ahb_clk);
> +		dev_err(dev->dev, "could not enable mod clock\n");
> +		return -EFAULT;
> +	}
> +	ret = clk_prepare_enable(dev->ram_clk);
> +	if (ret) {
> +		clk_disable_unprepare(dev->mod_clk);
> +		clk_disable_unprepare(dev->ahb_clk);
> +		dev_err(dev->dev, "could not enable ram clock\n");
> +		return -EFAULT;
> +	}
> +
> +	ret = reset_control_reset(dev->rstc);
> +	if (ret) {
> +		clk_disable_unprepare(dev->ram_clk);
> +		clk_disable_unprepare(dev->mod_clk);
> +		clk_disable_unprepare(dev->ahb_clk);
> +		dev_err(dev->dev, "could not reset device\n");
> +		return -EFAULT;

labels would simplify this greatly, and you should also release the
sram and the memory region here.

Maxime

-- 
Maxime Ripard, Bootlin (formerly Free Electrons)
Embedded Linux and Kernel engineering
https://bootlin.com

WARNING: multiple messages have this Message-ID (diff)
From: Maxime Ripard <maxime.ripard@bootlin.com>
To: Paul Kocialkowski <paul.kocialkowski@bootlin.com>
Cc: linux-media@vger.kernel.org, devicetree@vger.kernel.org,
	linux-arm-kernel@lists.infradead.org,
	linux-kernel@vger.kernel.org,
	Mauro Carvalho Chehab <mchehab@kernel.org>,
	Rob Herring <robh+dt@kernel.org>,
	Mark Rutland <mark.rutland@arm.com>, Chen-Yu Tsai <wens@csie.org>,
	Greg Kroah-Hartman <gregkh@linuxfoundation.org>,
	"David S . Miller" <davem@davemloft.net>,
	Andrew Morton <akpm@linux-foundation.org>,
	Linus Walleij <linus.walleij@linaro.org>,
	Randy Dunlap <rdunlap@infradead.org>,
	Hans Verkuil <hans.verkuil@cisco.com>,
	Arnd Bergmann <arnd@arndb.de>,
	Stanimir Varbanov <stanimir.varbanov@linaro.org>,
	Sakari Ailus <sakari.ailus@linux.intel.com>,
	Philipp Zabel <p.zabel@pengutronix.de>,
	Ramesh Shanmugasundaram <ramesh.shanmugasundaram@bp.renesas.com>,
	Yanni
Subject: Re: [PATCH v3 11/14] media: platform: Add Sunxi-Cedrus VPU decoder driver
Date: Mon, 7 May 2018 17:42:01 +0200	[thread overview]
Message-ID: <20180507154201.4vz3y6j7u7kzfud6@flea> (raw)
In-Reply-To: <20180507124500.20434-12-paul.kocialkowski@bootlin.com>

On Mon, May 07, 2018 at 02:44:57PM +0200, Paul Kocialkowski wrote:
> +#define SYSCON_SRAM_CTRL_REG0	0x0
> +#define SYSCON_SRAM_C1_MAP_VE	0x7fffffff

This isn't needed anymore

> +	dev->ahb_clk = devm_clk_get(dev->dev, "ahb");
> +	if (IS_ERR(dev->ahb_clk)) {
> +		dev_err(dev->dev, "failed to get ahb clock\n");
> +		return PTR_ERR(dev->ahb_clk);
> +	}
> +	dev->mod_clk = devm_clk_get(dev->dev, "mod");
> +	if (IS_ERR(dev->mod_clk)) {
> +		dev_err(dev->dev, "failed to get mod clock\n");
> +		return PTR_ERR(dev->mod_clk);
> +	}
> +	dev->ram_clk = devm_clk_get(dev->dev, "ram");
> +	if (IS_ERR(dev->ram_clk)) {
> +		dev_err(dev->dev, "failed to get ram clock\n");
> +		return PTR_ERR(dev->ram_clk);
> +	}

Please add some blank lines between those blocks

> +	dev->rstc = devm_reset_control_get(dev->dev, NULL);

You're not checking the error code here

> +	dev->syscon = syscon_regmap_lookup_by_phandle(dev->dev->of_node,
> +						      "syscon");
> +	if (IS_ERR(dev->syscon)) {
> +		dev->syscon = NULL;
> +	} else {
> +		regmap_write_bits(dev->syscon, SYSCON_SRAM_CTRL_REG0,
> +				  SYSCON_SRAM_C1_MAP_VE,
> +				  SYSCON_SRAM_C1_MAP_VE);
> +	}

You don't need the syscon part anymore either

> +	ret = clk_prepare_enable(dev->ahb_clk);
> +	if (ret) {
> +		dev_err(dev->dev, "could not enable ahb clock\n");
> +		return -EFAULT;
> +	}
> +	ret = clk_prepare_enable(dev->mod_clk);
> +	if (ret) {
> +		clk_disable_unprepare(dev->ahb_clk);
> +		dev_err(dev->dev, "could not enable mod clock\n");
> +		return -EFAULT;
> +	}
> +	ret = clk_prepare_enable(dev->ram_clk);
> +	if (ret) {
> +		clk_disable_unprepare(dev->mod_clk);
> +		clk_disable_unprepare(dev->ahb_clk);
> +		dev_err(dev->dev, "could not enable ram clock\n");
> +		return -EFAULT;
> +	}
> +
> +	ret = reset_control_reset(dev->rstc);
> +	if (ret) {
> +		clk_disable_unprepare(dev->ram_clk);
> +		clk_disable_unprepare(dev->mod_clk);
> +		clk_disable_unprepare(dev->ahb_clk);
> +		dev_err(dev->dev, "could not reset device\n");
> +		return -EFAULT;

labels would simplify this greatly, and you should also release the
sram and the memory region here.

Maxime

-- 
Maxime Ripard, Bootlin (formerly Free Electrons)
Embedded Linux and Kernel engineering
https://bootlin.com

WARNING: multiple messages have this Message-ID (diff)
From: maxime.ripard@bootlin.com (Maxime Ripard)
To: linux-arm-kernel@lists.infradead.org
Subject: [PATCH v3 11/14] media: platform: Add Sunxi-Cedrus VPU decoder driver
Date: Mon, 7 May 2018 17:42:01 +0200	[thread overview]
Message-ID: <20180507154201.4vz3y6j7u7kzfud6@flea> (raw)
In-Reply-To: <20180507124500.20434-12-paul.kocialkowski@bootlin.com>

On Mon, May 07, 2018 at 02:44:57PM +0200, Paul Kocialkowski wrote:
> +#define SYSCON_SRAM_CTRL_REG0	0x0
> +#define SYSCON_SRAM_C1_MAP_VE	0x7fffffff

This isn't needed anymore

> +	dev->ahb_clk = devm_clk_get(dev->dev, "ahb");
> +	if (IS_ERR(dev->ahb_clk)) {
> +		dev_err(dev->dev, "failed to get ahb clock\n");
> +		return PTR_ERR(dev->ahb_clk);
> +	}
> +	dev->mod_clk = devm_clk_get(dev->dev, "mod");
> +	if (IS_ERR(dev->mod_clk)) {
> +		dev_err(dev->dev, "failed to get mod clock\n");
> +		return PTR_ERR(dev->mod_clk);
> +	}
> +	dev->ram_clk = devm_clk_get(dev->dev, "ram");
> +	if (IS_ERR(dev->ram_clk)) {
> +		dev_err(dev->dev, "failed to get ram clock\n");
> +		return PTR_ERR(dev->ram_clk);
> +	}

Please add some blank lines between those blocks

> +	dev->rstc = devm_reset_control_get(dev->dev, NULL);

You're not checking the error code here

> +	dev->syscon = syscon_regmap_lookup_by_phandle(dev->dev->of_node,
> +						      "syscon");
> +	if (IS_ERR(dev->syscon)) {
> +		dev->syscon = NULL;
> +	} else {
> +		regmap_write_bits(dev->syscon, SYSCON_SRAM_CTRL_REG0,
> +				  SYSCON_SRAM_C1_MAP_VE,
> +				  SYSCON_SRAM_C1_MAP_VE);
> +	}

You don't need the syscon part anymore either

> +	ret = clk_prepare_enable(dev->ahb_clk);
> +	if (ret) {
> +		dev_err(dev->dev, "could not enable ahb clock\n");
> +		return -EFAULT;
> +	}
> +	ret = clk_prepare_enable(dev->mod_clk);
> +	if (ret) {
> +		clk_disable_unprepare(dev->ahb_clk);
> +		dev_err(dev->dev, "could not enable mod clock\n");
> +		return -EFAULT;
> +	}
> +	ret = clk_prepare_enable(dev->ram_clk);
> +	if (ret) {
> +		clk_disable_unprepare(dev->mod_clk);
> +		clk_disable_unprepare(dev->ahb_clk);
> +		dev_err(dev->dev, "could not enable ram clock\n");
> +		return -EFAULT;
> +	}
> +
> +	ret = reset_control_reset(dev->rstc);
> +	if (ret) {
> +		clk_disable_unprepare(dev->ram_clk);
> +		clk_disable_unprepare(dev->mod_clk);
> +		clk_disable_unprepare(dev->ahb_clk);
> +		dev_err(dev->dev, "could not reset device\n");
> +		return -EFAULT;

labels would simplify this greatly, and you should also release the
sram and the memory region here.

Maxime

-- 
Maxime Ripard, Bootlin (formerly Free Electrons)
Embedded Linux and Kernel engineering
https://bootlin.com

  parent reply	other threads:[~2018-05-07 15:42 UTC|newest]

Thread overview: 89+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2018-05-07 12:44 [PATCH v3 00/14] Sunxi-Cedrus driver for the Allwinner Video Engine, using media requests Paul Kocialkowski
2018-05-07 12:44 ` Paul Kocialkowski
2018-05-07 12:44 ` Paul Kocialkowski
2018-05-07 12:44 ` [PATCH v3 01/14] drivers: soc: sunxi: Add support for the C1 SRAM region Paul Kocialkowski
2018-05-07 12:44   ` Paul Kocialkowski
2018-05-07 12:44   ` Paul Kocialkowski
2018-05-07 12:44 ` [PATCH v3 02/14] drivers: soc: sunxi: Add dedicated compatibles for the A13, A20 and A33 Paul Kocialkowski
2018-05-07 12:44   ` Paul Kocialkowski
2018-05-07 12:44   ` Paul Kocialkowski
2018-05-11  5:05   ` Chen-Yu Tsai
2018-05-11  5:05     ` Chen-Yu Tsai
2018-05-11  5:05     ` Chen-Yu Tsai
2018-05-11 10:20     ` Maxime Ripard
2018-05-11 10:20       ` Maxime Ripard
2018-05-11 10:20       ` Maxime Ripard
2018-06-14 13:02       ` Paul Kocialkowski
2018-06-14 13:02         ` Paul Kocialkowski
2018-06-14 13:02         ` Paul Kocialkowski
2018-05-07 12:44 ` [PATCH v3 03/14] ARM: dts: sun5i: Use dedicated SRAM controller compatible Paul Kocialkowski
2018-05-07 12:44   ` Paul Kocialkowski
2018-05-07 12:44   ` Paul Kocialkowski
2018-05-07 12:44 ` [PATCH v3 04/14] ARM: dts: sun7i-a20: " Paul Kocialkowski
2018-05-07 12:44   ` Paul Kocialkowski
2018-05-07 12:44   ` Paul Kocialkowski
2018-05-07 12:44 ` [PATCH v3 05/14] ARM: sun5i: Add support for the C1 SRAM region with the SRAM controller Paul Kocialkowski
2018-05-07 12:44   ` Paul Kocialkowski
2018-05-07 12:44   ` Paul Kocialkowski
2018-05-07 12:44 ` [PATCH v3 06/14] ARM: sun7i-a20: " Paul Kocialkowski
2018-05-07 12:44   ` Paul Kocialkowski
2018-05-07 12:44   ` Paul Kocialkowski
2018-05-07 12:44 ` [PATCH v3 07/14] ARM: sun8i-a33: Add SRAM controller node and C1 SRAM region Paul Kocialkowski
2018-05-07 12:44   ` Paul Kocialkowski
2018-05-07 12:44   ` Paul Kocialkowski
2018-05-07 12:44 ` [PATCH v3 08/14] media: v4l: Add definitions for MPEG2 frame format and header metadata Paul Kocialkowski
2018-05-07 12:44   ` Paul Kocialkowski
2018-05-07 12:44   ` Paul Kocialkowski
2018-05-07 13:49   ` Hans Verkuil
2018-05-07 13:49     ` Hans Verkuil
2018-05-07 13:49     ` Hans Verkuil
2018-05-07 13:52     ` Paul Kocialkowski
2018-05-07 13:52       ` Paul Kocialkowski
2018-05-07 13:52       ` Paul Kocialkowski
2018-05-07 13:52       ` Paul Kocialkowski
2018-05-17  4:00   ` kbuild test robot
2018-05-17  4:00     ` kbuild test robot
2018-05-17  4:00     ` kbuild test robot
2018-05-07 12:44 ` [PATCH v3 09/14] media: v4l: Add definition for Allwinner's MB32-tiled NV12 format Paul Kocialkowski
2018-05-07 12:44   ` Paul Kocialkowski
2018-05-07 12:44   ` Paul Kocialkowski
2018-05-07 13:50   ` Hans Verkuil
2018-05-07 13:50     ` Hans Verkuil
2018-05-07 13:50     ` Hans Verkuil
2018-05-07 12:44 ` [PATCH v3 10/14] dt-bindings: media: Document bindings for the Sunxi-Cedrus VPU driver Paul Kocialkowski
2018-05-07 12:44   ` Paul Kocialkowski
2018-05-07 12:44   ` Paul Kocialkowski
2018-05-07 14:18   ` Rob Herring
2018-05-07 14:18     ` Rob Herring
2018-05-07 14:18     ` Rob Herring
2018-05-07 12:44 ` [PATCH v3 11/14] media: platform: Add Sunxi-Cedrus VPU decoder driver Paul Kocialkowski
2018-05-07 12:44   ` Paul Kocialkowski
2018-05-07 12:44   ` Paul Kocialkowski
2018-05-07 14:02   ` Hans Verkuil
2018-05-07 14:02     ` Hans Verkuil
2018-05-07 14:02     ` Hans Verkuil
2018-06-14 15:47     ` Paul Kocialkowski
2018-06-14 15:47       ` Paul Kocialkowski
2018-06-14 15:47       ` Paul Kocialkowski
2018-05-07 15:42   ` Maxime Ripard [this message]
2018-05-07 15:42     ` Maxime Ripard
2018-05-07 15:42     ` Maxime Ripard
2018-06-14 15:39     ` Paul Kocialkowski
2018-06-14 15:39       ` Paul Kocialkowski
2018-06-14 15:39       ` Paul Kocialkowski
2018-05-07 18:03   ` kbuild test robot
2018-05-07 18:03     ` kbuild test robot
2018-05-07 18:03     ` kbuild test robot
2018-05-07 12:44 ` [PATCH v3 12/14] ARM: dts: sun5i: Add Video Engine and reserved memory nodes Paul Kocialkowski
2018-05-07 12:44   ` Paul Kocialkowski
2018-05-07 12:44   ` Paul Kocialkowski
2018-05-07 12:44 ` [PATCH v3 13/14] ARM: dts: sun7i-a20: " Paul Kocialkowski
2018-05-07 12:44   ` Paul Kocialkowski
2018-05-07 12:44   ` Paul Kocialkowski
2018-05-07 12:45 ` [PATCH v3 14/14] ARM: dts: sun8i-a33: " Paul Kocialkowski
2018-05-07 12:45   ` Paul Kocialkowski
2018-05-07 12:45   ` Paul Kocialkowski
2018-05-07 14:50 ` [PATCH v3 00/14] Sunxi-Cedrus driver for the Allwinner Video Engine, using media requests Paul Kocialkowski
2018-05-07 14:50   ` Paul Kocialkowski
2018-05-07 14:50   ` Paul Kocialkowski
2018-05-07 14:50   ` Paul Kocialkowski

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=20180507154201.4vz3y6j7u7kzfud6@flea \
    --to=maxime.ripard@bootlin.com \
    --cc=akpm@linux-foundation.org \
    --cc=andriy.shevchenko@linux.intel.com \
    --cc=arnd@arndb.de \
    --cc=ayaka@soulik.info \
    --cc=davem@davemloft.net \
    --cc=devicetree@vger.kernel.org \
    --cc=florent.revest@free-electrons.com \
    --cc=gnurou@gmail.com \
    --cc=gregkh@linuxfoundation.org \
    --cc=hans.verkuil@cisco.com \
    --cc=hugues.fruchet@st.com \
    --cc=linus.walleij@linaro.org \
    --cc=linux-arm-kernel@lists.infradead.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=linux-media@vger.kernel.org \
    --cc=mark.rutland@arm.com \
    --cc=mchehab@kernel.org \
    --cc=p.zabel@pengutronix.de \
    --cc=paul.kocialkowski@bootlin.com \
    --cc=ramesh.shanmugasundaram@bp.renesas.com \
    --cc=rdunlap@infradead.org \
    --cc=ricardo.ribalda@gmail.com \
    --cc=robh+dt@kernel.org \
    --cc=s.nawrocki@samsung.com \
    --cc=sakari.ailus@linux.intel.com \
    --cc=smitha.t@samsung.com \
    --cc=stanimir.varbanov@linaro.org \
    --cc=tfiga@chromium.org \
    --cc=tglx@linutronix.de \
    --cc=wens@csie.org \
    --cc=yannick.fertre@st.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: 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.