[PATCH v5 01/11] i2c: Enhance i2c_new_ancillary_device API

Geert Uytterhoeven geert at linux-m68k.org
Tue Jun 13 14:51:44 UTC 2023


Hi Biju,

On Tue, Jun 13, 2023 at 12:45 PM Biju Das <biju.das.jz at bp.renesas.com> wrote:
> > Subject: Re: [PATCH v5 01/11] i2c: Enhance i2c_new_ancillary_device API
> > On Mon, Jun 12, 2023 at 10:43 PM Wolfram Sang <wsa at kernel.org> wrote:
> > > > Perhaps we should first think through what an ancillary device
> > > > really is.  My understanding is that it is used to talk to secondary
> > > > addresses of a multi-address I2C slave device.
> > >
> > > As I mentioned somewhere before, this is not the case. Ancillary
> > > devices are when one *driver* handles more than one address.
> > > Everything else has been handled differently in the past (for  all the
> > uses I am aware of).
> > >
> > > Yet, I have another idea which is so simple that I wonder if it maybe
> > > has already been discussed so far?
> > >
> > > * have two regs in the bindings
> > > * use the second reg with i2c_new_client_device to instantiate the
> > >   RTC sibling. 'struct i2c_board_info', which is one parameter, should
> > >   have enough options to pass data, e.g it has a software_node.
> > >
> > > Should work or did I miss something here?
> >
> > That should work, mostly (i2c_new_dummy_device() also calls
> > i2c_new_client_device()).  And as i2c_board_info has an of_node member
> > (something I had missed before!), the new I2C device can access the clocks
> > in the DT node using the standard way.
>
> Looks like, I cannot assign of_node member like below as it results in pinctrl failure[1]
> during device bind.
>
> info.of_node = client->dev.of_node;
>
> [1]
> pinctrl-rzg2l 11030000.pinctrl: pin P43_0 already requested by 3-0012; cannot claim for 3-006f
> pinctrl-rzg2l 11030000.pinctrl: pin-344 (3-006f) status -22
> pinctrl-rzg2l 11030000.pinctrl: could not request pin 344 (P43_0) from group pmic  on device pinctrl-rzg2l
> raa215300 3-006f: Error applying setting, reverse things back

Where do you have a reference to pin P43_0 in your DT?
The last versions you posted did not have any pinctrl properties?

v6: https://lore.kernel.org/linux-renesas-soc/20230602142426.438375-5-biju.das.jz@bp.renesas.com
v5: https://lore.kernel.org/linux-renesas-soc/20230522101849.297499-12-biju.das.jz@bp.renesas.com

Gr{oetje,eeting}s,

                        Geert

-- 
Geert Uytterhoeven -- There's lots of Linux beyond ia32 -- geert at linux-m68k.org

In personal conversations with technical people, I call myself a hacker. But
when I'm talking to journalists I just say "programmer" or something like that.
                                -- Linus Torvalds


More information about the dri-devel mailing list