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
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
© 2016 - 2026 Red Hat, Inc.