This patch enables automatic loading of the sht4x module via a device tree table entry. Signed-off-by: David Mosberger-Tang <davidm@xxxxxxxxxx> --- .../bindings/hwmon/sensirion,sht4x.yaml | 50 +++++++++++++++++++ arch/arm/boot/dts/egauge-cpk.dts | 5 ++ drivers/hwmon/sht4x.c | 7 +++ 3 files changed, 62 insertions(+) create mode 100644 Documentation/devicetree/bindings/hwmon/sensirion,sht4x.yaml diff --git a/Documentation/devicetree/bindings/hwmon/sensirion,sht4x.yaml b/Documentation/devicetree/bindings/hwmon/sensirion,sht4x.yaml new file mode 100644 index 000000000000..588c2e37b035 --- /dev/null +++ b/Documentation/devicetree/bindings/hwmon/sensirion,sht4x.yaml @@ -0,0 +1,50 @@ +# SPDX-License-Identifier: GPL-2.0-only OR BSD-2-Clause +%YAML 1.2 +--- +$id: http://devicetree.org/schemas/hwmon/sensirion,sht4x.yaml# +$schema: http://devicetree.org/meta-schemas/core.yaml# + +title: Sensirion SHT4x Humidity and Temperature Sensor IC + +maintainers: + - Navin Sankar Velliangiri navin@xxxxxxxxxxx + +description: | + The SHT4x is a high-accuracy digital humidity and temperature sensor + designed especially for battery-driven high-volume consumer + electronics applications. For further information refere to + Documentation/hwmon/sht4x.rst + + This binding document describes the binding for the hardware monitor + portion of the driver. + +properties: + compatible: + enum: + - sensirion,sht4x + + reg: + const: 0x44 + description: + The I2c base address of the SHT4x. 0x44 for all chip versions + except for SHT41-BD1B, where it is 0x45. + +required: + - compatible + - reg + +additionalProperties: false + +examples: + - | + i2c { + #address-cells = <1>; + #size-cells = <0>; + clock-frequency = <400000>; + + sht4x@44 { + compatible = "sensirion,sht4x"; + reg = <0x44>; + }; + }; +... diff --git a/arch/arm/boot/dts/egauge-cpk.dts b/arch/arm/boot/dts/egauge-cpk.dts index 17f85b2d54a2..ee8b52c92248 100644 --- a/arch/arm/boot/dts/egauge-cpk.dts +++ b/arch/arm/boot/dts/egauge-cpk.dts @@ -477,6 +477,11 @@ tmp102@48 { reg = <0x48>; pagesize = <16>; }; + + sht4x@44 { + compatible = "sensirion,sht4x"; + reg = <0x44>; + }; }; securam: sram@f8044000 { diff --git a/drivers/hwmon/sht4x.c b/drivers/hwmon/sht4x.c index 3415d7a0e0fc..6e53d81e32d4 100644 --- a/drivers/hwmon/sht4x.c +++ b/drivers/hwmon/sht4x.c @@ -281,9 +281,16 @@ static const struct i2c_device_id sht4x_id[] = { }; MODULE_DEVICE_TABLE(i2c, sht4x_id); +static const struct of_device_id sht4x_of_match[] = { + { .compatible = "sensirion,sht4x" }, + { } +}; +MODULE_DEVICE_TABLE(of, sht4x_of_match); + static struct i2c_driver sht4x_driver = { .driver = { .name = "sht4x", + .of_match_table = sht4x_of_match }, .probe = sht4x_probe, .id_table = sht4x_id, -- 2.25.1