summaryrefslogtreecommitdiff
path: root/drivers/gpio/gpio-mockup.c
diff options
context:
space:
mode:
authorBartosz Golaszewski <bgolaszewski@baylibre.com>2019-01-23 09:34:15 +0100
committerBartosz Golaszewski <bgolaszewski@baylibre.com>2019-02-19 17:42:29 +0100
commite09313ce7ea1706d1642c7d5af103915e69fc6d0 (patch)
treee6dfdc6d09ad4adc2976558da34e55e057d71884 /drivers/gpio/gpio-mockup.c
parent83336668b94eb44ecd78a0b7840e43f0859e05cb (diff)
gpio: mockup: change the signature of unlocked get/set helpers
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>
Diffstat (limited to 'drivers/gpio/gpio-mockup.c')
-rw-r--r--drivers/gpio/gpio-mockup.c19
1 files changed, 8 insertions, 11 deletions
diff --git a/drivers/gpio/gpio-mockup.c b/drivers/gpio/gpio-mockup.c
index 433adb3b4617..c498b0fbbec8 100644
--- a/drivers/gpio/gpio-mockup.c
+++ b/drivers/gpio/gpio-mockup.c
@@ -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;