Skip to content

Commit

Permalink
ARM: plat-orion: make gpiochip label unique
Browse files Browse the repository at this point in the history
The former implementation adds a fix gpiochip label string
to the framework. This is confusing because orion_gpio_init
is called more than once and this ends up in different gpiochips
with the same label.

This patch adds the already present orion_gpio_chip_count to the
label string to make it unique in the system.

Signed-off-by: Holger Brunck <holger.brunck@keymile.com>
Cc: Lennert Buytenhek <kernel@wantstofly.org>
Acked-by: Nicolas Pitre <nico@linaro.org>
Signed-off-by: Olof Johansson <olof@lixom.net>
  • Loading branch information
Holger Brunck authored and Olof Johansson committed Dec 20, 2011
1 parent 334fef0 commit 0b35a45
Showing 1 changed file with 5 additions and 1 deletion.
6 changes: 5 additions & 1 deletion arch/arm/plat-orion/gpio.c
Original file line number Diff line number Diff line change
Expand Up @@ -384,12 +384,16 @@ void __init orion_gpio_init(int gpio_base, int ngpio,
struct orion_gpio_chip *ochip;
struct irq_chip_generic *gc;
struct irq_chip_type *ct;
char gc_label[16];

if (orion_gpio_chip_count == ARRAY_SIZE(orion_gpio_chips))
return;

snprintf(gc_label, sizeof(gc_label), "orion_gpio%d",
orion_gpio_chip_count);

ochip = orion_gpio_chips + orion_gpio_chip_count;
ochip->chip.label = "orion_gpio";
ochip->chip.label = kstrdup(gc_label, GFP_KERNEL);
ochip->chip.request = orion_gpio_request;
ochip->chip.direction_input = orion_gpio_direction_input;
ochip->chip.get = orion_gpio_get;
Expand Down

0 comments on commit 0b35a45

Please sign in to comment.