Message ID | 20210206095121.20625-3-matwey@sai.msu.ru (mailing list archive) |
---|---|
State | New |
Headers | show |
Series | hwmon: lm75: Handle broken device nodes gracefully | expand |
On 2/6/21 1:51 AM, Matwey V. Kornilov wrote: > NXP LM75A is compatible with original LM75A while it has improved > 11-bit precision. > > https://www.nxp.com/docs/en/data-sheet/LM75A.pdf > > Signed-off-by: Matwey V. Kornilov <matwey@sai.msu.ru> > --- > Documentation/devicetree/bindings/hwmon/lm75.yaml | 1 + > drivers/hwmon/lm75.c | 11 +++++++++++ > 2 files changed, 12 insertions(+) > > diff --git a/Documentation/devicetree/bindings/hwmon/lm75.yaml b/Documentation/devicetree/bindings/hwmon/lm75.yaml > index aec8edd1e0c6..8c3848f4c277 100644 > --- a/Documentation/devicetree/bindings/hwmon/lm75.yaml > +++ b/Documentation/devicetree/bindings/hwmon/lm75.yaml > @@ -22,6 +22,7 @@ properties: > - national,lm75 > - national,lm75a > - national,lm75b > + - nxp,lm75a > - maxim,max6625 > - maxim,max6626 > - maxim,max31725 > diff --git a/drivers/hwmon/lm75.c b/drivers/hwmon/lm75.c > index 08cde1c446db..9c54c7d86771 100644 > --- a/drivers/hwmon/lm75.c > +++ b/drivers/hwmon/lm75.c > @@ -33,6 +33,7 @@ enum lm75_type { /* keep sorted in alphabetical order */ > lm75, > lm75a, > lm75b, > + nxp_lm75, Please make this lm75a_nxp for improved alphabetical alignment and to reflect that it is LM75A. > max6625, > max6626, > max31725, > @@ -182,6 +183,11 @@ static const struct lm75_params device_params[] = { > .default_resolution = 11, > .default_sample_time = MSEC_PER_SEC / 10, > }, > + [nxp_lm75] = { > + .default_resolution = 11, > + .default_sample_time = MSEC_PER_SEC / 10, > + .resolution_limits = 9, > + }, > [max6625] = { > .default_resolution = 9, > .default_sample_time = MSEC_PER_SEC / 7, > @@ -644,6 +650,7 @@ static const struct i2c_device_id lm75_ids[] = { > { "lm75", lm75, }, > { "lm75a", lm75a, }, > { "lm75b", lm75b, }, > + { "nxp_lm75a", nxp_lm75, }, > { "max6625", max6625, }, > { "max6626", max6626, }, > { "max31725", max31725, }, > @@ -703,6 +710,10 @@ static const struct of_device_id __maybe_unused lm75_of_match[] = { > .compatible = "national,lm75b", > .data = (void *)lm75b > }, > + { > + .compatible = "nxp,lm75a", > + .data = (void *)nxp_lm75 > + }, > { > .compatible = "maxim,max6625", > .data = (void *)max6625 >
On 2/6/21 8:48 AM, Guenter Roeck wrote: > On 2/6/21 1:51 AM, Matwey V. Kornilov wrote: >> NXP LM75A is compatible with original LM75A while it has improved >> 11-bit precision. >> >> https://www.nxp.com/docs/en/data-sheet/LM75A.pdf >> >> Signed-off-by: Matwey V. Kornilov <matwey@sai.msu.ru> >> --- >> Documentation/devicetree/bindings/hwmon/lm75.yaml | 1 + >> drivers/hwmon/lm75.c | 11 +++++++++++ >> 2 files changed, 12 insertions(+) >> >> diff --git a/Documentation/devicetree/bindings/hwmon/lm75.yaml b/Documentation/devicetree/bindings/hwmon/lm75.yaml >> index aec8edd1e0c6..8c3848f4c277 100644 >> --- a/Documentation/devicetree/bindings/hwmon/lm75.yaml >> +++ b/Documentation/devicetree/bindings/hwmon/lm75.yaml >> @@ -22,6 +22,7 @@ properties: >> - national,lm75 >> - national,lm75a >> - national,lm75b >> + - nxp,lm75a We'll also need nxp,lm75b because that is distinctly different to national,lm75b / ti,lm75b. Also, we'll need to fix the entry for those to reflect that the sensor resolution is only 9 bit, not 11 bit as currently claimed. Thanks, Guenter >> - maxim,max6625 >> - maxim,max6626 >> - maxim,max31725 >> diff --git a/drivers/hwmon/lm75.c b/drivers/hwmon/lm75.c >> index 08cde1c446db..9c54c7d86771 100644 >> --- a/drivers/hwmon/lm75.c >> +++ b/drivers/hwmon/lm75.c >> @@ -33,6 +33,7 @@ enum lm75_type { /* keep sorted in alphabetical order */ >> lm75, >> lm75a, >> lm75b, >> + nxp_lm75, > > Please make this lm75a_nxp for improved alphabetical alignment > and to reflect that it is LM75A. > >> max6625, >> max6626, >> max31725, >> @@ -182,6 +183,11 @@ static const struct lm75_params device_params[] = { >> .default_resolution = 11, >> .default_sample_time = MSEC_PER_SEC / 10, >> }, >> + [nxp_lm75] = { >> + .default_resolution = 11, >> + .default_sample_time = MSEC_PER_SEC / 10, >> + .resolution_limits = 9, >> + }, >> [max6625] = { >> .default_resolution = 9, >> .default_sample_time = MSEC_PER_SEC / 7, >> @@ -644,6 +650,7 @@ static const struct i2c_device_id lm75_ids[] = { >> { "lm75", lm75, }, >> { "lm75a", lm75a, }, >> { "lm75b", lm75b, }, >> + { "nxp_lm75a", nxp_lm75, }, >> { "max6625", max6625, }, >> { "max6626", max6626, }, >> { "max31725", max31725, }, >> @@ -703,6 +710,10 @@ static const struct of_device_id __maybe_unused lm75_of_match[] = { >> .compatible = "national,lm75b", >> .data = (void *)lm75b >> }, >> + { >> + .compatible = "nxp,lm75a", >> + .data = (void *)nxp_lm75 >> + }, >> { >> .compatible = "maxim,max6625", >> .data = (void *)max6625 >> >
diff --git a/Documentation/devicetree/bindings/hwmon/lm75.yaml b/Documentation/devicetree/bindings/hwmon/lm75.yaml index aec8edd1e0c6..8c3848f4c277 100644 --- a/Documentation/devicetree/bindings/hwmon/lm75.yaml +++ b/Documentation/devicetree/bindings/hwmon/lm75.yaml @@ -22,6 +22,7 @@ properties: - national,lm75 - national,lm75a - national,lm75b + - nxp,lm75a - maxim,max6625 - maxim,max6626 - maxim,max31725 diff --git a/drivers/hwmon/lm75.c b/drivers/hwmon/lm75.c index 08cde1c446db..9c54c7d86771 100644 --- a/drivers/hwmon/lm75.c +++ b/drivers/hwmon/lm75.c @@ -33,6 +33,7 @@ enum lm75_type { /* keep sorted in alphabetical order */ lm75, lm75a, lm75b, + nxp_lm75, max6625, max6626, max31725, @@ -182,6 +183,11 @@ static const struct lm75_params device_params[] = { .default_resolution = 11, .default_sample_time = MSEC_PER_SEC / 10, }, + [nxp_lm75] = { + .default_resolution = 11, + .default_sample_time = MSEC_PER_SEC / 10, + .resolution_limits = 9, + }, [max6625] = { .default_resolution = 9, .default_sample_time = MSEC_PER_SEC / 7, @@ -644,6 +650,7 @@ static const struct i2c_device_id lm75_ids[] = { { "lm75", lm75, }, { "lm75a", lm75a, }, { "lm75b", lm75b, }, + { "nxp_lm75a", nxp_lm75, }, { "max6625", max6625, }, { "max6626", max6626, }, { "max31725", max31725, }, @@ -703,6 +710,10 @@ static const struct of_device_id __maybe_unused lm75_of_match[] = { .compatible = "national,lm75b", .data = (void *)lm75b }, + { + .compatible = "nxp,lm75a", + .data = (void *)nxp_lm75 + }, { .compatible = "maxim,max6625", .data = (void *)max6625
NXP LM75A is compatible with original LM75A while it has improved 11-bit precision. https://www.nxp.com/docs/en/data-sheet/LM75A.pdf Signed-off-by: Matwey V. Kornilov <matwey@sai.msu.ru> --- Documentation/devicetree/bindings/hwmon/lm75.yaml | 1 + drivers/hwmon/lm75.c | 11 +++++++++++ 2 files changed, 12 insertions(+)