gpio: mockup: implement get_multiple()
We already support set_multiple(). Implement get_multiple() as well. Signed-off-by: Bartosz Golaszewski <bgolaszewski@baylibre.com>
This commit is contained in:
parent
9212492f6e
commit
cbf1e092f2
|
@ -102,6 +102,22 @@ static int gpio_mockup_get(struct gpio_chip *gc, unsigned int offset)
|
||||||
return val;
|
return val;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
static int gpio_mockup_get_multiple(struct gpio_chip *gc,
|
||||||
|
unsigned long *mask, unsigned long *bits)
|
||||||
|
{
|
||||||
|
struct gpio_mockup_chip *chip = gpiochip_get_data(gc);
|
||||||
|
unsigned int bit, val;
|
||||||
|
|
||||||
|
mutex_lock(&chip->lock);
|
||||||
|
for_each_set_bit(bit, mask, gc->ngpio) {
|
||||||
|
val = __gpio_mockup_get(gc, 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_chip *gc,
|
||||||
unsigned int offset, int value)
|
unsigned int offset, int value)
|
||||||
{
|
{
|
||||||
|
@ -327,6 +343,7 @@ static int gpio_mockup_probe(struct platform_device *pdev)
|
||||||
gc->parent = dev;
|
gc->parent = dev;
|
||||||
gc->get = gpio_mockup_get;
|
gc->get = gpio_mockup_get;
|
||||||
gc->set = gpio_mockup_set;
|
gc->set = gpio_mockup_set;
|
||||||
|
gc->get_multiple = gpio_mockup_get_multiple;
|
||||||
gc->set_multiple = gpio_mockup_set_multiple;
|
gc->set_multiple = gpio_mockup_set_multiple;
|
||||||
gc->direction_output = gpio_mockup_dirout;
|
gc->direction_output = gpio_mockup_dirout;
|
||||||
gc->direction_input = gpio_mockup_dirin;
|
gc->direction_input = gpio_mockup_dirin;
|
||||||
|
|
Loading…
Reference in New Issue