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

From: Guenter Roeck
Date: Sat Nov 20 2021 - 16:13:06 EST


On 11/20/21 12:40 PM, David Mosberger-Tang wrote:
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 +++++++++++++++++++
drivers/hwmon/sht4x.c | 7 +++

This needs to be two separate patches, one the devicetree change and the other
the source code change. DT maintainers need to be copied on the devicetree
patch.

Also, please consider adding the device to trivial-devices.yaml instead since
there are no special bindings.

Thanks,
Guenter

2 files changed, 57 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/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,