Re: [PATCH v11 1/7] i2c: add I2C Address Translator (ATR) support

From: Tomi Valkeinen
Date: Mon Apr 24 2023 - 07:01:59 EST


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