From: Thierry Reding <thierry.reding@gmail.com>
To: Stephen Warren <swarren@wwwdotorg.org>
Cc: Rob Herring <rob.herring@calxeda.com>,
Pawel Moll <pawel.moll@arm.com>,
Mark Rutland <mark.rutland@arm.com>,
Ian Campbell <ijc+devicetree@hellion.org.uk>,
Tony Lindgren <tony@atomide.com>,
Eric Miao <eric.y.miao@gmail.com>,
Haojian Zhuang <haojian.zhuang@gmail.com>,
Ben Dooks <ben-linux@fluff.org>,
Kukjin Kim <kgene.kim@samsung.com>,
Simon Horman <horms@verge.net.au>,
Magnus Damm <magnus.damm@gmail.com>,
Guan Xuetao <gxt@mprc.pku.edu.cn>,
devicetree@vger.kernel.org, linux-arm-kernel@lists.infradead.org,
linux-omap@vger.kernel.org, openezx-devel@lists.openezx.org,
linux-samsung-soc@vger.kernel.org, linux-sh@vger.kernel.org,
linux-pwm@vger.kernel.org, linux-kernel@vger.kernel.org,
Mark Brown <broonie@kernel.org>
Subject: Re: [PATCH 09/10] pwm-backlight: Use an optional power supply
Date: Tue, 1 Oct 2013 23:31:27 +0200 [thread overview]
Message-ID: <20131001213120.GG9201@ulmo.nvidia.com> (raw)
In-Reply-To: <524B37BF.2090300@wwwdotorg.org>
[-- Attachment #1: Type: text/plain, Size: 2751 bytes --]
On Tue, Oct 01, 2013 at 02:59:43PM -0600, Stephen Warren wrote:
> On 10/01/2013 02:53 PM, Thierry Reding wrote:
> > On Tue, Oct 01, 2013 at 12:43:57PM -0600, Stephen Warren wrote:
> >> On 09/23/2013 03:41 PM, Thierry Reding wrote:
> >>> Many backlights require a power supply to work properly. This
> >>> commit uses a power-supply regulator, if available, to power up
> >>> and power down the panel.
> >>
> >> I think that all backlights require a power supply, albeit the
> >> supply may not be SW-controllable. Hence, shouldn't the regulator
> >> be mandatory in the binding, yet the driver be defensively coded
> >> such that if one isn't specified, the driver continues to work?
> >
> > That has already changed in my local version of this patch.
> >
> >>> diff --git a/drivers/video/backlight/pwm_bl.c
> >>> b/drivers/video/backlight/pwm_bl.c
> >>
> >>> @@ -253,6 +264,16 @@ static int pwm_backlight_probe(struct
> >>> platform_device *pdev) } }
> >>>
> >>> + pb->power_supply = devm_regulator_get_optional(&pdev->dev,
> >>> "power");
> >>
> >> ... so I think that should be devm_regulator_get(), since the
> >> regulator isn't really optional.
> >>
> >>> + if (IS_ERR(pb->power_supply)) { + if
> >>> (PTR_ERR(pb->power_supply) != -ENODEV) { + ret =
> >>> PTR_ERR(pb->power_supply); + goto err_gpio; + } + +
> >>> pb->power_supply = NULL;
> >>
> >> If devm_regulator_get_optional() returns an error value or a
> >> valid value, then I don't think that this driver should transmute
> >> error values into NULL; NULL might be a perfectly valid regulator
> >> value. Related, I think the if (pb->power_supply) tests should be
> >> replaced with if (!IS_ERR(pb->power_supply)) instead.
> >
> > All of that is already done in my local tree. This actually turns
> > out to work rather smoothly with the new support for optional
> > regulators. The regulator core will give you a dummy regulator
> > (assuming it's there physically but hasn't been wired up in
> > software) that's always on, so the driver doesn't even have to
> > special case it anymore.
>
> OK, hopefully it (the regulator core) complains about the missing DT
> property though; I assume you're using regulator_get() not
> regulator_get_optional(), since the supply really is not optional.
It doesn't always. There's a pr_warn() in _regulator_get(), but that's
only for non-DT (since for DT, has_full_constraints is set to true in
regulator_init_complete()). Actually that would mean that the regulator
core will complain as long as init isn't complete. But since, like many
other drivers, pwm-backlight could use deferred probing it's likely to
end up being probed after init.
Cc'ing Mark Brown.
Thierry
[-- Attachment #2: Type: application/pgp-signature, Size: 836 bytes --]
WARNING: multiple messages have this Message-ID (diff)
From: Thierry Reding <thierry.reding@gmail.com>
To: linux-arm-kernel@lists.infradead.org
Subject: Re: [PATCH 09/10] pwm-backlight: Use an optional power supply
Date: Tue, 01 Oct 2013 21:31:27 +0000 [thread overview]
Message-ID: <20131001213120.GG9201@ulmo.nvidia.com> (raw)
In-Reply-To: <524B37BF.2090300@wwwdotorg.org>
[-- Attachment #1: Type: text/plain, Size: 2751 bytes --]
On Tue, Oct 01, 2013 at 02:59:43PM -0600, Stephen Warren wrote:
> On 10/01/2013 02:53 PM, Thierry Reding wrote:
> > On Tue, Oct 01, 2013 at 12:43:57PM -0600, Stephen Warren wrote:
> >> On 09/23/2013 03:41 PM, Thierry Reding wrote:
> >>> Many backlights require a power supply to work properly. This
> >>> commit uses a power-supply regulator, if available, to power up
> >>> and power down the panel.
> >>
> >> I think that all backlights require a power supply, albeit the
> >> supply may not be SW-controllable. Hence, shouldn't the regulator
> >> be mandatory in the binding, yet the driver be defensively coded
> >> such that if one isn't specified, the driver continues to work?
> >
> > That has already changed in my local version of this patch.
> >
> >>> diff --git a/drivers/video/backlight/pwm_bl.c
> >>> b/drivers/video/backlight/pwm_bl.c
> >>
> >>> @@ -253,6 +264,16 @@ static int pwm_backlight_probe(struct
> >>> platform_device *pdev) } }
> >>>
> >>> + pb->power_supply = devm_regulator_get_optional(&pdev->dev,
> >>> "power");
> >>
> >> ... so I think that should be devm_regulator_get(), since the
> >> regulator isn't really optional.
> >>
> >>> + if (IS_ERR(pb->power_supply)) { + if
> >>> (PTR_ERR(pb->power_supply) != -ENODEV) { + ret =
> >>> PTR_ERR(pb->power_supply); + goto err_gpio; + } + +
> >>> pb->power_supply = NULL;
> >>
> >> If devm_regulator_get_optional() returns an error value or a
> >> valid value, then I don't think that this driver should transmute
> >> error values into NULL; NULL might be a perfectly valid regulator
> >> value. Related, I think the if (pb->power_supply) tests should be
> >> replaced with if (!IS_ERR(pb->power_supply)) instead.
> >
> > All of that is already done in my local tree. This actually turns
> > out to work rather smoothly with the new support for optional
> > regulators. The regulator core will give you a dummy regulator
> > (assuming it's there physically but hasn't been wired up in
> > software) that's always on, so the driver doesn't even have to
> > special case it anymore.
>
> OK, hopefully it (the regulator core) complains about the missing DT
> property though; I assume you're using regulator_get() not
> regulator_get_optional(), since the supply really is not optional.
It doesn't always. There's a pr_warn() in _regulator_get(), but that's
only for non-DT (since for DT, has_full_constraints is set to true in
regulator_init_complete()). Actually that would mean that the regulator
core will complain as long as init isn't complete. But since, like many
other drivers, pwm-backlight could use deferred probing it's likely to
end up being probed after init.
Cc'ing Mark Brown.
Thierry
[-- Attachment #2: Type: application/pgp-signature, Size: 836 bytes --]
WARNING: multiple messages have this Message-ID (diff)
From: thierry.reding@gmail.com (Thierry Reding)
To: linux-arm-kernel@lists.infradead.org
Subject: [PATCH 09/10] pwm-backlight: Use an optional power supply
Date: Tue, 1 Oct 2013 23:31:27 +0200 [thread overview]
Message-ID: <20131001213120.GG9201@ulmo.nvidia.com> (raw)
In-Reply-To: <524B37BF.2090300@wwwdotorg.org>
On Tue, Oct 01, 2013 at 02:59:43PM -0600, Stephen Warren wrote:
> On 10/01/2013 02:53 PM, Thierry Reding wrote:
> > On Tue, Oct 01, 2013 at 12:43:57PM -0600, Stephen Warren wrote:
> >> On 09/23/2013 03:41 PM, Thierry Reding wrote:
> >>> Many backlights require a power supply to work properly. This
> >>> commit uses a power-supply regulator, if available, to power up
> >>> and power down the panel.
> >>
> >> I think that all backlights require a power supply, albeit the
> >> supply may not be SW-controllable. Hence, shouldn't the regulator
> >> be mandatory in the binding, yet the driver be defensively coded
> >> such that if one isn't specified, the driver continues to work?
> >
> > That has already changed in my local version of this patch.
> >
> >>> diff --git a/drivers/video/backlight/pwm_bl.c
> >>> b/drivers/video/backlight/pwm_bl.c
> >>
> >>> @@ -253,6 +264,16 @@ static int pwm_backlight_probe(struct
> >>> platform_device *pdev) } }
> >>>
> >>> + pb->power_supply = devm_regulator_get_optional(&pdev->dev,
> >>> "power");
> >>
> >> ... so I think that should be devm_regulator_get(), since the
> >> regulator isn't really optional.
> >>
> >>> + if (IS_ERR(pb->power_supply)) { + if
> >>> (PTR_ERR(pb->power_supply) != -ENODEV) { + ret =
> >>> PTR_ERR(pb->power_supply); + goto err_gpio; + } + +
> >>> pb->power_supply = NULL;
> >>
> >> If devm_regulator_get_optional() returns an error value or a
> >> valid value, then I don't think that this driver should transmute
> >> error values into NULL; NULL might be a perfectly valid regulator
> >> value. Related, I think the if (pb->power_supply) tests should be
> >> replaced with if (!IS_ERR(pb->power_supply)) instead.
> >
> > All of that is already done in my local tree. This actually turns
> > out to work rather smoothly with the new support for optional
> > regulators. The regulator core will give you a dummy regulator
> > (assuming it's there physically but hasn't been wired up in
> > software) that's always on, so the driver doesn't even have to
> > special case it anymore.
>
> OK, hopefully it (the regulator core) complains about the missing DT
> property though; I assume you're using regulator_get() not
> regulator_get_optional(), since the supply really is not optional.
It doesn't always. There's a pr_warn() in _regulator_get(), but that's
only for non-DT (since for DT, has_full_constraints is set to true in
regulator_init_complete()). Actually that would mean that the regulator
core will complain as long as init isn't complete. But since, like many
other drivers, pwm-backlight could use deferred probing it's likely to
end up being probed after init.
Cc'ing Mark Brown.
Thierry
-------------- next part --------------
A non-text attachment was scrubbed...
Name: not available
Type: application/pgp-signature
Size: 836 bytes
Desc: not available
URL: <http://lists.infradead.org/pipermail/linux-arm-kernel/attachments/20131001/103e6b89/attachment-0001.sig>
next prev parent reply other threads:[~2013-10-01 21:31 UTC|newest]
Thread overview: 102+ messages / expand[flat|nested] mbox.gz Atom feed top
2013-09-23 21:40 [PATCH 00/10] pwm-backlight: Add GPIO and power supply support Thierry Reding
2013-09-23 21:40 ` Thierry Reding
2013-09-23 21:40 ` Thierry Reding
2013-09-23 21:40 ` [PATCH 01/10] pwm-backlight: Refactor backlight power on/off Thierry Reding
2013-09-23 21:40 ` Thierry Reding
2013-09-23 21:40 ` Thierry Reding
2013-09-23 21:40 ` Thierry Reding
[not found] ` <1379972467-11243-2-git-send-email-treding-DDmLM1+adcrQT0dZR+AlfA@public.gmane.org>
2013-10-01 18:26 ` Stephen Warren
2013-10-01 18:26 ` Stephen Warren
2013-10-01 18:26 ` Stephen Warren
2013-10-01 18:26 ` Stephen Warren
2013-10-01 20:34 ` Thierry Reding
2013-10-01 20:34 ` Thierry Reding
2013-10-01 20:34 ` Thierry Reding
2013-09-23 21:40 ` [PATCH 02/10] pwm-backlight: Add optional enable GPIO Thierry Reding
2013-09-23 21:40 ` Thierry Reding
2013-09-23 21:40 ` Thierry Reding
2013-09-23 21:41 ` [PATCH 03/10] ARM: OMAP: Initialize PWM backlight enable_gpio field Thierry Reding
2013-09-23 21:41 ` Thierry Reding
2013-09-23 21:41 ` Thierry Reding
2013-09-23 21:41 ` Thierry Reding
2013-09-23 21:41 ` [PATCH 04/10] ARM: pxa: " Thierry Reding
2013-09-23 21:41 ` Thierry Reding
2013-09-23 21:41 ` Thierry Reding
2013-09-23 21:41 ` [PATCH 05/10] ARM: SAMSUNG: " Thierry Reding
2013-09-23 21:41 ` Thierry Reding
2013-09-23 21:41 ` Thierry Reding
2013-10-01 18:31 ` Stephen Warren
2013-10-01 18:31 ` Stephen Warren
2013-10-01 18:31 ` Stephen Warren
[not found] ` <524B14E8.5040302-3lzwWm7+Weoh9ZMKESR00Q@public.gmane.org>
2013-10-01 20:43 ` Thierry Reding
2013-10-01 20:43 ` Thierry Reding
2013-10-01 20:43 ` Thierry Reding
2013-10-01 20:43 ` Thierry Reding
[not found] ` <20131001204335.GB9201-AwZRO8vwLAwmlAP/+Wk3EA@public.gmane.org>
2013-10-01 20:58 ` Stephen Warren
2013-10-01 20:58 ` Stephen Warren
2013-10-01 20:58 ` Stephen Warren
2013-10-01 20:58 ` Stephen Warren
2013-10-01 21:23 ` Thierry Reding
2013-10-01 21:23 ` Thierry Reding
2013-10-01 21:23 ` Thierry Reding
2013-09-23 21:41 ` [PATCH 06/10] ARM: shmobile: " Thierry Reding
2013-09-23 21:41 ` Thierry Reding
2013-09-23 21:41 ` Thierry Reding
2013-09-25 5:40 ` Simon Horman
2013-09-25 5:40 ` Simon Horman
2013-09-25 5:40 ` Simon Horman
2013-09-23 21:41 ` [PATCH 07/10] unicore32: " Thierry Reding
2013-09-23 21:41 ` Thierry Reding
2013-09-23 21:41 ` Thierry Reding
[not found] ` <1379972467-11243-1-git-send-email-treding-DDmLM1+adcrQT0dZR+AlfA@public.gmane.org>
2013-09-23 21:41 ` [PATCH 08/10] pwm-backlight: Use new " Thierry Reding
2013-09-23 21:41 ` Thierry Reding
2013-09-23 21:41 ` Thierry Reding
2013-09-23 21:41 ` Thierry Reding
[not found] ` <1379972467-11243-9-git-send-email-treding-DDmLM1+adcrQT0dZR+AlfA@public.gmane.org>
2013-10-01 18:39 ` Stephen Warren
2013-10-01 18:39 ` Stephen Warren
2013-10-01 18:39 ` Stephen Warren
2013-10-01 18:39 ` Stephen Warren
2013-10-01 20:49 ` Thierry Reding
2013-10-01 20:49 ` Thierry Reding
2013-10-01 20:49 ` Thierry Reding
2013-09-23 21:41 ` [PATCH 09/10] pwm-backlight: Use an optional power supply Thierry Reding
2013-09-23 21:41 ` Thierry Reding
2013-09-23 21:41 ` Thierry Reding
2013-09-23 21:41 ` Thierry Reding
2013-10-01 18:43 ` Stephen Warren
2013-10-01 18:43 ` Stephen Warren
2013-10-01 18:43 ` Stephen Warren
2013-10-01 20:53 ` Thierry Reding
2013-10-01 20:53 ` Thierry Reding
2013-10-01 20:53 ` Thierry Reding
2013-10-01 20:59 ` Stephen Warren
2013-10-01 20:59 ` Stephen Warren
2013-10-01 20:59 ` Stephen Warren
2013-10-01 21:31 ` Thierry Reding [this message]
2013-10-01 21:31 ` Thierry Reding
2013-10-01 21:31 ` Thierry Reding
2013-10-02 10:35 ` Mark Brown
2013-10-02 10:35 ` Mark Brown
2013-10-02 10:35 ` Mark Brown
2013-09-23 21:41 ` [PATCH 10/10] pwm-backlight: Allow backlight to remain disabled on boot Thierry Reding
2013-09-23 21:41 ` Thierry Reding
2013-09-23 21:41 ` Thierry Reding
2013-10-01 18:50 ` Stephen Warren
2013-10-01 18:50 ` Stephen Warren
2013-10-01 18:50 ` Stephen Warren
2013-10-01 21:14 ` Thierry Reding
2013-10-01 21:14 ` Thierry Reding
2013-10-01 21:14 ` Thierry Reding
2013-10-02 17:45 ` Thierry Reding
2013-10-02 17:45 ` Thierry Reding
2013-10-02 17:45 ` Thierry Reding
2013-09-24 8:14 ` [PATCH 00/10] pwm-backlight: Add GPIO and power supply support Simon Horman
2013-09-24 8:14 ` Simon Horman
2013-09-24 8:14 ` Simon Horman
[not found] ` <20130924081446.GA11981-/R6kz+dDXgpPR4JQBCEnsQ@public.gmane.org>
2013-09-24 9:00 ` Thierry Reding
2013-09-24 9:00 ` Thierry Reding
2013-09-24 9:00 ` Thierry Reding
2013-09-24 9:00 ` Thierry Reding
2013-09-25 5:39 ` Simon Horman
2013-09-25 5:39 ` Simon Horman
2013-09-25 5:39 ` Simon Horman
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=20131001213120.GG9201@ulmo.nvidia.com \
--to=thierry.reding@gmail.com \
--cc=ben-linux@fluff.org \
--cc=broonie@kernel.org \
--cc=devicetree@vger.kernel.org \
--cc=eric.y.miao@gmail.com \
--cc=gxt@mprc.pku.edu.cn \
--cc=haojian.zhuang@gmail.com \
--cc=horms@verge.net.au \
--cc=ijc+devicetree@hellion.org.uk \
--cc=kgene.kim@samsung.com \
--cc=linux-arm-kernel@lists.infradead.org \
--cc=linux-kernel@vger.kernel.org \
--cc=linux-omap@vger.kernel.org \
--cc=linux-pwm@vger.kernel.org \
--cc=linux-samsung-soc@vger.kernel.org \
--cc=linux-sh@vger.kernel.org \
--cc=magnus.damm@gmail.com \
--cc=mark.rutland@arm.com \
--cc=openezx-devel@lists.openezx.org \
--cc=pawel.moll@arm.com \
--cc=rob.herring@calxeda.com \
--cc=swarren@wwwdotorg.org \
--cc=tony@atomide.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.