[PATCH 2/2] hwmon: (sht4x) Add device tree match table and document it

From: David Mosberger-Tang
Date: Sat Nov 20 2021 - 16:07:06 EST


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