1
1

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>
This commit is contained in:
John Audia 2025-12-18 12:51:33 -05:00 committed by Robert Marko
parent bc4e7fd38e
commit ed836b1a9d

View File

@ -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_get(struct gpio_chip *chip, unsigned offset);
static int nct5104d_gpio_direction_out(struct gpio_chip *chip, static int nct5104d_gpio_direction_out(struct gpio_chip *chip,
unsigned offset, int value); 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); static void nct5104d_gpio_set(struct gpio_chip *chip, unsigned offset, int value);
#endif
#define NCT5104D_GPIO_BANK(_base, _ngpio, _regbase) \ #define NCT5104D_GPIO_BANK(_base, _ngpio, _regbase) \
{ \ { \
.chip = { \ .chip = { \
@ -219,7 +222,11 @@ static int nct5104d_gpio_direction_out(struct gpio_chip *chip,
return 0; 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) static void nct5104d_gpio_set(struct gpio_chip *chip, unsigned offset, int value)
#endif
{ {
int err; int err;
struct nct5104d_gpio_bank *bank = gpiochip_get_data(chip); 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); err = superio_enter(sio->addr);
if (err) if (err)
#if LINUX_VERSION_CODE >= KERNEL_VERSION(6,17,0)
return err;
#else
return; return;
#endif
superio_select(sio->addr, SIO_LD_GPIO); superio_select(sio->addr, SIO_LD_GPIO);
data_out = superio_inb(sio->addr, gpio_data(bank->regbase)); 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_outb(sio->addr, gpio_data(bank->regbase), data_out);
superio_exit(sio->addr); superio_exit(sio->addr);
#if LINUX_VERSION_CODE >= KERNEL_VERSION(6,17,0)
return 0;
#endif
} }
/* /*