diff --git a/drivers/gpio/gpio_pca95xx.c b/drivers/gpio/gpio_pca95xx.c index 73d37cb5aa5..98f73bb10d0 100644 --- a/drivers/gpio/gpio_pca95xx.c +++ b/drivers/gpio/gpio_pca95xx.c @@ -121,8 +121,6 @@ static int read_port_regs(const struct device *dev, uint8_t reg, uint16_t *cache, uint16_t *buf) { const struct gpio_pca95xx_config * const config = dev->config; - struct gpio_pca95xx_drv_data * const drv_data = - (struct gpio_pca95xx_drv_data * const)dev->data; uint16_t port_data, value; int ret; @@ -160,8 +158,6 @@ static int write_port_regs(const struct device *dev, uint8_t reg, uint16_t *cache, uint16_t value) { const struct gpio_pca95xx_config * const config = dev->config; - struct gpio_pca95xx_drv_data * const drv_data = - (struct gpio_pca95xx_drv_data * const)dev->data; uint8_t buf[3]; int ret; @@ -592,7 +588,7 @@ static int gpio_pca95xx_pin_interrupt_configure(const struct device *dev, /* Enable / disable interrupt as needed */ if (active != drv_data->interrupt_active) { ret = gpio_pin_interrupt_configure_dt( - &int_gpio, active ? + &config->int_gpio, active ? GPIO_INT_EDGE_TO_ACTIVE : GPIO_INT_MODE_DISABLED); if (ret != 0) { @@ -686,8 +682,7 @@ static int gpio_pca95xx_init(const struct device *dev) if (!device_is_ready(config->int_gpio.port)) { LOG_ERR("PCA95XX[0x%X]: interrupt GPIO not ready", config->bus.addr); - err = -ENODEV; - goto err; + return -ENODEV; } ret = gpio_pin_configure_dt(&config->int_gpio, GPIO_INPUT); @@ -702,7 +697,7 @@ static int gpio_pca95xx_init(const struct device *dev) gpio_init_callback(&drv_data->gpio_callback, gpio_pca95xx_interrupt_callback, BIT(config->int_gpio.pin)); - gpio_add_callback(cfg->int_gpio.port, &drv_data->gpio_callback); + gpio_add_callback(config->int_gpio.port, &drv_data->gpio_callback); } #endif