All of lore.kernel.org
 help / color / mirror / Atom feed
From: Thierry Reding <thierry.reding@avionic-design.de>
To: Lars-Peter Clausen <lars@metafoo.de>
Cc: "Benoît Thébaudeau" <benoit.thebaudeau@advansee.com>,
	linux-kernel@vger.kernel.org,
	"Sascha Hauer" <kernel@pengutronix.de>,
	linux-arm-kernel@lists.infradead.org,
	"Dmitry Torokhov" <dmitry.torokhov@gmail.com>,
	linux-input@vger.kernel.org, "Bryan Wu" <bryan.wu@canonical.com>,
	"Richard Purdie" <rpurdie@rpsys.net>,
	linux-leds@vger.kernel.org,
	"Florian Tobias Schandinat" <FlorianSchandinat@gmx.de>,
	linux-fbdev@vger.kernel.org
Subject: Re: [PATCH] pwm: Call pwm_enable() before pwm_config()
Date: Thu, 23 Aug 2012 21:04:02 +0200	[thread overview]
Message-ID: <20120823190402.GA8127@avionic-0098.mockup.avionic-design.de> (raw)
In-Reply-To: <50366628.5020007@metafoo.de>

[-- Attachment #1: Type: text/plain, Size: 1237 bytes --]

On Thu, Aug 23, 2012 at 07:19:36PM +0200, Lars-Peter Clausen wrote:
> On 08/23/2012 07:12 PM, Lars-Peter Clausen wrote:
> >[...]
> > Or maybe just use the runtime pm API for this. This probably makes even more
> > sense and grab a reference to the pm context when the enable() is called,
> > release it when disable() is called and also grab it before calling the
> > device's config callback and release it afterward.
> 
> Btw. this seems to be exactly what the pwm-tiecap and pwm-tiehrpwm drivers
> already do today. I'd just make that a core PWM framework feature.

Using runtime PM for this sounds indeed like the most generic approach.
I'm not very familiar with the API, but I thought it required explicit
architecture or bus support (or the driver itself can provide hooks via
pm_ops), so it might be difficult to implement for platforms that don't
have working runtime PM support. I'll have to look into this some more.

Anyway, if we add this kind of support to the PWM core we should take it
through next first. For drivers that are currently broken, they should
be, as you said, fixed by enabling the clock before reconfiguring and
disable it after (unless the PWM is enabled) like Tegra does.

Thierry

[-- Attachment #2: Type: application/pgp-signature, Size: 836 bytes --]

WARNING: multiple messages have this Message-ID (diff)
From: Thierry Reding <thierry.reding@avionic-design.de>
To: linux-arm-kernel@lists.infradead.org
Subject: Re: [PATCH] pwm: Call pwm_enable() before pwm_config()
Date: Thu, 23 Aug 2012 19:04:02 +0000	[thread overview]
Message-ID: <20120823190402.GA8127@avionic-0098.mockup.avionic-design.de> (raw)
In-Reply-To: <50366628.5020007@metafoo.de>

[-- Attachment #1: Type: text/plain, Size: 1237 bytes --]

On Thu, Aug 23, 2012 at 07:19:36PM +0200, Lars-Peter Clausen wrote:
> On 08/23/2012 07:12 PM, Lars-Peter Clausen wrote:
> >[...]
> > Or maybe just use the runtime pm API for this. This probably makes even more
> > sense and grab a reference to the pm context when the enable() is called,
> > release it when disable() is called and also grab it before calling the
> > device's config callback and release it afterward.
> 
> Btw. this seems to be exactly what the pwm-tiecap and pwm-tiehrpwm drivers
> already do today. I'd just make that a core PWM framework feature.

Using runtime PM for this sounds indeed like the most generic approach.
I'm not very familiar with the API, but I thought it required explicit
architecture or bus support (or the driver itself can provide hooks via
pm_ops), so it might be difficult to implement for platforms that don't
have working runtime PM support. I'll have to look into this some more.

Anyway, if we add this kind of support to the PWM core we should take it
through next first. For drivers that are currently broken, they should
be, as you said, fixed by enabling the clock before reconfiguring and
disable it after (unless the PWM is enabled) like Tegra does.

Thierry

[-- Attachment #2: Type: application/pgp-signature, Size: 836 bytes --]

WARNING: multiple messages have this Message-ID (diff)
From: thierry.reding@avionic-design.de (Thierry Reding)
To: linux-arm-kernel@lists.infradead.org
Subject: [PATCH] pwm: Call pwm_enable() before pwm_config()
Date: Thu, 23 Aug 2012 21:04:02 +0200	[thread overview]
Message-ID: <20120823190402.GA8127@avionic-0098.mockup.avionic-design.de> (raw)
In-Reply-To: <50366628.5020007@metafoo.de>

On Thu, Aug 23, 2012 at 07:19:36PM +0200, Lars-Peter Clausen wrote:
> On 08/23/2012 07:12 PM, Lars-Peter Clausen wrote:
> >[...]
> > Or maybe just use the runtime pm API for this. This probably makes even more
> > sense and grab a reference to the pm context when the enable() is called,
> > release it when disable() is called and also grab it before calling the
> > device's config callback and release it afterward.
> 
> Btw. this seems to be exactly what the pwm-tiecap and pwm-tiehrpwm drivers
> already do today. I'd just make that a core PWM framework feature.

Using runtime PM for this sounds indeed like the most generic approach.
I'm not very familiar with the API, but I thought it required explicit
architecture or bus support (or the driver itself can provide hooks via
pm_ops), so it might be difficult to implement for platforms that don't
have working runtime PM support. I'll have to look into this some more.

Anyway, if we add this kind of support to the PWM core we should take it
through next first. For drivers that are currently broken, they should
be, as you said, fixed by enabling the clock before reconfiguring and
disable it after (unless the PWM is enabled) like Tegra does.

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/20120823/a1ac7c74/attachment.sig>

  reply	other threads:[~2012-08-23 19:04 UTC|newest]

Thread overview: 42+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
     [not found] <322770447.2755463.1345727876098.JavaMail.root@advansee.com>
2012-08-23 13:36 ` [BUG] leds-pwm: First setting of brightness does nothing Benoît Thébaudeau
2012-08-23 13:36   ` Benoît Thébaudeau
2012-08-23 14:19   ` [PATCH] pwm: Call pwm_enable() before pwm_config() Benoît Thébaudeau
2012-08-23 14:19     ` Benoît Thébaudeau
2012-08-23 14:19     ` Benoît Thébaudeau
2012-08-23 14:19     ` Benoît Thébaudeau
2012-08-23 15:43     ` Lars-Peter Clausen
2012-08-23 15:43       ` Lars-Peter Clausen
2012-08-23 15:43       ` Lars-Peter Clausen
2012-08-23 16:57       ` Benoît Thébaudeau
2012-08-23 16:57         ` Benoît Thébaudeau
2012-08-23 16:57         ` Benoît Thébaudeau
2012-08-23 16:57         ` Benoît Thébaudeau
2012-08-23 17:12         ` Lars-Peter Clausen
2012-08-23 17:12           ` Lars-Peter Clausen
2012-08-23 17:12           ` Lars-Peter Clausen
2012-08-23 17:19           ` Lars-Peter Clausen
2012-08-23 17:19             ` Lars-Peter Clausen
2012-08-23 17:19             ` Lars-Peter Clausen
2012-08-23 19:04             ` Thierry Reding [this message]
2012-08-23 19:04               ` Thierry Reding
2012-08-23 19:04               ` Thierry Reding
2012-09-20 19:05               ` Mark Brown
2012-09-20 19:05                 ` Mark Brown
2012-09-20 19:05                 ` Mark Brown
2012-08-23 19:11           ` Thierry Reding
2012-08-23 19:11             ` Thierry Reding
2012-08-23 19:11             ` Thierry Reding
2012-08-23 20:58             ` [PATCH] pwm-imx: Fix config / enable / disable Benoît Thébaudeau
2012-08-23 21:03               ` Benoît Thébaudeau
2012-08-23 21:03               ` Benoît Thébaudeau
2012-08-23 21:03               ` Benoît Thébaudeau
2012-08-28  7:37               ` Sascha Hauer
2012-08-28  7:37                 ` Sascha Hauer
2012-08-28  7:37                 ` Sascha Hauer
2012-08-28  7:37                 ` Sascha Hauer
2012-09-20 19:03           ` [PATCH] pwm: Call pwm_enable() before pwm_config() Mark Brown
2012-09-20 19:03             ` Mark Brown
2012-09-20 19:03             ` Mark Brown
2012-08-30  7:10       ` Jingoo Han
2012-08-30  7:10         ` Jingoo Han
2012-08-30  7:10         ` Jingoo Han

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=20120823190402.GA8127@avionic-0098.mockup.avionic-design.de \
    --to=thierry.reding@avionic-design.de \
    --cc=FlorianSchandinat@gmx.de \
    --cc=benoit.thebaudeau@advansee.com \
    --cc=bryan.wu@canonical.com \
    --cc=dmitry.torokhov@gmail.com \
    --cc=kernel@pengutronix.de \
    --cc=lars@metafoo.de \
    --cc=linux-arm-kernel@lists.infradead.org \
    --cc=linux-fbdev@vger.kernel.org \
    --cc=linux-input@vger.kernel.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=linux-leds@vger.kernel.org \
    --cc=rpurdie@rpsys.net \
    /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.