gpio: sysfs: emit chardev line-state events on GPIO export

We already emit a CONFIG_RELEASED event when a line is unexported over
sysfs (this is handled by gpiod_free()) but we don't do the opposite
when it's exported. This adds the missing call to
gpiod_line_state_notify().

Reviewed-by: Kent Gibson <warthog618@gmail.com>
Link: https://lore.kernel.org/r/20241031-gpio-notify-sysfs-v4-3-142021c2195c@linaro.org
Signed-off-by: Bartosz Golaszewski <bartosz.golaszewski@linaro.org>
This commit is contained in:
Bartosz Golaszewski 2024-10-31 21:01:53 +01:00
parent f4af1671c2
commit 285678c947

View File

@ -21,6 +21,8 @@
#include <linux/gpio/consumer.h>
#include <linux/gpio/driver.h>
#include <uapi/linux/gpio.h>
#include "gpiolib.h"
#include "gpiolib-sysfs.h"
@ -471,10 +473,12 @@ static ssize_t export_store(const struct class *class,
}
status = gpiod_export(desc, true);
if (status < 0)
if (status < 0) {
gpiod_free(desc);
else
} else {
set_bit(FLAG_SYSFS, &desc->flags);
gpiod_line_state_notify(desc, GPIO_V2_LINE_CHANGED_REQUESTED);
}
done:
if (status)