drivers/sensor: iis2mdc: use gpio_dt_spec oriented macros
Use gpio_pin_configure_dt() and gpio_pin_interrupt_configure_dt() for drdy_gpio: they result in a more readable code. Moreover, this commit includes also the fix for PR #35156 (i.e. CID 235979, add check for gpio_pin_configure() return val). Signed-off-by: Armando Visconti <armando.visconti@st.com>
This commit is contained in:
parent
09a85ff84b
commit
24f345ee3e
1 changed files with 11 additions and 7 deletions
|
@ -62,8 +62,8 @@ static void iis2mdc_handle_interrupt(const struct device *dev)
|
||||||
iis2mdc->handler_drdy(dev, &drdy_trigger);
|
iis2mdc->handler_drdy(dev, &drdy_trigger);
|
||||||
}
|
}
|
||||||
|
|
||||||
gpio_pin_interrupt_configure(config->gpio_drdy.port, config->gpio_drdy.pin,
|
gpio_pin_interrupt_configure_dt(&config->gpio_drdy,
|
||||||
GPIO_INT_EDGE_TO_ACTIVE);
|
GPIO_INT_EDGE_TO_ACTIVE);
|
||||||
}
|
}
|
||||||
|
|
||||||
static void iis2mdc_gpio_callback(const struct device *dev,
|
static void iis2mdc_gpio_callback(const struct device *dev,
|
||||||
|
@ -75,7 +75,7 @@ static void iis2mdc_gpio_callback(const struct device *dev,
|
||||||
|
|
||||||
ARG_UNUSED(pins);
|
ARG_UNUSED(pins);
|
||||||
|
|
||||||
gpio_pin_interrupt_configure(dev, config->gpio_drdy.pin, GPIO_INT_DISABLE);
|
gpio_pin_interrupt_configure_dt(&config->gpio_drdy, GPIO_INT_DISABLE);
|
||||||
|
|
||||||
#if defined(CONFIG_IIS2MDC_TRIGGER_OWN_THREAD)
|
#if defined(CONFIG_IIS2MDC_TRIGGER_OWN_THREAD)
|
||||||
k_sem_give(&iis2mdc->gpio_sem);
|
k_sem_give(&iis2mdc->gpio_sem);
|
||||||
|
@ -108,6 +108,7 @@ int iis2mdc_init_interrupt(const struct device *dev)
|
||||||
{
|
{
|
||||||
struct iis2mdc_data *iis2mdc = dev->data;
|
struct iis2mdc_data *iis2mdc = dev->data;
|
||||||
const struct iis2mdc_dev_config *const config = dev->config;
|
const struct iis2mdc_dev_config *const config = dev->config;
|
||||||
|
int ret;
|
||||||
|
|
||||||
/* setup data ready gpio interrupt */
|
/* setup data ready gpio interrupt */
|
||||||
if (!device_is_ready(config->gpio_drdy.port)) {
|
if (!device_is_ready(config->gpio_drdy.port)) {
|
||||||
|
@ -126,8 +127,11 @@ int iis2mdc_init_interrupt(const struct device *dev)
|
||||||
iis2mdc->work.handler = iis2mdc_work_cb;
|
iis2mdc->work.handler = iis2mdc_work_cb;
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
gpio_pin_configure(config->gpio_drdy.port, config->gpio_drdy.pin,
|
ret = gpio_pin_configure_dt(&config->gpio_drdy, GPIO_INPUT);
|
||||||
GPIO_INPUT | config->gpio_drdy.dt_flags);
|
if (ret < 0) {
|
||||||
|
LOG_ERR("Could not configure gpio");
|
||||||
|
return ret;
|
||||||
|
}
|
||||||
|
|
||||||
gpio_init_callback(&iis2mdc->gpio_cb,
|
gpio_init_callback(&iis2mdc->gpio_cb,
|
||||||
iis2mdc_gpio_callback,
|
iis2mdc_gpio_callback,
|
||||||
|
@ -138,6 +142,6 @@ int iis2mdc_init_interrupt(const struct device *dev)
|
||||||
return -EIO;
|
return -EIO;
|
||||||
}
|
}
|
||||||
|
|
||||||
return gpio_pin_interrupt_configure(config->gpio_drdy.port, config->gpio_drdy.pin,
|
return gpio_pin_interrupt_configure_dt(&config->gpio_drdy,
|
||||||
GPIO_INT_EDGE_TO_ACTIVE);
|
GPIO_INT_EDGE_TO_ACTIVE);
|
||||||
}
|
}
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue