+void pc_smbus_init(PCSMBus *smb) +{ + smb->smbus = i2c_init_bus(NULL, "i2c"); +}
This function should take a additional "DeviceState *parent" argument and pass it down to i2c_init_bus() instead of NULL. Patch #21 (acpi_piix4: qdevfy) should pass the piix4-pm DeviceState to pc_smbus_init(). Then the smbus and all connected devices should be correctly hooked up in the device tree and visible in 'info qtree'.
cheers, Gerd