Messages in this thread Patch in this message | | | Date | Mon, 28 Jan 2008 10:15:51 +0100 | From | Haavard Skinnemoen <> | Subject | Re: [PATCH -mm 2/2] PWM LED driver |
| |
On Sun, 27 Jan 2008 21:32:32 -0800 Andrew Morton <akpm@linux-foundation.org> wrote:
> On Thu, 24 Jan 2008 15:33:45 +0100 Haavard Skinnemoen <hskinnemoen@atmel.com> wrote: > > > + if (i > 0) { > > + for (i = i - 1; i >= 0; i--) { > > + led_classdev_unregister(&leds[i].cdev); > > + pwm_channel_free(&leds[i].pwmc); > > + } > > + } > > Could be: > > while (--i > 0) { > led_classdev_unregister(&leds[i].cdev); > pwm_channel_free(&leds[i].pwmc); > } > > or thereabouts.
Almost...we need to clean up for leds[0] too. Using a postfix decrement should take care of that. How about the patch below?
Haavard
From de5002ad71a1000f81817410f02a7d9fbd5d4ecd Mon Sep 17 00:00:00 2001 From: Haavard Skinnemoen <hskinnemoen@atmel.com> Date: Mon, 28 Jan 2008 10:14:14 +0100 Subject: [PATCH] PWM led driver: Simplify cleanup loop
Why use a for loop inside an if() when we can get away with a simple while() loop?
Signed-off-by: Haavard Skinnemoen <hskinnemoen@atmel.com> --- drivers/leds/leds-atmel-pwm.c | 8 +++----- 1 files changed, 3 insertions(+), 5 deletions(-)
diff --git a/drivers/leds/leds-atmel-pwm.c b/drivers/leds/leds-atmel-pwm.c index af61f55..187031c 100644 --- a/drivers/leds/leds-atmel-pwm.c +++ b/drivers/leds/leds-atmel-pwm.c @@ -100,11 +100,9 @@ static int __init pwmled_probe(struct platform_device *pdev) return 0; err: - if (i > 0) { - for (i = i - 1; i >= 0; i--) { - led_classdev_unregister(&leds[i].cdev); - pwm_channel_free(&leds[i].pwmc); - } + while (i-- > 0) { + led_classdev_unregister(&leds[i].cdev); + pwm_channel_free(&leds[i].pwmc); } kfree(leds); -- 1.5.3.8
| |