diff --git a/drivers/sensor/adt7420/adt7420_trigger.c b/drivers/sensor/adt7420/adt7420_trigger.c index fa75c8908fa..0affa74b7bf 100644 --- a/drivers/sensor/adt7420/adt7420_trigger.c +++ b/drivers/sensor/adt7420/adt7420_trigger.c @@ -130,6 +130,7 @@ int adt7420_init_interrupt(const struct device *dev) { struct adt7420_data *drv_data = dev->data; const struct adt7420_dev_config *cfg = dev->config; + int rc; drv_data->gpio = device_get_binding(cfg->int_name); if (drv_data->gpio == NULL) { @@ -142,14 +143,14 @@ int adt7420_init_interrupt(const struct device *dev) adt7420_gpio_callback, BIT(cfg->int_pin)); - int rc = gpio_pin_configure(drv_data->gpio, cfg->int_pin, - GPIO_INPUT | cfg->int_flags); - if (rc == 0) { - gpio_add_callback(drv_data->gpio, &drv_data->gpio_cb); + rc = gpio_pin_configure(drv_data->gpio, cfg->int_pin, + GPIO_INPUT | cfg->int_flags); + if (rc < 0) { + return rc; } - if (rc != 0) { - LOG_DBG("Failed to set gpio callback!"); + rc = gpio_add_callback(drv_data->gpio, &drv_data->gpio_cb); + if (rc < 0) { return rc; }