Skip to content

Commit

Permalink
gpiolib: use gpio_chips list in gpiolib_sysfs_init
Browse files Browse the repository at this point in the history
Use the small list of GPIO chips instead of parsing the whole GPIO
number space.

Signed-off-by: Alexandre Courbot <acourbot@nvidia.com>
Reviewed-by: Linus Walleij <linus.walleij@linaro.org>
Signed-off-by: Grant Likely <grant.likely@secretlab.ca>
  • Loading branch information
Alexandre Courbot authored and Grant Likely committed Feb 9, 2013
1 parent 1a989d0 commit 65493e3
Showing 1 changed file with 2 additions and 5 deletions.
7 changes: 2 additions & 5 deletions drivers/gpio/gpiolib.c
Original file line number Diff line number Diff line change
Expand Up @@ -974,7 +974,7 @@ static int __init gpiolib_sysfs_init(void)
{
int status;
unsigned long flags;
unsigned gpio;
struct gpio_chip *chip;

status = class_register(&gpio_class);
if (status < 0)
Expand All @@ -987,10 +987,7 @@ static int __init gpiolib_sysfs_init(void)
* registered, and so arch_initcall() can always gpio_export().
*/
spin_lock_irqsave(&gpio_lock, flags);
for (gpio = 0; gpio < ARCH_NR_GPIOS; gpio++) {
struct gpio_chip *chip;

chip = gpio_desc[gpio].chip;
list_for_each_entry(chip, &gpio_chips, list) {
if (!chip || chip->exported)
continue;

Expand Down

0 comments on commit 65493e3

Please sign in to comment.