|
@@ -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)
|
|
@@ -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;
|
|
|
|