When iicbus is attached as child of controller[1] that have an ACPI handle, it scans all ACPI children for "I2C Serial Bus Connection Resource Descriptor" described in section 19.6.57 of ACPI specs.
If such a descriptor is found, I2C child is added to iicbus, its I2C address and ACPI handle are added to child ivars and all newbus resources including IRQs are copied from ACPI-hosted device to IICbus-hosted one [2].
This effectively makes a copy of existing ACPI device on top of I2C bus that allows to implement child device identification through ACPI HID/CID comparison
[1] currently it is restricted to Designware I2C controllers only.
[2] I2C bus speed is calculated as well. It is equal to speed of slowest device among the children.