Re: [PATCH v1] max77663-rtc: pass rtc address from device tree node if exists
From: Svyatoslav Ryhel
Date: Wed Mar 08 2023 - 03:46:40 EST
ср, 8 бер. 2023 р. о 10:44 Alexandre Belloni
<alexandre.belloni@xxxxxxxxxxx> пише:
>
> 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
>
max776xx pmic has no yaml to document
> > + 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