[PATCH 3/3] hwmon: (sht3x) Add support for GXCAS GXHT30

Zaixiang Xu posted 3 patches 2 weeks, 3 days ago
There is a newer version of this series
[PATCH 3/3] hwmon: (sht3x) Add support for GXCAS GXHT30
Posted by Zaixiang Xu 2 weeks, 3 days ago
Add support for GXCAS GXHT30 sensor to the sht3x driver. The GXHT30 is software compatible with the Sensirion SHT3x series.

Signed-off-by: Zaixiang Xu <zaixiang.xu.dev@gmail.com>
---
 drivers/hwmon/sht3x.c | 16 +++++++++++++++-
 1 file changed, 15 insertions(+), 1 deletion(-)

diff --git a/drivers/hwmon/sht3x.c b/drivers/hwmon/sht3x.c
index 08306ccb6d0b..4e2e5671610a 100644
--- a/drivers/hwmon/sht3x.c
+++ b/drivers/hwmon/sht3x.c
@@ -934,13 +934,26 @@ static const struct i2c_device_id sht3x_ids[] = {
 	{"sht3x", sht3x},
 	{"sts3x", sts3x},
 	{"sht85", sht3x},
+	{"gxht30", sht3x},
 	{}
 };
 
 MODULE_DEVICE_TABLE(i2c, sht3x_ids);
 
+static const struct of_device_id sht3x_of_match[] = {
+	{ .compatible = "sensirion,sht3x" },
+	{ .compatible = "sensirion,sts3x" },
+	{ .compatible = "sensirion,sht85" },
+	{ .compatible = "gxcas,gxht30" },
+	{ }
+};
+MODULE_DEVICE_TABLE(of, sht3x_of_match);
+
 static struct i2c_driver sht3x_i2c_driver = {
-	.driver.name = "sht3x",
+	.driver = {
+		.name = "sht3x",
+		.of_match_table = sht3x_of_match,
+	},
 	.probe       = sht3x_probe,
 	.id_table    = sht3x_ids,
 };
@@ -948,5 +961,6 @@ module_i2c_driver(sht3x_i2c_driver);
 
 MODULE_AUTHOR("David Frey <david.frey@sensirion.com>");
 MODULE_AUTHOR("Pascal Sachs <pascal.sachs@sensirion.com>");
+MODULE_AUTHOR("Your Name <zaixiang.xu.dev@gmail.com>");
 MODULE_DESCRIPTION("Sensirion SHT3x humidity and temperature sensor driver");
 MODULE_LICENSE("GPL");
-- 
2.34.1
Re: [PATCH 3/3] hwmon: (sht3x) Add support for GXCAS GXHT30
Posted by Krzysztof Kozlowski 2 weeks, 3 days ago
On 19/03/2026 12:19, Zaixiang Xu wrote:
> Add support for GXCAS GXHT30 sensor to the sht3x driver. The GXHT30 is software compatible with the Sensirion SHT3x series.

Please wrap commit message according to Linux coding style / submission
process (neither too early nor over the limit):
https://elixir.bootlin.com/linux/v6.4-rc1/source/Documentation/process/submitting-patches.rst#L597

> 
> Signed-off-by: Zaixiang Xu <zaixiang.xu.dev@gmail.com>
> ---
>  drivers/hwmon/sht3x.c | 16 +++++++++++++++-
>  1 file changed, 15 insertions(+), 1 deletion(-)
> 
> diff --git a/drivers/hwmon/sht3x.c b/drivers/hwmon/sht3x.c
> index 08306ccb6d0b..4e2e5671610a 100644
> --- a/drivers/hwmon/sht3x.c
> +++ b/drivers/hwmon/sht3x.c
> @@ -934,13 +934,26 @@ static const struct i2c_device_id sht3x_ids[] = {
>  	{"sht3x", sht3x},
>  	{"sts3x", sts3x},
>  	{"sht85", sht3x},
> +	{"gxht30", sht3x},
>  	{}
>  };
>  
>  MODULE_DEVICE_TABLE(i2c, sht3x_ids);
>  
> +static const struct of_device_id sht3x_of_match[] = {
> +	{ .compatible = "sensirion,sht3x" },
> +	{ .compatible = "sensirion,sts3x" },
> +	{ .compatible = "sensirion,sht85" },
> +	{ .compatible = "gxcas,gxht30" },

If this does not go to trivial devices, then they all look compatible so
this should be expressed with fallback.

> +	{ }
> +};
> +MODULE_DEVICE_TABLE(of, sht3x_of_match);
> +
>  static struct i2c_driver sht3x_i2c_driver = {
> -	.driver.name = "sht3x",
> +	.driver = {
> +		.name = "sht3x",
> +		.of_match_table = sht3x_of_match,
> +	},
>  	.probe       = sht3x_probe,
>  	.id_table    = sht3x_ids,
>  };
> @@ -948,5 +961,6 @@ module_i2c_driver(sht3x_i2c_driver);
>  
>  MODULE_AUTHOR("David Frey <david.frey@sensirion.com>");
>  MODULE_AUTHOR("Pascal Sachs <pascal.sachs@sensirion.com>");
> +MODULE_AUTHOR("Your Name <zaixiang.xu.dev@gmail.com>");

Your or my name?

>  MODULE_DESCRIPTION("Sensirion SHT3x humidity and temperature sensor driver");
>  MODULE_LICENSE("GPL");


Best regards,
Krzysztof