projects
/
linux.git
/ commitdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
| commitdiff |
tree
raw
|
patch
| inline |
side by side
(parent:
ce522ba
)
gpio: sim: fix setting and getting multiple lines
author
Bartosz Golaszewski
<brgl@bgdev.pl>
Wed, 13 Apr 2022 14:01:32 +0000
(16:01 +0200)
committer
Bartosz Golaszewski
<brgl@bgdev.pl>
Thu, 14 Apr 2022 08:29:20 +0000
(10:29 +0200)
We need to take mask into account in the set/get_multiple() callbacks.
Use bitmap_replace() instead of bitmap_copy().
Fixes: cb8c474e79be ("gpio: sim: new testing module")
Cc: stable@vger.kernel.org
Signed-off-by: Bartosz Golaszewski <brgl@bgdev.pl>
Reviewed-by: Andy Shevchenko <andriy.shevchenko@linux.intel.com>
drivers/gpio/gpio-sim.c
patch
|
blob
|
history
diff --git
a/drivers/gpio/gpio-sim.c
b/drivers/gpio/gpio-sim.c
index 8e5d87984a48957d9a7c4856511a490e0978f45a..41c31b10ae8488c5a897bdced43f99afa60bf985 100644
(file)
--- a/
drivers/gpio/gpio-sim.c
+++ b/
drivers/gpio/gpio-sim.c
@@
-134,7
+134,7
@@
static int gpio_sim_get_multiple(struct gpio_chip *gc,
struct gpio_sim_chip *chip = gpiochip_get_data(gc);
mutex_lock(&chip->lock);
- bitmap_
copy(bits, chip->value_map
, gc->ngpio);
+ bitmap_
replace(bits, bits, chip->value_map, mask
, gc->ngpio);
mutex_unlock(&chip->lock);
return 0;
@@
-146,7
+146,7
@@
static void gpio_sim_set_multiple(struct gpio_chip *gc,
struct gpio_sim_chip *chip = gpiochip_get_data(gc);
mutex_lock(&chip->lock);
- bitmap_
copy(chip->value_map, bits
, gc->ngpio);
+ bitmap_
replace(chip->value_map, chip->value_map, bits, mask
, gc->ngpio);
mutex_unlock(&chip->lock);
}