mirror of
git://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
synced 2026-03-24 00:16:55 +08:00
gpio: em: use new line value setter callbacks
struct gpio_chip now has callbacks for setting line values that return an integer, allowing to indicate failures. Convert the driver to using them. Signed-off-by: Bartosz Golaszewski <bartosz.golaszewski@linaro.org> Link: https://lore.kernel.org/r/20250407-gpiochip-set-rv-gpio-part1-v1-3-78399683ca38@linaro.org Signed-off-by: Bartosz Golaszewski <brgl@bgdev.pl>
This commit is contained in:
committed by
Bartosz Golaszewski
parent
21d3c6531b
commit
097cf61ba5
@@ -204,13 +204,15 @@ static void __em_gio_set(struct gpio_chip *chip, unsigned int reg,
|
||||
(BIT(shift + 16)) | (value << shift));
|
||||
}
|
||||
|
||||
static void em_gio_set(struct gpio_chip *chip, unsigned offset, int value)
|
||||
static int em_gio_set(struct gpio_chip *chip, unsigned int offset, int value)
|
||||
{
|
||||
/* output is split into two registers */
|
||||
if (offset < 16)
|
||||
__em_gio_set(chip, GIO_OL, offset, value);
|
||||
else
|
||||
__em_gio_set(chip, GIO_OH, offset - 16, value);
|
||||
|
||||
return 0;
|
||||
}
|
||||
|
||||
static int em_gio_direction_output(struct gpio_chip *chip, unsigned offset,
|
||||
@@ -304,7 +306,7 @@ static int em_gio_probe(struct platform_device *pdev)
|
||||
gpio_chip->direction_input = em_gio_direction_input;
|
||||
gpio_chip->get = em_gio_get;
|
||||
gpio_chip->direction_output = em_gio_direction_output;
|
||||
gpio_chip->set = em_gio_set;
|
||||
gpio_chip->set_rv = em_gio_set;
|
||||
gpio_chip->to_irq = em_gio_to_irq;
|
||||
gpio_chip->request = pinctrl_gpio_request;
|
||||
gpio_chip->free = em_gio_free;
|
||||
|
||||
Reference in New Issue
Block a user