On 24/04/2023 13:51, Tomi Valkeinen wrote:
On 24/04/2023 13:31, Wolfram Sang wrote:
On Fri, Apr 21, 2023 at 01:18:27PM +0300, Tomi Valkeinen wrote:
From: Luca Ceresoli <luca@xxxxxxxxxxxxxxxx>
An ATR is a device that looks similar to an i2c-mux: it has an I2C
slave "upstream" port and N master "downstream" ports, and forwards
transactions from upstream to the appropriate downstream port. But it
is different in that the forwarded transaction has a different slave
address. The address used on the upstream bus is called the "alias"
and is (potentially) different from the physical slave address of the
downstream chip.
Add a helper file (just like i2c-mux.c for a mux or switch) to allow
implementing ATR features in a device driver. The helper takes care or
adapter creation/destruction and translates addresses at each
transaction.
Signed-off-by: Luca Ceresoli <luca@xxxxxxxxxxxxxxxx>
Signed-off-by: Tomi Valkeinen <tomi.valkeinen@xxxxxxxxxxxxxxxx>
Reviewed-by: Andy Shevchenko <andriy.shevchenko@xxxxxxxxxxxxxxx>
This looks good to me. Dunno if the DT folks want the binding as a
seperate patch, but this is good to go as far as I am concerned.
Ah, right. I'll resend with the DT bindings separate.
Also, looks like I forgot to remove the namespaces for export symbols.
Tomi