All of lore.kernel.org
 help / color / mirror / Atom feed
From: "Péter Ujfalusi" <peter.ujfalusi@ti.com>
To: Bryan Wu <cooloney@gmail.com>
Cc: Richard Purdie <rpurdie@rpsys.net>,
	Luotao Fu <l.fu@pengutronix.de>, <linux-leds@vger.kernel.org>,
	<linux-kernel@vger.kernel.org>
Subject: Re: [PATCH] leds: leds-pwm: Convert to use devm_get_pwm
Date: Mon, 12 Nov 2012 09:40:56 +0100	[thread overview]
Message-ID: <50A0B618.70902@ti.com> (raw)
In-Reply-To: <CAK5ve-LdyKk-5-J+Fn67CXVoox8rw+=UH0Wbq443rmN-yEyv4w@mail.gmail.com>

On 11/10/2012 02:48 AM, Bryan Wu wrote:
> On Wed, Nov 7, 2012 at 3:42 AM, Peter Ujfalusi <peter.ujfalusi@ti.com> wrote:
>> Update the driver to use the new API for requesting pwm so we can take
>> advantage of the pwm_lookup table to find the correct pwm to be used for the
>> LED functionality.
>> If the devm_get_pwm fails we fall back to legacy mode to try to get the pwm.
>>
>> Signed-off-by: Peter Ujfalusi <peter.ujfalusi@ti.com>
>> ---
>>  drivers/leds/leds-pwm.c | 16 ++++++++++++++--
>>  1 file changed, 14 insertions(+), 2 deletions(-)
>>
>> diff --git a/drivers/leds/leds-pwm.c b/drivers/leds/leds-pwm.c
>> index f2e44c7..6bf9445 100644
>> --- a/drivers/leds/leds-pwm.c
>> +++ b/drivers/leds/leds-pwm.c
>> @@ -47,6 +47,19 @@ static void led_pwm_set(struct led_classdev *led_cdev,
>>         }
>>  }
>>
>> +static struct pwm_device *led_pwm_request_pwm(struct platform_device *pdev,
>> +                                             struct led_pwm *cur_led)
>> +{
>> +       struct pwm_device *pwm;
>> +
>> +       pwm = devm_pwm_get(&pdev->dev, cur_led->name);
>> +       if (IS_ERR(pwm)) {
>> +               dev_err(&pdev->dev, "unable to request PWM, trying legacy API\n");
>> +               pwm = pwm_request(cur_led->pwm_id, cur_led->name);
> 
> Looks good, but why we still need to keep the old API pwm_request(),
> if devm_pwm_get() is the right replacement. AFAIK, devm_***() API will
> help to clean up if device probing fails.
> 
> So if it is good enough, we can just replace pwm_request() to the devm_pwm_get()

I have greped for "leds_pwm" in arch/ and the only place it is used is the
arch/arm/mach-omap2/board-sdp4430sdp.c and that is not working at all (using
wrong ID for the PWM).
I think I can remove the legacy way of requesting the pwm from the driver
safely (I can also mark the pwm_id in struct led_pwm as deprecated at the same
time).
Will send the v2 soon.

Thank you,
Péter

> 
> Thanks,
> -Bryan
> 
>> +       }
>> +       return pwm;
>> +}
>> +
>>  static int led_pwm_probe(struct platform_device *pdev)
>>  {
>>         struct led_pwm_platform_data *pdata = pdev->dev.platform_data;
>> @@ -67,8 +80,7 @@ static int led_pwm_probe(struct platform_device *pdev)
>>                 cur_led = &pdata->leds[i];
>>                 led_dat = &leds_data[i];
>>
>> -               led_dat->pwm = pwm_request(cur_led->pwm_id,
>> -                               cur_led->name);
>> +               led_dat->pwm = led_pwm_request_pwm(pdev, cur_led);
>>                 if (IS_ERR(led_dat->pwm)) {
>>                         ret = PTR_ERR(led_dat->pwm);
>>                         dev_err(&pdev->dev, "unable to request PWM %d\n",
>> --
>> 1.8.0
>>



      reply	other threads:[~2012-11-12  8:41 UTC|newest]

Thread overview: 3+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2012-11-07 11:42 [PATCH] leds: leds-pwm: Convert to use devm_get_pwm Peter Ujfalusi
2012-11-10  1:48 ` Bryan Wu
2012-11-12  8:40   ` Péter Ujfalusi [this message]

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=50A0B618.70902@ti.com \
    --to=peter.ujfalusi@ti.com \
    --cc=cooloney@gmail.com \
    --cc=l.fu@pengutronix.de \
    --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.