[PATCH 16/17] mach-sa1100: retire custom LED code
Bryan Wu
bryan.wu at canonical.com
Thu Jul 7 09:40:41 EDT 2011
On Wed, Jul 6, 2011 at 10:04 PM, Jochen Friedrich <jochen at scram.de> wrote:
> On 06.07.2011 14:34, Bryan Wu wrote:
>
>> diff --git a/arch/arm/mach-sa1100/simpad.c b/arch/arm/mach-sa1100/simpad.c
>> index cfb7607..6f87258 100644
>> --- a/arch/arm/mach-sa1100/simpad.c
>> +++ b/arch/arm/mach-sa1100/simpad.c
>> @@ -13,6 +13,8 @@
>> #include<linux/mtd/mtd.h>
>> #include<linux/mtd/partitions.h>
>> #include<linux/io.h>
>> +#include<linux/leds.h>
>> +#include<linux/slab.h>
>>
>> #include<asm/irq.h>
>> #include<mach/hardware.h>
>> @@ -205,7 +207,53 @@ static struct platform_device *devices[] __initdata =
>> {
>> &simpad_mq200fb
>> };
>>
>> +/* LEDs */
>> +#define LED_GREEN 1
>>
>> +static void simpad_led_set(struct led_classdev *cdev,
>> + enum led_brightness b)
>> +{
>> + if (b != LED_OFF)
>> + set_cs3_bit(LED_GREEN);
>> + else
>> + clear_cs3_bit(LED_GREEN);
>> +}
>> +
>> +static enum led_brightness simpad_led_get(struct led_classdev *cdev)
>> +{
>> + u32 reg = *(CS3BUSTYPE *)(CS3_BASE);
>> +
>> + return (reg& LED_GREEN) ? LED_FULL : LED_OFF;
>> +}
>
> NACK, bit 1 on the CS3 register is PCMCIA power control (write) and PCMCIA
> BVD1 (read), but not LED_GREEN. LED2_ON would be correct for write, but you
> would need to read cs3_shadow instead of the register itself for the LED
> status.
>
Actually, I'm not familiar with this hardware in details. Thanks for
pointing out.
> BTW: Some time ago I wrote a similar patch for ARM that converts CS3
> functions to GPIOs, wich simplifies the LED stuff even further ;-)
>
> http://www.spinics.net/lists/arm-kernel/msg122479.html
>
This looks good and it's the right way to do that. We need gpiolib
supporting firstly. How's status of your patchset, I guess you're
trying to update it.
Thanks,
--
Bryan Wu <bryan.wu at canonical.com>
Kernel Developer +86.138-1617-6545 Mobile
Ubuntu Kernel Team
Canonical Ltd. www.canonical.com
Ubuntu - Linux for human beings | www.ubuntu.com
More information about the linux-arm-kernel
mailing list