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:
committed by
Grant Likely
parent
1a989d0f1d
commit
65493e3ac4
@@ -974,7 +974,7 @@ static int __init gpiolib_sysfs_init(void)
|
|||||||
{
|
{
|
||||||
int status;
|
int status;
|
||||||
unsigned long flags;
|
unsigned long flags;
|
||||||
unsigned gpio;
|
struct gpio_chip *chip;
|
||||||
|
|
||||||
status = class_register(&gpio_class);
|
status = class_register(&gpio_class);
|
||||||
if (status < 0)
|
if (status < 0)
|
||||||
@@ -987,10 +987,7 @@ static int __init gpiolib_sysfs_init(void)
|
|||||||
* registered, and so arch_initcall() can always gpio_export().
|
* registered, and so arch_initcall() can always gpio_export().
|
||||||
*/
|
*/
|
||||||
spin_lock_irqsave(&gpio_lock, flags);
|
spin_lock_irqsave(&gpio_lock, flags);
|
||||||
for (gpio = 0; gpio < ARCH_NR_GPIOS; gpio++) {
|
list_for_each_entry(chip, &gpio_chips, list) {
|
||||||
struct gpio_chip *chip;
|
|
||||||
|
|
||||||
chip = gpio_desc[gpio].chip;
|
|
||||||
if (!chip || chip->exported)
|
if (!chip || chip->exported)
|
||||||
continue;
|
continue;
|
||||||
|
|
||||||
|
Reference in New Issue
Block a user