gpiolib: use gpio_chips list in gpiolib_sysfs_init
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>
This commit is contained in:
parent
1a989d0f1d
commit
65493e3ac4
|
@ -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;
|
||||
|
||||
|
|
Loading…
Reference in a new issue