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_DEVICES
This 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 <pbonz...@redhat.com>
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(-)