Kconfig: Add I2C_DEVICES device group
Currently there is no way for a board model's Kconfig stanza to say "I have an i2c bus which the user can plug an i2c device into, build all the free-standing i2c devices". The Kconfig mechanism for this is the "device group". Add an I2C_DEVICES group along the same lines as the existing PCI_DEVICES. Simple free-standing i2c devices which a user might plausibly want to be able to plug in on the QEMU commandline should have default y if I2C_DEVICES and board models which have an i2c bus that is user-accessible should use imply I2C_DEVICES to cause those pluggable devices to be built. In this commit we mark only a fairly conservative set of i2c devices as belonging to the I2C_DEVICES group: the simple sensors and RTCs (not including PMBus devices or devices which need GPIO lines to be connected). Signed-off-by: Peter Maydell <peter.maydell@linaro.org> Acked-by: Paolo Bonzini <pbonzini@redhat.com> Reviewed-by: Philippe Mathieu-Daudé <f4bug@amsat.org> Reviewed-by: Hao Wu <wuhaotsh@google.com> Message-id: 20220208155911.3408455-2-peter.maydell@linaro.org
This commit is contained in:
parent
92d6528dbb
commit
b5bf5a53d1
@ -192,11 +192,15 @@ declares its dependencies in different ways:
|
||||
no directive and are not used in the Makefile either; they only appear
|
||||
as conditions for ``default y`` directives.
|
||||
|
||||
QEMU currently has two device groups, ``PCI_DEVICES`` and
|
||||
``TEST_DEVICES``. PCI devices usually have a ``default y if
|
||||
QEMU currently has three device groups, ``PCI_DEVICES``, ``I2C_DEVICES``,
|
||||
and ``TEST_DEVICES``. PCI devices usually have a ``default y if
|
||||
PCI_DEVICES`` directive rather than just ``default y``. This lets
|
||||
some boards (notably s390) easily support a subset of PCI devices,
|
||||
for example only VFIO (passthrough) and virtio-pci devices.
|
||||
``I2C_DEVICES`` is similar to ``PCI_DEVICES``. It contains i2c devices
|
||||
that users might reasonably want to plug in to an i2c bus on any
|
||||
board (and not ones which are very board-specific or that need
|
||||
to be wired up in a way that can't be done on the command line).
|
||||
``TEST_DEVICES`` instead is used for devices that are rarely used on
|
||||
production virtual machines, but provide useful hooks to test QEMU
|
||||
or KVM.
|
||||
|
@ -1,6 +1,11 @@
|
||||
config I2C
|
||||
bool
|
||||
|
||||
config I2C_DEVICES
|
||||
# Device group for i2c devices which can reasonably be user-plugged
|
||||
# to any board's i2c bus
|
||||
bool
|
||||
|
||||
config SMBUS
|
||||
bool
|
||||
select I2C
|
||||
|
@ -1,10 +1,12 @@
|
||||
config DS1338
|
||||
bool
|
||||
depends on I2C
|
||||
default y if I2C_DEVICES
|
||||
|
||||
config M41T80
|
||||
bool
|
||||
depends on I2C
|
||||
default y if I2C_DEVICES
|
||||
|
||||
config M48T59
|
||||
bool
|
||||
|
@ -1,18 +1,22 @@
|
||||
config TMP105
|
||||
bool
|
||||
depends on I2C
|
||||
default y if I2C_DEVICES
|
||||
|
||||
config TMP421
|
||||
bool
|
||||
depends on I2C
|
||||
default y if I2C_DEVICES
|
||||
|
||||
config DPS310
|
||||
bool
|
||||
depends on I2C
|
||||
default y if I2C_DEVICES
|
||||
|
||||
config EMC141X
|
||||
bool
|
||||
depends on I2C
|
||||
default y if I2C_DEVICES
|
||||
|
||||
config ADM1272
|
||||
bool
|
||||
@ -25,3 +29,4 @@ config MAX34451
|
||||
config LSM303DLHC_MAG
|
||||
bool
|
||||
depends on I2C
|
||||
default y if I2C_DEVICES
|
||||
|
Loading…
Reference in New Issue
Block a user