Re: [PATCH v1] max77663-rtc: pass rtc address from device tree node if exists

From: Alexandre Belloni
Date: Wed Mar 08 2023 - 03:45:05 EST


Hello,

the subject is not correct, please use the subsystem style

On 08/03/2023 10:37:59+0200, Svyatoslav Ryhel wrote:
> MAX77663 PMIC can have RTC on both 0x63 i2c address (like grouper)
> which is main address but on some devices RTC is located on 0x48
> i2c address (like p880 and p895 from LG). Lets add property to be
> able to use alternative address if needed without breaking existing
> bindings.
>
> Signed-off-by: Svyatoslav Ryhel <clamor95@xxxxxxxxx>
> ---
> drivers/rtc/rtc-max77686.c | 8 +++++++-
> 1 file changed, 7 insertions(+), 1 deletion(-)
>
> diff --git a/drivers/rtc/rtc-max77686.c b/drivers/rtc/rtc-max77686.c
> index b0250d91fb00..218177375531 100644
> --- a/drivers/rtc/rtc-max77686.c
> +++ b/drivers/rtc/rtc-max77686.c
> @@ -691,6 +691,7 @@ static int max77686_init_rtc_regmap(struct max77686_rtc_info *info)
> {
> struct device *parent = info->dev->parent;
> struct i2c_client *parent_i2c = to_i2c_client(parent);
> + int rtc_i2c_addr;
> int ret;
>
> if (info->drv_data->rtc_irq_from_platform) {
> @@ -714,8 +715,13 @@ static int max77686_init_rtc_regmap(struct max77686_rtc_info *info)
> goto add_rtc_irq;
> }
>
> + ret = device_property_read_u32(parent, "maxim,rtc-i2c-address",
> + &rtc_i2c_addr);

This property needs to be documented

> + if (ret)
> + rtc_i2c_addr = info->drv_data->rtc_i2c_addr;
> +
> info->rtc = devm_i2c_new_dummy_device(info->dev, parent_i2c->adapter,
> - info->drv_data->rtc_i2c_addr);
> + rtc_i2c_addr);
> if (IS_ERR(info->rtc)) {
> dev_err(info->dev, "Failed to allocate I2C device for RTC\n");
> return PTR_ERR(info->rtc);
> --
> 2.37.2
>

--
Alexandre Belloni, co-owner and COO, Bootlin
Embedded Linux and Kernel engineering
https://bootlin.com