On 2/8/22 16:59, Peter Maydell wrote:
This patchset adds a new Kconfig "device group" for I2C devices which a user might reasonably want to plug in to an arbitrary i2c bus via the command line. This follows the approach we use for PCI devices: generally-usable i2c devices have default y if I2C_DEVICES and board models with user-accessible i2c buses have imply I2C_DEVICESThis means that when building a board model that pulls in the device group, the devices are all compiled in and available for use. (Previously they would happen to be present and usable only if some other board that explicitly pulled that device in happened to also be built into the same QEMU binary.) I have been fairly conservative in marking devices as being in the group and in marking board models as pulling in the group; feel free to suggest changes. In particular I've only added 'imply I2C_DEVICES' to arm boards. Grepping through Kconfig files I only found the PPC boards e500 and ppc44x that enable some kind of i2c controller anyway. The immediate motivation here is that the recently added lsm303dlhc magnetometer isn't currently built unless the user manually adds it to their config, because as it happens no boards have it as a hard-wired device.
Acked-by: Paolo Bonzini <[email protected]>
thanks -- PMM Peter Maydell (2): Kconfig: Add I2C_DEVICES device group Kconfig: Add 'imply I2C_DEVICES' on boards with available i2c bus docs/devel/kconfig.rst | 8 ++++++-- hw/arm/Kconfig | 10 ++++++++++ hw/i2c/Kconfig | 5 +++++ hw/rtc/Kconfig | 2 ++ hw/sensor/Kconfig | 5 +++++ 5 files changed, 28 insertions(+), 2 deletions(-)
