mirror of https://github.com/xemu-project/xemu.git
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
|
no directive and are not used in the Makefile either; they only appear
|
||||||
as conditions for ``default y`` directives.
|
as conditions for ``default y`` directives.
|
||||||
|
|
||||||
QEMU currently has two device groups, ``PCI_DEVICES`` and
|
QEMU currently has three device groups, ``PCI_DEVICES``, ``I2C_DEVICES``,
|
||||||
``TEST_DEVICES``. PCI devices usually have a ``default y if
|
and ``TEST_DEVICES``. PCI devices usually have a ``default y if
|
||||||
PCI_DEVICES`` directive rather than just ``default y``. This lets
|
PCI_DEVICES`` directive rather than just ``default y``. This lets
|
||||||
some boards (notably s390) easily support a subset of PCI devices,
|
some boards (notably s390) easily support a subset of PCI devices,
|
||||||
for example only VFIO (passthrough) and virtio-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
|
``TEST_DEVICES`` instead is used for devices that are rarely used on
|
||||||
production virtual machines, but provide useful hooks to test QEMU
|
production virtual machines, but provide useful hooks to test QEMU
|
||||||
or KVM.
|
or KVM.
|
||||||
|
|
|
@ -1,6 +1,11 @@
|
||||||
config I2C
|
config I2C
|
||||||
bool
|
bool
|
||||||
|
|
||||||
|
config I2C_DEVICES
|
||||||
|
# Device group for i2c devices which can reasonably be user-plugged
|
||||||
|
# to any board's i2c bus
|
||||||
|
bool
|
||||||
|
|
||||||
config SMBUS
|
config SMBUS
|
||||||
bool
|
bool
|
||||||
select I2C
|
select I2C
|
||||||
|
|
|
@ -1,10 +1,12 @@
|
||||||
config DS1338
|
config DS1338
|
||||||
bool
|
bool
|
||||||
depends on I2C
|
depends on I2C
|
||||||
|
default y if I2C_DEVICES
|
||||||
|
|
||||||
config M41T80
|
config M41T80
|
||||||
bool
|
bool
|
||||||
depends on I2C
|
depends on I2C
|
||||||
|
default y if I2C_DEVICES
|
||||||
|
|
||||||
config M48T59
|
config M48T59
|
||||||
bool
|
bool
|
||||||
|
|
|
@ -1,18 +1,22 @@
|
||||||
config TMP105
|
config TMP105
|
||||||
bool
|
bool
|
||||||
depends on I2C
|
depends on I2C
|
||||||
|
default y if I2C_DEVICES
|
||||||
|
|
||||||
config TMP421
|
config TMP421
|
||||||
bool
|
bool
|
||||||
depends on I2C
|
depends on I2C
|
||||||
|
default y if I2C_DEVICES
|
||||||
|
|
||||||
config DPS310
|
config DPS310
|
||||||
bool
|
bool
|
||||||
depends on I2C
|
depends on I2C
|
||||||
|
default y if I2C_DEVICES
|
||||||
|
|
||||||
config EMC141X
|
config EMC141X
|
||||||
bool
|
bool
|
||||||
depends on I2C
|
depends on I2C
|
||||||
|
default y if I2C_DEVICES
|
||||||
|
|
||||||
config ADM1272
|
config ADM1272
|
||||||
bool
|
bool
|
||||||
|
@ -25,3 +29,4 @@ config MAX34451
|
||||||
config LSM303DLHC_MAG
|
config LSM303DLHC_MAG
|
||||||
bool
|
bool
|
||||||
depends on I2C
|
depends on I2C
|
||||||
|
default y if I2C_DEVICES
|
||||||
|
|
Loading…
Reference in New Issue