regulator: don't compare raw GPIO descriptor pointers
There's no API contract saying that two GPIO descriptor pointers obtained with a call to gpiod_get() (or one of the variants), that refer to the same physical GPIO pin, always point to the same structure. Use the dedicated comparator function. Signed-off-by: Bartosz Golaszewski <bartosz.golaszewski@linaro.org> Link: https://patch.msgid.link/20250407-gpiod-is-equal-v1-2-7d85f568ae6e@linaro.org Signed-off-by: Mark Brown <broonie@kernel.org>
This commit is contained in:
committed by
Mark Brown
parent
265daffe78
commit
aaf6223ea2
@@ -2617,7 +2617,7 @@ static int regulator_ena_gpio_request(struct regulator_dev *rdev,
|
||||
mutex_lock(®ulator_list_mutex);
|
||||
|
||||
list_for_each_entry(pin, ®ulator_ena_gpio_list, list) {
|
||||
if (pin->gpiod == gpiod) {
|
||||
if (gpiod_is_equal(pin->gpiod, gpiod)) {
|
||||
rdev_dbg(rdev, "GPIO is already used\n");
|
||||
goto update_ena_gpio_to_rdev;
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user