Loading drivers/gpio/gpio-mockup.c +17 −0 Original line number Diff line number Diff line Loading @@ -102,6 +102,22 @@ static int gpio_mockup_get(struct gpio_chip *gc, unsigned int offset) 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, unsigned int offset, int value) { Loading Loading @@ -327,6 +343,7 @@ static int gpio_mockup_probe(struct platform_device *pdev) gc->parent = dev; gc->get = gpio_mockup_get; gc->set = gpio_mockup_set; gc->get_multiple = gpio_mockup_get_multiple; gc->set_multiple = gpio_mockup_set_multiple; gc->direction_output = gpio_mockup_dirout; gc->direction_input = gpio_mockup_dirin; Loading Loading
drivers/gpio/gpio-mockup.c +17 −0 Original line number Diff line number Diff line Loading @@ -102,6 +102,22 @@ static int gpio_mockup_get(struct gpio_chip *gc, unsigned int offset) 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, unsigned int offset, int value) { Loading Loading @@ -327,6 +343,7 @@ static int gpio_mockup_probe(struct platform_device *pdev) gc->parent = dev; gc->get = gpio_mockup_get; gc->set = gpio_mockup_set; gc->get_multiple = gpio_mockup_get_multiple; gc->set_multiple = gpio_mockup_set_multiple; gc->direction_output = gpio_mockup_dirout; gc->direction_input = gpio_mockup_dirin; Loading