dt-bindings: hwmon: lm75: Add label property
Subsystems (2)
PATCH 1/2 dt-bindings: hwmon: lm75: Add label property
Add support for an optional label property similar to other hwmon devices. This allows, in case of boards with multiple LM75 sensors, to assign distinct names to each instance.
--- Documentation/devicetree/bindings/hwmon/lm75.yaml | 2 ++ 1 file changed, 2 insertions(+)
Documentation/devicetree/bindings/hwmon/lm75.yaml +2 -0
@@ -87,6 +87,7 @@ examples: compatible = "st,stlm75"; reg = <0x48>; vs-supply = <&vs>; + label = "somelabel"; }; }; - |
@@ -101,5 +102,6 @@ examples: vs-supply = <&vs>; interrupt-parent = <&gpio1>; interrupts = <17 IRQ_TYPE_EDGE_BOTH>; + label = "somelabel"; }; };
Signature · 1 line
2.43.0
PATCH 2/2 hwmon: lm75: Add support for label
Add support for label sysfs attribute similar to other hwmon devices. This is particularly useful for systems with multiple sensors on the same board, where identifying individual sensors is much easier since labels can be defined via device tree.
--- drivers/hwmon/lm75.c | 20 +++++++++++++++++++- 1 file changed, 19 insertions(+), 1 deletion(-)
drivers/hwmon/lm75.c +19 -1
@@ -108,6 +108,7 @@ static const unsigned short normal_i2c[] = { 0x48, 0x49, 0x4a, 0x4b, 0x4c,#define PCT2075_REG_IDLE 0x04struct lm75_data { +const char *label;struct regmap *regmap;u16 orig_conf;u8 resolution;/* In bits, 9 to 16 */
@@ -363,6 +364,16 @@ static irqreturn_t lm75_alarm_handler(int irq, void *private)return IRQ_HANDLED ; } +static int lm75_read_string (struct device *dev,enum hwmon_sensor_types type, +u32 attr,int channel,const char **str) +{ +struct lm75_data *data =dev_get_drvdata (dev); + + *str = data->label; + +return 0 ; +} +static int lm75_read (struct device *dev,enum hwmon_sensor_types type,u32 attr,int channel,long *val) {
@@ -534,6 +545,9 @@ static umode_t lm75_is_visible(const void *data, enum hwmon_sensor_types type,switch (attr) {case hwmon_temp_input:return 0444 ; +case hwmon_temp_label: +/* Hide label node if label is not provided */ +return (config_data->label) ?0444 :0 ;case hwmon_temp_max:case hwmon_temp_max_hyst:return 0644 ;
@@ -553,13 +567,14 @@ static const struct hwmon_channel_info * const lm75_info[] = {HWMON_CHANNEL_INFO (chip,HWMON_C_REGISTER_TZ |HWMON_C_UPDATE_INTERVAL ),HWMON_CHANNEL_INFO (temp, -HWMON_T_INPUT |HWMON_T_MAX |HWMON_T_MAX_HYST | +HWMON_T_INPUT |HWMON_T_LABEL |HWMON_T_MAX |HWMON_T_MAX_HYST |HWMON_T_ALARM ), NULL };static const struct hwmon_ops lm75_hwmon_ops = { .is_visible = lm75_is_visible, + .read_string = lm75_read_string, .read = lm75_read, .write = lm75_write, };
@@ -721,6 +736,9 @@ static int lm75_generic_probe(struct device *dev, const char *name,/* needed by custom regmap callbacks */ dev_set_drvdata (dev, data); +/* Save the connected input label if available */ +of_property_read_string (dev->of_node,"label" , &data->label); + data->kind = kind; data->regmap = regmap;
Signature · 1 line
2.43.0
Guenter Roeck
maintainerRe: [PATCH 2/2] hwmon: lm75: Add support for label
Quoted 40 lines · Flaviu Nistor
Add support for label sysfs attribute similar to other hwmon devices. This is particularly useful for systems with multiple sensors on the same board, where identifying individual sensors is much easier since labels can be defined via device tree.
Signed-off-by Flaviu Nistor <[email protected]>--- drivers/hwmon/lm75.c | 20 +++++++++++++++++++- 1 file changed, 19 insertions(+), 1 deletion(-)drivers/hwmon/lm75.c +11
-0@@ -108,6 +108,7 @@ static const unsigned short normal_i2c[] = { 0x48, 0x49, 0x4a, 0x4b, 0x4c,#define PCT2075_REG_IDLE 0x04struct lm75_data { +const char *label;struct regmap *regmap;u16 orig_conf;u8 resolution;/* In bits, 9 to 16 */ @@ -363,6 +364,16 @@ static irqreturn_t lm75_alarm_handler(int irq, void *private)return IRQ_HANDLED ; } +static int lm75_read_string (struct device *dev,enum hwmon_sensor_types type, +u32 attr,int channel,const char **str) +{ +struct lm75_data *data =dev_get_drvdata (dev); + + *str = data->label; + +return 0 ; +} +static int lm75_read (struct device *dev,enum hwmon_sensor_types type,u32 attr,int channel,long *val) {
drivers/hwmon/lm75.c static umode_t lm75_is_visible(const void *data, enum hwmon_sensor_types type, · line 550
Quoted 6 lines
drivers/hwmon/lm75.c +3
-0@@ -534,6 +545,9 @@ static umode_t lm75_is_visible(const void *data, enum hwmon_sensor_types type,switch (attr) {case hwmon_temp_input:return 0444 ; +case hwmon_temp_label: +/* Hide label node if label is not provided */ +return (config_data->label) ?0444 :0 ;
Unnecessary ()
Quoted 20 lines
drivers/hwmon/lm75.c +2
-1case hwmon_temp_max:case hwmon_temp_max_hyst:return 0644 ;@@ -553,13 +567,14 @@ static const struct hwmon_channel_info * const lm75_info[] = {HWMON_CHANNEL_INFO (chip,HWMON_C_REGISTER_TZ |HWMON_C_UPDATE_INTERVAL ),HWMON_CHANNEL_INFO (temp, -HWMON_T_INPUT |HWMON_T_MAX |HWMON_T_MAX_HYST | +HWMON_T_INPUT |HWMON_T_LABEL |HWMON_T_MAX |HWMON_T_MAX_HYST |HWMON_T_ALARM ), NULL };static const struct hwmon_ops lm75_hwmon_ops = { .is_visible = lm75_is_visible, + .read_string = lm75_read_string, .read = lm75_read, .write = lm75_write, };
drivers/hwmon/lm75.c static int lm75_generic_probe(struct device *dev, const char *name, · line 740
Quoted 5 lines
drivers/hwmon/lm75.c +2
-0@@ -721,6 +736,9 @@ static int lm75_generic_probe(struct device *dev, const char *name,/* needed by custom regmap callbacks */ dev_set_drvdata (dev, data); +/* Save the connected input label if available */ +of_property_read_string (dev->of_node,"label" , &data->label);
Please use device_property_read_string().
Thanks,
Guenter
Quoted 4 lines
drivers/hwmon/lm75.c +1
-0+ data->kind = kind; data->regmap = regmap;
Quoted 1 line · Flaviu Nistor
Add support for an optional label property similar to other hwmon devices.
I do not see any support being added here.
Subject is not accurate either. You did not add the label property.
Best regards,
Krzysztof
Quoted 9 lines · Krzysztof Kozlowski
Quoted 1 line · Flaviu Nistor
Add support for an optional label property similar to other hwmon devices.
I do not see any support being added here.
Subject is not accurate either. You did not add the label property.
Best regards,
Krzysztof
Hello and thanks for the reply.
I probably did not use the best description and subject name,
I wanted to be linked to the other patch in the series).
The label property is already added by you via the hwmon-common.yaml. I will have to send out a v2 for this series so I will change the subject to "Add examples for label property" and also specify in the description more clear that is just a simple "Add label property in the two examples."
Best regards,
Flaviu
Quoted 11 lines · Flaviu Nistor
Quoted 9 lines · Krzysztof Kozlowski
Quoted 1 line · Flaviu Nistor
Add support for an optional label property similar to other hwmon devices.
I do not see any support being added here.
Subject is not accurate either. You did not add the label property.
Best regards,
Krzysztof
Quoted 7 lines
Hello and thanks for the reply.
I probably did not use the best description and subject name,
I wanted to be linked to the other patch in the series).
The label property is already added by you via thehwmon-common.yaml. I will have to send out a v2 for this series so I will change the subject to "Add examples for label property" and also specify in the description more clear that is just a simple "Add label property in the two examples."
Your commit msg must explain WHY you are doing this.
Best regards,
Krzysztof
Quoted 20 lines · Krzysztof Kozlowski
Quoted 11 lines · Flaviu Nistor
Quoted 9 lines · Krzysztof Kozlowski
Quoted 1 line · Flaviu Nistor
Add support for an optional label property similar to other hwmon devices.
I do not see any support being added here.
Subject is not accurate either. You did not add the label property.
Best regards,
KrzysztofQuoted 7 lines
Hello and thanks for the reply.
I probably did not use the best description and subject name,
I wanted to be linked to the other patch in the series).
The label property is already added by you via thehwmon-common.yaml. I will have to send out a v2 for this series so I will change the subject to "Add examples for label property" and also specify in the description more clear that is just a simple "Add label property in the two examples."
Quoted 1 line
Your commit msg must explain WHY you are doing this.
My initial intention was to make sure that dtbs_check is not generating errors, but since then I got to understand that the example section is not actually used during the validation of DT source files.
My second intention was to add the label property to the example section as a good practice, but I also have seen that this is not a general rule. As I understand this is not a mandatory change, I will drop the binding patch from v2.
Best regards,
Flaviu
Quoted 3 lines
Best regards,
Krzysztof