Commit 20a451f8 authored by Linus Walleij's avatar Linus Walleij Committed by Russell King (Oracle)

ARM: 9101/1: sa1100/assabet: convert LEDs to gpiod APIs

Convert the Assabet LEDs to use the gpiod APIs.
Signed-off-by: default avatarLinus Walleij <linus.walleij@linaro.org>
Signed-off-by: default avatarRussell King (Oracle) <rmk+kernel@armlinux.org.uk>
parent abc25bbc
...@@ -84,7 +84,7 @@ void ASSABET_BCR_frob(unsigned int mask, unsigned int val) ...@@ -84,7 +84,7 @@ void ASSABET_BCR_frob(unsigned int mask, unsigned int val)
} }
EXPORT_SYMBOL(ASSABET_BCR_frob); EXPORT_SYMBOL(ASSABET_BCR_frob);
static int __init assabet_init_gpio(void __iomem *reg, u32 def_val) static void __init assabet_init_gpio(void __iomem *reg, u32 def_val)
{ {
struct gpio_chip *gc; struct gpio_chip *gc;
...@@ -94,11 +94,9 @@ static int __init assabet_init_gpio(void __iomem *reg, u32 def_val) ...@@ -94,11 +94,9 @@ static int __init assabet_init_gpio(void __iomem *reg, u32 def_val)
assabet_names, NULL, NULL); assabet_names, NULL, NULL);
if (IS_ERR(gc)) if (IS_ERR(gc))
return PTR_ERR(gc); return;
assabet_bcr_gc = gc; assabet_bcr_gc = gc;
return gc->base;
} }
/* /*
...@@ -475,16 +473,23 @@ static struct gpiod_lookup_table assabet_cf_vcc_gpio_table = { ...@@ -475,16 +473,23 @@ static struct gpiod_lookup_table assabet_cf_vcc_gpio_table = {
}, },
}; };
static struct gpiod_lookup_table assabet_leds_gpio_table = {
.dev_id = "leds-gpio",
.table = {
GPIO_LOOKUP("assabet", 13, NULL, GPIO_ACTIVE_LOW),
GPIO_LOOKUP("assabet", 14, NULL, GPIO_ACTIVE_LOW),
{ },
},
};
static struct gpio_led assabet_leds[] __initdata = { static struct gpio_led assabet_leds[] __initdata = {
{ {
.name = "assabet:red", .name = "assabet:red",
.default_trigger = "cpu0", .default_trigger = "cpu0",
.active_low = 1,
.default_state = LEDS_GPIO_DEFSTATE_KEEP, .default_state = LEDS_GPIO_DEFSTATE_KEEP,
}, { }, {
.name = "assabet:green", .name = "assabet:green",
.default_trigger = "heartbeat", .default_trigger = "heartbeat",
.active_low = 1,
.default_state = LEDS_GPIO_DEFSTATE_KEEP, .default_state = LEDS_GPIO_DEFSTATE_KEEP,
}, },
}; };
...@@ -603,6 +608,7 @@ static void __init assabet_init(void) ...@@ -603,6 +608,7 @@ static void __init assabet_init(void)
&assabet_keys_pdata, &assabet_keys_pdata,
sizeof(assabet_keys_pdata)); sizeof(assabet_keys_pdata));
gpiod_add_lookup_table(&assabet_leds_gpio_table);
gpio_led_register_device(-1, &assabet_leds_pdata); gpio_led_register_device(-1, &assabet_leds_pdata);
#ifndef ASSABET_PAL_VIDEO #ifndef ASSABET_PAL_VIDEO
...@@ -739,7 +745,6 @@ static void __init assabet_map_io(void) ...@@ -739,7 +745,6 @@ static void __init assabet_map_io(void)
void __init assabet_init_irq(void) void __init assabet_init_irq(void)
{ {
unsigned int assabet_gpio_base;
u32 def_val; u32 def_val;
sa1100_init_irq(); sa1100_init_irq();
...@@ -754,10 +759,7 @@ void __init assabet_init_irq(void) ...@@ -754,10 +759,7 @@ void __init assabet_init_irq(void)
* *
* This must precede any driver calls to BCR_set() or BCR_clear(). * This must precede any driver calls to BCR_set() or BCR_clear().
*/ */
assabet_gpio_base = assabet_init_gpio((void *)&ASSABET_BCR, def_val); assabet_init_gpio((void *)&ASSABET_BCR, def_val);
assabet_leds[0].gpio = assabet_gpio_base + 13;
assabet_leds[1].gpio = assabet_gpio_base + 14;
} }
MACHINE_START(ASSABET, "Intel-Assabet") MACHINE_START(ASSABET, "Intel-Assabet")
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment