Revert "gpio-sysfs: Use gpio descriptor name instead of gpiochip names array"
authorLinus Walleij <linus.walleij@linaro.org>
Mon, 5 Oct 2015 11:07:47 +0000 (13:07 +0200)
committerLinus Walleij <linus.walleij@linaro.org>
Mon, 5 Oct 2015 11:07:47 +0000 (13:07 +0200)
This reverts commit ddd5404007b8496f20ad2efe1147e102e6226634.

We need to preserve only using this naming strategy for names
coming from chip->names[], the descripor->name field is for the
new interface.

drivers/gpio/gpiolib-sysfs.c

index 3e81f28e3aeec762c904dd55f91b8b3fa736b27f..b57ed8e55ab5f61b7f8307399bb4e3d16299e64b 100644 (file)
@@ -550,7 +550,9 @@ int gpiod_export(struct gpio_desc *desc, bool direction_may_change)
        struct gpiod_data       *data;
        unsigned long           flags;
        int                     status;
+       const char              *ioname = NULL;
        struct device           *dev;
+       int                     offset;
 
        /* can't export until sysfs is available ... */
        if (!gpio_class.p) {
@@ -599,9 +601,13 @@ int gpiod_export(struct gpio_desc *desc, bool direction_may_change)
        else
                data->direction_can_change = false;
 
+       offset = gpio_chip_hwgpio(desc);
+       if (chip->names && chip->names[offset])
+               ioname = chip->names[offset];
+
        dev = device_create_with_groups(&gpio_class, chip->dev,
                                        MKDEV(0, 0), data, gpio_groups,
-                                       desc->name ? desc->name : "gpio%u",
+                                       ioname ? ioname : "gpio%u",
                                        desc_to_gpio(desc));
        if (IS_ERR(dev)) {
                status = PTR_ERR(dev);