OSDN Git Service

gpio: mockup: change the signature of unlocked get/set helpers
authorBartosz Golaszewski <bgolaszewski@baylibre.com>
Wed, 23 Jan 2019 08:34:15 +0000 (09:34 +0100)
committerBartosz Golaszewski <bgolaszewski@baylibre.com>
Tue, 19 Feb 2019 16:42:29 +0000 (17:42 +0100)
The unlocked variants only get called from places where we already have
the pointer to the underlying gpio_mockup_chip structure, so take it
as parameter instead of struct gpio_chip.

Signed-off-by: Bartosz Golaszewski <bgolaszewski@baylibre.com>
drivers/gpio/gpio-mockup.c

index 433adb3..c498b0f 100644 (file)
@@ -83,10 +83,9 @@ static int gpio_mockup_range_ngpio(unsigned int index)
        return gpio_mockup_ranges[index * 2 + 1];
 }
 
-static int __gpio_mockup_get(struct gpio_chip *gc, unsigned int offset)
+static int __gpio_mockup_get(struct gpio_mockup_chip *chip,
+                            unsigned int offset)
 {
-       struct gpio_mockup_chip *chip = gpiochip_get_data(gc);
-
        return chip->lines[offset].value;
 }
 
@@ -96,7 +95,7 @@ static int gpio_mockup_get(struct gpio_chip *gc, unsigned int offset)
        int val;
 
        mutex_lock(&chip->lock);
-       val = __gpio_mockup_get(gc, offset);
+       val = __gpio_mockup_get(chip, offset);
        mutex_unlock(&chip->lock);
 
        return val;
@@ -110,7 +109,7 @@ static int gpio_mockup_get_multiple(struct gpio_chip *gc,
 
        mutex_lock(&chip->lock);
        for_each_set_bit(bit, mask, gc->ngpio) {
-               val = __gpio_mockup_get(gc, bit);
+               val = __gpio_mockup_get(chip, bit);
                __assign_bit(bit, bits, val);
        }
        mutex_unlock(&chip->lock);
@@ -118,11 +117,9 @@ static int gpio_mockup_get_multiple(struct gpio_chip *gc,
        return 0;
 }
 
-static void __gpio_mockup_set(struct gpio_chip *gc,
+static void __gpio_mockup_set(struct gpio_mockup_chip *chip,
                              unsigned int offset, int value)
 {
-       struct gpio_mockup_chip *chip = gpiochip_get_data(gc);
-
        chip->lines[offset].value = !!value;
 }
 
@@ -132,7 +129,7 @@ static void gpio_mockup_set(struct gpio_chip *gc,
        struct gpio_mockup_chip *chip = gpiochip_get_data(gc);
 
        mutex_lock(&chip->lock);
-       __gpio_mockup_set(gc, offset, value);
+       __gpio_mockup_set(chip, offset, value);
        mutex_unlock(&chip->lock);
 }
 
@@ -144,7 +141,7 @@ static void gpio_mockup_set_multiple(struct gpio_chip *gc,
 
        mutex_lock(&chip->lock);
        for_each_set_bit(bit, mask, gc->ngpio)
-               __gpio_mockup_set(gc, bit, test_bit(bit, bits));
+               __gpio_mockup_set(chip, bit, test_bit(bit, bits));
        mutex_unlock(&chip->lock);
 }
 
@@ -155,7 +152,7 @@ static int gpio_mockup_dirout(struct gpio_chip *gc,
 
        mutex_lock(&chip->lock);
        chip->lines[offset].dir = GPIO_MOCKUP_DIR_OUT;
-       __gpio_mockup_set(gc, offset, value);
+       __gpio_mockup_set(chip, offset, value);
        mutex_unlock(&chip->lock);
 
        return 0;