Skip to content

Commit

Permalink
gpio: mockup: change the signature of unlocked get/set helpers
Browse files Browse the repository at this point in the history
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>
  • Loading branch information
Bartosz Golaszewski committed Feb 19, 2019
1 parent 8333666 commit e09313c
Showing 1 changed file with 8 additions and 11 deletions.
19 changes: 8 additions & 11 deletions drivers/gpio/gpio-mockup.c
Original file line number Diff line number Diff line change
Expand Up @@ -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;
}

Expand All @@ -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;
Expand All @@ -110,19 +109,17 @@ 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);

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;
}

Expand All @@ -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);
}

Expand All @@ -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);
}

Expand All @@ -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;
Expand Down

0 comments on commit e09313c

Please sign in to comment.