2021-11-20 20:41:03

by David Mosberger-Tang

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

This patch enables automatic loading of the sht4x module via a device
tree table entry.

Signed-off-by: David Mosberger-Tang <[email protected]>
---
.../bindings/hwmon/sensirion,sht4x.yaml | 50 +++++++++++++++++++
drivers/hwmon/sht4x.c | 7 +++
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 [email protected]
+
+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,
--
2.25.1



2021-11-20 21:13:04

by Guenter Roeck

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

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 <[email protected]>
> ---
> .../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 [email protected]
> +
> +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,
>


2021-11-20 21:36:49

by David Mosberger-Tang

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

On Sat, 2021-11-20 at 13:12 -0800, Guenter Roeck wrote:
> 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 <[email protected]>
> > ---
> > .../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.

Isn't that going to be confusing if one but not the other patch makes
it into a repository? Either you end up with an undocumented device
tree property or you end up with documentation for an unsupported
property.

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

I didn't know it existed. Sure, that's much easier.

--david

> 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 [email protected]
> > +
> > +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,
> >


2021-11-20 21:51:54

by Guenter Roeck

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

On Sat, Nov 20, 2021 at 02:36:39PM -0700, David Mosberger-Tang wrote:
> On Sat, 2021-11-20 at 13:12 -0800, Guenter Roeck wrote:
> > 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 <[email protected]>
> > > ---
> > > .../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.
>
> Isn't that going to be confusing if one but not the other patch makes
> it into a repository? Either you end up with an undocumented device
> tree property or you end up with documentation for an unsupported
> property.
>
This is a trivial device, so that isn't really an issue. Otherwise,
if there are real bindings to approve, I would not accept the patch
making the code change unless the devicetree patch is approved,
and I would typically apply both together.

Anyway, those are the rules. Devicetree patches need to be sent
separately and approved by a devicetree maintainer. We should not
[have to] discuss rules here. If you are unhappy with it, I would
suggest to start a discussion on the devicetree mailing list and
suggest alternatives.

Thanks,
Guenter

2021-11-21 16:15:31

by David Mosberger-Tang

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

On Sat, 2021-11-20 at 13:51 -0800, Guenter Roeck wrote:
> On Sat, Nov 20, 2021 at 02:36:39PM -0700, David Mosberger-Tang wrote:
> > On Sat, 2021-11-20 at 13:12 -0800, Guenter Roeck wrote:
> > > 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 <[email protected]>
> > > > ---
> > > > .../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.
> >
> > Isn't that going to be confusing if one but not the other patch makes
> > it into a repository? Either you end up with an undocumented device
> > tree property or you end up with documentation for an unsupported
> > property.
> >
> This is a trivial device, so that isn't really an issue. Otherwise,
> if there are real bindings to approve, I would not accept the patch
> making the code change unless the devicetree patch is approved,
> and I would typically apply both together.

Got it, thanks for the explanation.

--david