All of lore.kernel.org
 help / color / mirror / Atom feed
From: laurent.pinchart@ideasonboard.com (Laurent Pinchart)
To: linux-arm-kernel@lists.infradead.org
Subject: [PATCH v5 02/12] drm/panel: lvds: Add support for the power-supply property
Date: Fri, 22 Dec 2017 14:09:32 +0200	[thread overview]
Message-ID: <2325464.U6vNVgOjSP@avalon> (raw)
In-Reply-To: <0c0819bdf88fa948188df95e57a10820a8a4548d.1513854122.git-series.maxime.ripard@free-electrons.com>

Hi Maxime,

Thank you for the patch.

On Thursday, 21 December 2017 13:02:28 EET Maxime Ripard wrote:
> A significant number of panels need to power up a regulator in order to
> operate properly. Add support for the power-supply property to enable and
> disable such a regulator whenever needed.
> 
> Reviewed-by: Chen-Yu Tsai <wens@csie.org>
> Signed-off-by: Maxime Ripard <maxime.ripard@free-electrons.com>

Reviewed-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com>

> ---
>  drivers/gpu/drm/panel/panel-lvds.c | 23 +++++++++++++++++++++++
>  1 file changed, 23 insertions(+)
> 
> diff --git a/drivers/gpu/drm/panel/panel-lvds.c
> b/drivers/gpu/drm/panel/panel-lvds.c index e2d57c01200b..57e38a9e7ab4
> 100644
> --- a/drivers/gpu/drm/panel/panel-lvds.c
> +++ b/drivers/gpu/drm/panel/panel-lvds.c
> @@ -17,6 +17,7 @@
>  #include <linux/module.h>
>  #include <linux/of_platform.h>
>  #include <linux/platform_device.h>
> +#include <linux/regulator/consumer.h>
>  #include <linux/slab.h>
> 
>  #include <drm/drmP.h>
> @@ -39,6 +40,7 @@ struct panel_lvds {
>  	bool data_mirror;
> 
>  	struct backlight_device *backlight;
> +	struct regulator *supply;
> 
>  	struct gpio_desc *enable_gpio;
>  	struct gpio_desc *reset_gpio;
> @@ -69,6 +71,9 @@ static int panel_lvds_unprepare(struct drm_panel *panel)
>  	if (lvds->enable_gpio)
>  		gpiod_set_value_cansleep(lvds->enable_gpio, 0);
> 
> +	if (lvds->supply)
> +		regulator_disable(lvds->supply);
> +
>  	return 0;
>  }
> 
> @@ -76,6 +81,17 @@ static int panel_lvds_prepare(struct drm_panel *panel)
>  {
>  	struct panel_lvds *lvds = to_panel_lvds(panel);
> 
> +	if (lvds->supply) {
> +		int err;
> +
> +		err = regulator_enable(lvds->supply);
> +		if (err < 0) {
> +			dev_err(lvds->dev, "failed to enable supply: %d\n",
> +				err);
> +			return err;
> +		}
> +	}
> +
>  	if (lvds->enable_gpio)
>  		gpiod_set_value_cansleep(lvds->enable_gpio, 1);
> 
> @@ -196,6 +212,13 @@ static int panel_lvds_probe(struct platform_device
> *pdev) if (ret < 0)
>  		return ret;
> 
> +	lvds->supply = devm_regulator_get_optional(lvds->dev, "power");
> +	if (IS_ERR(lvds->supply)) {
> +		ret = PTR_ERR(lvds->supply);
> +		dev_err(lvds->dev, "failed to request regulator: %d\n", ret);
> +		return ret;
> +	}
> +
>  	/* Get GPIOs and backlight controller. */
>  	lvds->enable_gpio = devm_gpiod_get_optional(lvds->dev, "enable",
>  						     GPIOD_OUT_LOW);


-- 
Regards,

Laurent Pinchart

WARNING: multiple messages have this Message-ID (diff)
From: Laurent Pinchart <laurent.pinchart@ideasonboard.com>
To: Maxime Ripard <maxime.ripard@free-electrons.com>
Cc: Daniel Vetter <daniel.vetter@intel.com>,
	David Airlie <airlied@linux.ie>, Chen-Yu Tsai <wens@csie.org>,
	dri-devel@lists.freedesktop.org, linux-kernel@vger.kernel.org,
	Mark Rutland <mark.rutland@arm.com>,
	Rob Herring <robh+dt@kernel.org>,
	linux-arm-kernel@lists.infradead.org, plaes@plaes.org,
	icenowy@aosc.io,
	Thomas Petazzoni <thomas.petazzoni@free-electrons.com>,
	jernej.skrabec@siol.net, devicetree@vger.kernel.org,
	thierry.reding@gmail.com
Subject: Re: [PATCH v5 02/12] drm/panel: lvds: Add support for the power-supply property
Date: Fri, 22 Dec 2017 14:09:32 +0200	[thread overview]
Message-ID: <2325464.U6vNVgOjSP@avalon> (raw)
In-Reply-To: <0c0819bdf88fa948188df95e57a10820a8a4548d.1513854122.git-series.maxime.ripard@free-electrons.com>

Hi Maxime,

Thank you for the patch.

On Thursday, 21 December 2017 13:02:28 EET Maxime Ripard wrote:
> A significant number of panels need to power up a regulator in order to
> operate properly. Add support for the power-supply property to enable and
> disable such a regulator whenever needed.
> 
> Reviewed-by: Chen-Yu Tsai <wens@csie.org>
> Signed-off-by: Maxime Ripard <maxime.ripard@free-electrons.com>

Reviewed-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com>

> ---
>  drivers/gpu/drm/panel/panel-lvds.c | 23 +++++++++++++++++++++++
>  1 file changed, 23 insertions(+)
> 
> diff --git a/drivers/gpu/drm/panel/panel-lvds.c
> b/drivers/gpu/drm/panel/panel-lvds.c index e2d57c01200b..57e38a9e7ab4
> 100644
> --- a/drivers/gpu/drm/panel/panel-lvds.c
> +++ b/drivers/gpu/drm/panel/panel-lvds.c
> @@ -17,6 +17,7 @@
>  #include <linux/module.h>
>  #include <linux/of_platform.h>
>  #include <linux/platform_device.h>
> +#include <linux/regulator/consumer.h>
>  #include <linux/slab.h>
> 
>  #include <drm/drmP.h>
> @@ -39,6 +40,7 @@ struct panel_lvds {
>  	bool data_mirror;
> 
>  	struct backlight_device *backlight;
> +	struct regulator *supply;
> 
>  	struct gpio_desc *enable_gpio;
>  	struct gpio_desc *reset_gpio;
> @@ -69,6 +71,9 @@ static int panel_lvds_unprepare(struct drm_panel *panel)
>  	if (lvds->enable_gpio)
>  		gpiod_set_value_cansleep(lvds->enable_gpio, 0);
> 
> +	if (lvds->supply)
> +		regulator_disable(lvds->supply);
> +
>  	return 0;
>  }
> 
> @@ -76,6 +81,17 @@ static int panel_lvds_prepare(struct drm_panel *panel)
>  {
>  	struct panel_lvds *lvds = to_panel_lvds(panel);
> 
> +	if (lvds->supply) {
> +		int err;
> +
> +		err = regulator_enable(lvds->supply);
> +		if (err < 0) {
> +			dev_err(lvds->dev, "failed to enable supply: %d\n",
> +				err);
> +			return err;
> +		}
> +	}
> +
>  	if (lvds->enable_gpio)
>  		gpiod_set_value_cansleep(lvds->enable_gpio, 1);
> 
> @@ -196,6 +212,13 @@ static int panel_lvds_probe(struct platform_device
> *pdev) if (ret < 0)
>  		return ret;
> 
> +	lvds->supply = devm_regulator_get_optional(lvds->dev, "power");
> +	if (IS_ERR(lvds->supply)) {
> +		ret = PTR_ERR(lvds->supply);
> +		dev_err(lvds->dev, "failed to request regulator: %d\n", ret);
> +		return ret;
> +	}
> +
>  	/* Get GPIOs and backlight controller. */
>  	lvds->enable_gpio = devm_gpiod_get_optional(lvds->dev, "enable",
>  						     GPIOD_OUT_LOW);


-- 
Regards,

Laurent Pinchart

  reply	other threads:[~2017-12-22 12:09 UTC|newest]

Thread overview: 57+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2017-12-21 11:02 [PATCH v5 00/12] drm/sun4i: Add A83t LVDS support Maxime Ripard
2017-12-21 11:02 ` Maxime Ripard
2017-12-21 11:02 ` Maxime Ripard
2017-12-21 11:02 ` [PATCH v5 01/12] dt-bindings: panel: lvds: Document power-supply property Maxime Ripard
2017-12-21 11:02   ` Maxime Ripard
2017-12-21 11:02   ` Maxime Ripard
2017-12-22 12:08   ` Laurent Pinchart
2017-12-22 12:08     ` Laurent Pinchart
2017-12-22 12:08     ` Laurent Pinchart
2018-01-04 19:44     ` Maxime Ripard
2018-01-04 19:44       ` Maxime Ripard
2018-01-04 20:05       ` Laurent Pinchart
2018-01-04 20:05         ` Laurent Pinchart
2018-01-04 20:05         ` Laurent Pinchart
2017-12-21 11:02 ` [PATCH v5 02/12] drm/panel: lvds: Add support for the " Maxime Ripard
2017-12-21 11:02   ` Maxime Ripard
2017-12-21 11:02   ` Maxime Ripard
2017-12-22 12:09   ` Laurent Pinchart [this message]
2017-12-22 12:09     ` Laurent Pinchart
2017-12-21 11:02 ` [PATCH v5 03/12] dt-bindings: display: sun4i-drm: Add LVDS properties Maxime Ripard
2017-12-21 11:02   ` Maxime Ripard
2017-12-21 11:02   ` Maxime Ripard
2017-12-30 11:45   ` Jernej Škrabec
2017-12-30 11:45     ` Jernej Škrabec
2017-12-30 11:45     ` Jernej Škrabec
2018-01-04 19:03     ` Maxime Ripard
2018-01-04 19:03       ` Maxime Ripard
2018-01-04 19:03       ` Maxime Ripard
2017-12-21 11:02 ` [PATCH v5 04/12] dt-bindings: display: sun4i-drm: Add A83T pipeline Maxime Ripard
2017-12-21 11:02   ` Maxime Ripard
2017-12-21 11:02   ` Maxime Ripard
2017-12-21 11:02 ` [PATCH v5 05/12] drm/sun4i: Force the mixer rate at 150MHz Maxime Ripard
2017-12-21 11:02   ` Maxime Ripard
2017-12-21 11:02   ` Maxime Ripard
2017-12-21 11:02 ` [PATCH v5 06/12] drm/sun4i: Create minimal multipliers and dividers Maxime Ripard
2017-12-21 11:02   ` Maxime Ripard
2017-12-21 11:02   ` Maxime Ripard
2017-12-21 11:02 ` [PATCH v5 07/12] drm/sun4i: Add LVDS support Maxime Ripard
2017-12-21 11:02   ` Maxime Ripard
2017-12-21 11:02   ` Maxime Ripard
2017-12-21 11:02 ` [PATCH v5 08/12] drm/sun4i: Add A83T support Maxime Ripard
2017-12-21 11:02   ` Maxime Ripard
2017-12-21 11:02 ` [PATCH v5 09/12] ARM: dts: sun8i: a83t: Add display pipeline Maxime Ripard
2017-12-21 11:02   ` Maxime Ripard
2017-12-21 11:02   ` Maxime Ripard
2017-12-21 11:02 ` [PATCH v5 10/12] ARM: dts: sun8i: a83t: Enable the PWM Maxime Ripard
2017-12-21 11:02   ` Maxime Ripard
2017-12-21 11:02   ` Maxime Ripard
2017-12-21 11:02 ` [PATCH v5 11/12] ARM: dts: sun8i: a83t: Add LVDS pins group Maxime Ripard
2017-12-21 11:02   ` Maxime Ripard
2017-12-21 11:02   ` Maxime Ripard
2017-12-21 11:02 ` [PATCH v5 12/12] ARM: dts: sun8i: a711: Enable the LCD Maxime Ripard
2017-12-21 11:02   ` Maxime Ripard
2017-12-21 11:02   ` Maxime Ripard
2018-01-05  9:39 ` [PATCH v5 00/12] drm/sun4i: Add A83t LVDS support Maxime Ripard
2018-01-05  9:39   ` Maxime Ripard
2018-01-05  9:39   ` Maxime Ripard

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=2325464.U6vNVgOjSP@avalon \
    --to=laurent.pinchart@ideasonboard.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.