From: Bill Gatliff <bgat@billgatliff.com>
To: Mike Frysinger <vapier.adi@gmail.com>
Cc: linux-embedded@vger.kernel.org
Subject: Re: [[RFC] 4/5] An LED "dimmer" trigger, which uses the PWM API to vary the brightness of an LED according to system load
Date: Mon, 19 Oct 2009 20:42:36 -0500 [thread overview]
Message-ID: <4ADD158C.2090708@billgatliff.com> (raw)
In-Reply-To: <8bd0f97a0910191451w89d80ffx9afcdbe31dad0cc7@mail.gmail.com>
Mike Frysinger wrote:
> On Mon, Oct 19, 2009 at 16:32, Bill Gatliff wrote:
>
>> --- a/drivers/leds/leds-pwm.c
>> +++ b/drivers/leds/leds-pwm.c
>> @@ -1,153 +1,167 @@
>> -/*
>> - * linux/drivers/leds-pwm.c
>> - *
>> - * simple PWM based LED control
>> - *
>> - * Copyright 2009 Luotao Fu @ Pengutronix (l.fu@pengutronix.de)
>> - *
>> - * based on leds-gpio.c by Raphael Assenat <raph@8d.com>
>> - *
>> - * This program is free software; you can redistribute it and/or modify
>> - * it under the terms of the GNU General Public License version 2 as
>> - * published by the Free Software Foundation.
>> - */
>>
>
> this should not be removed. if you wanted to add your copyright line,
> then that's fine, but the rest needs to stay.
>
For the record, the reason the file looks like it does is because I
wrote an original one that replaced the previous leds-pwm.c--- but
obviously git didn't see it that way when it produced the diff.
I certainly wasn't trying to write-out anyone's copyright! I don't have
a problem with their names appearing in the file, regardless, so I'll
put them back in. If they have problems with their names appearing
therein, they can let me know. :)
>> #include <linux/pwm.h>
>> +#include <linux/pwm-led.h>
>>
>
> if there's going to be a bunch of new pwm related headers, perhaps a
> subdir makes more sense: linux/pwm/xxx
>
In general I don't have a problem with this. However, in this specific
case would it make more sense to just fold pwm-led.h into pwm.h? There
really isn't much to pwm-led.h.
>> +static void
>> +led_pwm_brightness_set(struct led_classdev *c,
>> + enum led_brightness b)
>> +{
>> + struct led_pwm *led;
>> + int percent;
>> +
>> + percent = (b * 100) / (LED_FULL - LED_OFF);
>> + led = container_of(c, struct led_pwm, led);
>>
>
> instead of using container_of() everywhere, why not add a helper macro
> that turns a led_classev into a led_pwm
>
That's just a personal style thing. As soon as I write a helper macro,
I tend to forget how it works and then start mis-using it everywhere.
But I don't have a problem with doing a helper.
For better type-safety, would a helper inline-function be a better
choice than a helper macro? Or would it make any difference?
>> +static int __init
>> +led_pwm_probe(struct platform_device *pdev)
>>
>
> probe functions are typical __devinit
>
Yep, my bad.
>> + if (!try_module_get(d->driver->owner))
>> + return -ENODEV;
>>
>
> is this really needed ?
>
Not sure.
>> -static int __devexit led_pwm_remove(struct platform_device *pdev)
>> +static int
>> +led_pwm_remove(struct platform_device *pdev)
>>
>
> looks like you lost the __devexit markings
>
Yep.
>> static struct platform_driver led_pwm_driver = {
>> + .driver = {
>> + .name = "leds-pwm",
>> + .owner = THIS_MODULE,
>> },
>>
>
> i dont think platform_drivers need to explicitly set their owner. i
> thought that was all handled for you.
>
There are examples for both cases. I don't see anything assigning to
.owner in drivers/base/platform.c, though.
>> --- /dev/null
>> +++ b/include/linux/pwm-led.h
>> @@ -0,0 +1,34 @@
>> +#ifndef __LINUX_PWM_LED_H
>> +#define __LINUX_PWM_LED_H
>> +
>> +/*
>> + * include/linux/pwm-led.h
>>
>
> the ifdef protection typically goes after the header comment blob, not before
>
Yep, my bad.
Thanks for the feedback!
b.g.
--
Bill Gatliff
bgat@billgatliff.com
next prev parent reply other threads:[~2009-10-20 1:42 UTC|newest]
Thread overview: 22+ messages / expand[flat|nested] mbox.gz Atom feed top
2009-10-19 20:32 [[RFC] 0/5] Generic PWM API Proposal Bill Gatliff
2009-10-19 20:32 ` [[RFC] 1/5] API to consolidate PWM devices behind a common user and kernel interface Bill Gatliff
2009-10-19 20:32 ` [[RFC] 2/5] Emulates PWM hardware using a high-resolution timer and a GPIO pin Bill Gatliff
2009-10-19 20:32 ` [[RFC] 3/5] Expunge old Atmel PWMC driver, replacing it with one that conforms to the PWM API Bill Gatliff
2009-10-19 20:32 ` [[RFC] 4/5] An LED "dimmer" trigger, which uses the PWM API to vary the brightness of an LED according to system load Bill Gatliff
2009-10-19 20:32 ` [[RFC] 5/5] Incorporate PWM API code into KBuild Bill Gatliff
2009-10-19 22:30 ` Mike Frysinger
2009-10-19 21:51 ` [[RFC] 4/5] An LED "dimmer" trigger, which uses the PWM API to vary the brightness of an LED according to system load Mike Frysinger
2009-10-20 1:42 ` Bill Gatliff [this message]
2009-10-20 3:58 ` Mike Frysinger
2009-10-30 14:03 ` Luotao Fu
2009-10-31 7:43 ` Trilok Soni
2009-10-31 7:45 ` Trilok Soni
2009-10-19 22:34 ` [[RFC] 3/5] Expunge old Atmel PWMC driver, replacing it with one that conforms to the PWM API Mike Frysinger
2009-10-20 2:02 ` Bill Gatliff
2009-10-19 21:56 ` [[RFC] 2/5] Emulates PWM hardware using a high-resolution timer and a GPIO pin Mike Frysinger
2009-10-20 1:47 ` Bill Gatliff
2009-11-17 8:29 ` David Brownell
2009-11-17 16:00 ` Bill Gatliff
2009-11-18 21:02 ` Aras Vaichas
2009-10-19 22:29 ` [[RFC] 1/5] API to consolidate PWM devices behind a common user and kernel interface Mike Frysinger
2009-10-20 1:59 ` Bill Gatliff
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=4ADD158C.2090708@billgatliff.com \
--to=bgat@billgatliff.com \
--cc=linux-embedded@vger.kernel.org \
--cc=vapier.adi@gmail.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.