Hi Peter, all, On 16/05/22 10:07, Peter Rosin wrote: > [Now with the proper email to Luca, sorry about that...] > > 2022-05-16 at 09:57, Peter Rosin wrote: >> 2022-05-14 at 16:26, Wolfram Sang wrote: >>> On Tue, Apr 12, 2022 at 10:50:45AM +0200, Vincent Whitchurch wrote: >>>> When drivers with ->detect callbacks are loaded, the I2C core does a >>>> bunch of transactions to try to probe for these devices, regardless of >>>> whether they are specified in the devicetree or not. (This only happens >>>> on I2C controllers whose drivers enable the I2C_CLASS* flags, but this >>>> is the case for generic drivers like i2c-gpio.) >>>> >>>> These kinds of transactions are unnecessary on systems where the >>>> devicetree specifies all the devices on the I2C bus, so add a property >>>> to indicate that the devicetree description of the hardware is complete >>>> and thus allow this discovery to be disabled. >>> Hmm, I don't think the name is fitting. "no-detect" is the desired >>> behaviour but a proper description is more like "bus-complete" or >>> something? >>> >>> That aside, I am not sure we should handle this at DT level. Maybe we >>> should better change the GPIO driver to not populate a class if we have >>> a firmware node? >> We also have the somewhat related address translation case (which I >> still need to look at). [Adding Luca to Cc] >> >> https://lore.kernel.org/lkml/20220206115939.3091265-1-luca@xxxxxxxxxxxxxxxx/ >> >> If a bus is "bus-complete", then address translation could use >> any unused address instead of from an explicit list of addresses. >> I.e. the "i2c-alias-pool" in the binding in patch 4/6 of that >> series could be made optional if the bus is "bus-complete". Indeed the alias pool is meant to completely disappear from the ATR implementation. The i2c core should evolve to know which addresses correspond to a device (no matter if it has a driver or not) and use any other addresses as aliases. This was the outcome of discussion on this topic with Wolfram, even though I AFAIK any implementation effort is idle since a long time. -- Luca