Re: [PATCH v6 00/10] Add the I3C subsystem

From: Peter Rosin
Date: Fri Jul 20 2018 - 07:14:10 EST


On 2018-07-20 12:57, Arnd Bergmann wrote:
> * What I understand from reading i2c-demux-pinctrl.c, a slave device
> will only ever be observable from one master at a time, when you
> switch over, all children get removed on one master and added to
> the other one, to be probed again by their respective drivers.
> I can see this as a useful feature on i3c as well, in particular to
> deal with the situation where we have i2c slaves connected to a
> pinmux that can switch them between an i3c master and an
> i2c-only master (possibly a gpio based one). That particular use
> case however doesn't seem to fix well in the current code, which
> is structure around i3c buses.

It's pretty easy to come up with examples where this reprobing is
not desirable at all. E.g. if one of the involved I2C devices is
a HDMI encoder (I have a TDA19988 here) sitting in the middle of the
graphics pipeline. Blink-blink on the screen because some *other*
unrelated device needed to be accessed by an alternative master. Not
pretty.

(No, I don't suffer from this since I don't need the demuxer. Which is
fortunate. This was just an example, I'm sure there are others.)

Cheers,
Peter