aboutsummaryrefslogtreecommitdiff
path: root/hw
diff options
context:
space:
mode:
authorPeter Maydell <peter.maydell@linaro.org>2022-02-08 15:59:10 +0000
committerPeter Maydell <peter.maydell@linaro.org>2022-02-21 13:30:20 +0000
commitb5bf5a53d1e02eb0c7fdc6271e10ebd0eda79813 (patch)
treeabe3652f5e015ed5ada772d544ad825bfc588752 /hw
parent92d6528dbb20c6aec4022dfd63c7ffee44f19f77 (diff)
downloadqemu-b5bf5a53d1e02eb0c7fdc6271e10ebd0eda79813.zip
qemu-b5bf5a53d1e02eb0c7fdc6271e10ebd0eda79813.tar.gz
qemu-b5bf5a53d1e02eb0c7fdc6271e10ebd0eda79813.tar.bz2
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
Diffstat (limited to 'hw')
-rw-r--r--hw/i2c/Kconfig5
-rw-r--r--hw/rtc/Kconfig2
-rw-r--r--hw/sensor/Kconfig5
3 files changed, 12 insertions, 0 deletions
diff --git a/hw/i2c/Kconfig b/hw/i2c/Kconfig
index 8217cb5..9bb8870 100644
--- a/hw/i2c/Kconfig
+++ b/hw/i2c/Kconfig
@@ -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
diff --git a/hw/rtc/Kconfig b/hw/rtc/Kconfig
index f06e133..730c272 100644
--- a/hw/rtc/Kconfig
+++ b/hw/rtc/Kconfig
@@ -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
diff --git a/hw/sensor/Kconfig b/hw/sensor/Kconfig
index b317f91..215944d 100644
--- a/hw/sensor/Kconfig
+++ b/hw/sensor/Kconfig
@@ -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