On Mon, May 06, 2019 at 09:40:19PM +0200, Andrew Lunn wrote: > On Mon, May 06, 2019 at 07:59:51AM +0300, Mika Westerberg wrote: > > On Sun, May 05, 2019 at 03:05:23PM -0700, Ruslan Babayev wrote: > > > Lookup I2C adapter using the "i2c-bus" device property on ACPI based > > > systems similar to how it's done with DT. > > > > > > An example DSD describing an SFP on an ACPI based system: > > > > > > Device (SFP0) > > > { > > > Name (_HID, "PRP0001") > > > Name (_DSD, Package () > > > { > > > ToUUID ("daffd814-6eba-4d8c-8a91-bc9bbf4aa301"), > > > Package () { > > > Package () { "compatible", "sff,sfp" }, > > > Package () { "i2c-bus", \_SB.PCI0.RP01.I2C.MUX.CH0 }, > > > > Hmm, ACPI has I2cSerialBusV2() resource for this purpose. Why you are not > > using that? > > Hi Mika > > Does that reference the bus as a whole, or a device on the bus? It references a single device on the bus. > The SFP subsystem needs a reference to the bus as a whole. There can > be an at24 like EEPROM at addresses 0x50 and 0x51. There can be an > MDIO bus encapsulated in i2c at addresses 0x40-0x5f, excluding 0x50 > and 0x51. What actually is there depends on the SFP module which is > plugged into the SFP cage, and it is all hot-plugable. Yeah, as I replied on the other email I2CSerialBusV2() cannot really be used here. I did not realize that the device is referencing the whole bus.