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