drivers: rtc: pcf8563: check if the node has an interrupt pin Verify if the int1_gpios property exists for the specific node. Signed-off-by: Jakub Topic <jakub.topic@anitra.cz>
diff --git a/drivers/rtc/rtc_pcf8563.c b/drivers/rtc/rtc_pcf8563.c index 4de14f6..c67f541 100644 --- a/drivers/rtc/rtc_pcf8563.c +++ b/drivers/rtc/rtc_pcf8563.c
@@ -413,6 +413,10 @@ struct pcf8563_data *data = dev->data; int ret; + if (config->int1.port == NULL) { + return -ENOTSUP; + } + if (id != 0) { LOG_ERR("invalid ID %d", id); return -EINVAL; @@ -471,14 +475,14 @@ if (!device_is_ready(config->i2c.bus)) { LOG_ERR("Failed to get pointer to %s device!", config->i2c.bus->name); - return -EINVAL; + return -ENODEV; } /* Check if it's alive. */ ret = i2c_reg_read_byte_dt(&config->i2c, PCF8563_CONTROL1_REGISTER, ®); if (ret) { LOG_ERR("Failed to read from PCF85063! (err %i)", ret); - return -EIO; + return -ENODEV; } LOG_INF("%s is initialized!", dev->name);