From: Ben Dooks <ben@trinity.fluff.org>
To: Richard Purdie <rpurdie@rpsys.net>
Cc: Ben Dooks <ben-linux@fluff.org>, linux-kernel@vger.kernel.org
Subject: Re: LEDS: S3C24XX generate name if none given
Date: Mon, 15 Jan 2007 15:42:21 +0000 [thread overview]
Message-ID: <20070115154221.GH11889@trinity.fluff.org> (raw)
In-Reply-To: <1168868669.5860.49.camel@localhost.localdomain>
On Mon, Jan 15, 2007 at 01:44:28PM +0000, Richard Purdie wrote:
> On Mon, 2007-01-15 at 12:26 +0000, Ben Dooks wrote:
> > Generate a name if none is passed to the S3C24XX GPIO LED driver.
> >
> > Signed-off-by: Ben Dooks <ben-linux@fluff.org>
> >
> > diff -urpN -X ../dontdiff linux-2.6.19/drivers/leds/leds-s3c24xx.c linux-2.6.19-simtec1p22/drivers/leds/leds-s3c24xx.c
> > --- linux-2.6.19/drivers/leds/leds-s3c24xx.c 2006-11-29 21:57:37.000000000 +0000
> > +++ linux-2.6.19-simtec1p22/drivers/leds/leds-s3c24xx.c 2007-01-04 10:22:58.000000000 +0000
> > @@ -23,6 +23,8 @@
> > /* our context */
> >
> > struct s3c24xx_gpio_led {
> > + char name[32];
> > +
> > struct led_classdev cdev;
>
> I'm not that keen on this since it wastes 32 bytes per LED when the
> platform code does declare the names. If you're happy with that, its up
> to you as the platform maintainer I guess but is there no nicer way to
> handle this? I'm mainly concerned about people copying this code into
> other drivers as then they'll all end up doing it...
Ok, how about using kstrdup() on the name, like this:
diff -urpN -X ../dontdiff linux-2.6.19/drivers/leds/leds-s3c24xx.c linux-2.6.19-simtec1p22/drivers/leds/leds-s3c24xx.c
--- linux-2.6.19/drivers/leds/leds-s3c24xx.c 2006-11-29 21:57:37.000000000 +0000
+++ linux-2.6.19-simtec1p22/drivers/leds/leds-s3c24xx.c 2007-01-15 15:26:05.000000000 +0000
@@ -59,6 +59,9 @@ static int s3c24xx_led_remove(struct pla
{
struct s3c24xx_gpio_led *led = pdev_to_gpio(dev);
+ if (led->cdev.name != led->pdata.name)
+ kfree(led->cdev.name);
+
led_classdev_unregister(&led->cdev);
kfree(led);
@@ -85,6 +88,15 @@ static int s3c24xx_led_probe(struct plat
led->pdata = pdata;
+ /* create name if we were not passed one */
+
+ if (led->cdev.name == NULL) {
+ char name[64];
+
+ snprintf(name, sizeof(name), "%s.%d", dev->name, dev->id);
+ led->cdev.name = kstrdup(name);
+ }
+
/* no point in having a pull-up if we are always driving */
if (pdata->flags & S3C24XX_LEDF_TRISTATE) {
--
Ben
Q: What's a light-year?
A: One-third less calories than a regular year.
next prev parent reply other threads:[~2007-01-15 15:42 UTC|newest]
Thread overview: 6+ messages / expand[flat|nested] mbox.gz Atom feed top
2007-01-15 12:26 LEDS: S3C24XX generate name if none given Ben Dooks
2007-01-15 12:32 ` Robert P. J. Day
2007-01-15 13:44 ` Richard Purdie
2007-01-15 15:42 ` Ben Dooks [this message]
2007-01-16 19:06 ` Richard Purdie
2007-01-22 19:56 ` Andrew Morton
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=20070115154221.GH11889@trinity.fluff.org \
--to=ben@trinity.fluff.org \
--cc=ben-linux@fluff.org \
--cc=linux-kernel@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.