diff options
| author | John Audia | 2025-12-18 17:51:33 +0000 |
|---|---|---|
| committer | Robert Marko | 2025-12-30 09:44:05 +0000 |
| commit | ed836b1a9d86777cc37fa5b3765aea8b5addd876 (patch) | |
| tree | 2584b1805559fca66363883bcfbb538b9a7ad8af | |
| parent | bc4e7fd38ee1925c3cec8c2fe4730f334ca6be1e (diff) | |
| download | openwrt-ed836b1a9d86777cc37fa5b3765aea8b5addd876.tar.gz | |
package: gpio-nct5104d: adapt to kernel 6.18
- Changing return type from void to int
- Returning error code instead of void on superio_enter() failure
- Returning 0 on success
Signed-off-by: John Audia <therealgraysky@proton.me>
Link: https://github.com/openwrt/openwrt/pull/21218
Signed-off-by: Robert Marko <robimarko@gmail.com>
| -rw-r--r-- | package/kernel/gpio-nct5104d/src/gpio-nct5104d.c | 17 |
1 files changed, 16 insertions, 1 deletions
diff --git a/package/kernel/gpio-nct5104d/src/gpio-nct5104d.c b/package/kernel/gpio-nct5104d/src/gpio-nct5104d.c index ffeab29eda..6dce1c2960 100644 --- a/package/kernel/gpio-nct5104d/src/gpio-nct5104d.c +++ b/package/kernel/gpio-nct5104d/src/gpio-nct5104d.c @@ -124,8 +124,11 @@ static int nct5104d_gpio_direction_in(struct gpio_chip *chip, unsigned offset); static int nct5104d_gpio_get(struct gpio_chip *chip, unsigned offset); static int nct5104d_gpio_direction_out(struct gpio_chip *chip, unsigned offset, int value); +#if LINUX_VERSION_CODE >= KERNEL_VERSION(6,17,0) +static int nct5104d_gpio_set(struct gpio_chip *chip, unsigned offset, int value); +#else static void nct5104d_gpio_set(struct gpio_chip *chip, unsigned offset, int value); - +#endif #define NCT5104D_GPIO_BANK(_base, _ngpio, _regbase) \ { \ .chip = { \ @@ -219,7 +222,11 @@ static int nct5104d_gpio_direction_out(struct gpio_chip *chip, return 0; } +#if LINUX_VERSION_CODE >= KERNEL_VERSION(6,17,0) +static int nct5104d_gpio_set(struct gpio_chip *chip, unsigned offset, int value) +#else static void nct5104d_gpio_set(struct gpio_chip *chip, unsigned offset, int value) +#endif { int err; struct nct5104d_gpio_bank *bank = gpiochip_get_data(chip); @@ -228,7 +235,11 @@ static void nct5104d_gpio_set(struct gpio_chip *chip, unsigned offset, int value err = superio_enter(sio->addr); if (err) +#if LINUX_VERSION_CODE >= KERNEL_VERSION(6,17,0) + return err; +#else return; +#endif superio_select(sio->addr, SIO_LD_GPIO); data_out = superio_inb(sio->addr, gpio_data(bank->regbase)); @@ -239,6 +250,10 @@ static void nct5104d_gpio_set(struct gpio_chip *chip, unsigned offset, int value superio_outb(sio->addr, gpio_data(bank->regbase), data_out); superio_exit(sio->addr); + +#if LINUX_VERSION_CODE >= KERNEL_VERSION(6,17,0) + return 0; +#endif } /* |