Re: [PATCH v3 1/2] hwmon: (lm75) Add support for TMP75B

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On Tue, Apr 30, 2019 at 03:46:08PM +0100, Iker Perez wrote:
> From: Iker Perez del Palomar Sustatxa <iker.perez@xxxxxxxxxxxxxxx>
> 
> The TMP75B has a different control register, supports 12-bit
> resolution and the default conversion rate is 37 Hz.
> 
> Signed-off-by: Iker Perez del Palomar Sustatxa <iker.perez@xxxxxxxxxxxxxxx>
> ---
>  Documentation/hwmon/lm75 |  7 +++++--
>  drivers/hwmon/lm75.c     | 11 +++++++++++
>  2 files changed, 16 insertions(+), 2 deletions(-)
> 
> diff --git a/Documentation/hwmon/lm75 b/Documentation/hwmon/lm75
> index 010583608f12..0cff924cdbba 100644
> --- a/Documentation/hwmon/lm75
> +++ b/Documentation/hwmon/lm75
> @@ -47,8 +47,10 @@ Supported chips:
>      Addresses scanned: none
>      Datasheet: Publicly available at the ST website
>  	       https://www.st.com/resource/en/datasheet/stlm75.pdf
> -  * Texas Instruments TMP100, TMP101, TMP105, TMP112, TMP75, TMP75C, TMP175, TMP275
> -    Prefixes: 'tmp100', 'tmp101', 'tmp105', 'tmp112', 'tmp175', 'tmp75', 'tmp75c', 'tmp275'
> +  * Texas Instruments TMP100, TMP101, TMP105, TMP112, TMP75, TMP75B, TMP75C,
> +                      TMP175, TMP275
> +    Prefixes: 'tmp100', 'tmp101', 'tmp105', 'tmp112', 'tmp175', 'tmp75',
> +              'tmp75b', 'tmp75c', 'tmp275'
>      Addresses scanned: none
>      Datasheet: Publicly available at the Texas Instruments website
>                 http://www.ti.com/product/tmp100
> @@ -56,6 +58,7 @@ Supported chips:
>                 http://www.ti.com/product/tmp105
>                 http://www.ti.com/product/tmp112
>                 http://www.ti.com/product/tmp75
> +               http://www.ti.com/product/tmp75b
>                 http://www.ti.com/product/tmp75c
>                 http://www.ti.com/product/tmp175
>                 http://www.ti.com/product/tmp275
> diff --git a/drivers/hwmon/lm75.c b/drivers/hwmon/lm75.c
> index 447af07450f1..cdb1e7833976 100644
> --- a/drivers/hwmon/lm75.c
> +++ b/drivers/hwmon/lm75.c
> @@ -59,6 +59,7 @@ enum lm75_type {		/* keep sorted in alphabetical order */
>  	tmp175,
>  	tmp275,
>  	tmp75,
> +	tmp75b,
>  	tmp75c,
>  };
>  
> @@ -378,6 +379,11 @@ lm75_probe(struct i2c_client *client, const struct i2c_device_id *id)
>  		data->resolution = 12;
>  		data->sample_time = MSEC_PER_SEC / 2;
>  		break;
> +	case tmp75b:
> +		clr_mask |= 1 << 15;    /* not one-shot mode */
> +		data->resolution = 12;
> +		data->sample_time = MSEC_PER_SEC / 4;

Looking into the datasheet, this isn't really correct,
since the configuration register is not updated accordingly.
The default, as mentioned in the description of this patch,
is 37 ms, not 250 ms. There are multiple options:
- Set the sample time to a fixed value, and update the
  configuration register accordingly.
- Read the sample time from the configuration register
  and report it.
- Add support for updating the sample time to the driver.

Either case, the reported value should match reality.

Thanks,
Guenter

> +		break;
>  	case tmp75c:
>  		clr_mask |= 1 << 5;		/* not one-shot mode */
>  		data->resolution = 12;
> @@ -438,6 +444,7 @@ static const struct i2c_device_id lm75_ids[] = {
>  	{ "tmp175", tmp175, },
>  	{ "tmp275", tmp275, },
>  	{ "tmp75", tmp75, },
> +	{ "tmp75b", tmp75b, },
>  	{ "tmp75c", tmp75c, },
>  	{ /* LIST END */ }
>  };
> @@ -537,6 +544,10 @@ static const struct of_device_id lm75_of_match[] = {
>  		.data = (void *)tmp75
>  	},
>  	{
> +		.compatible = "ti,tmp75b",
> +		.data = (void *)tmp75b
> +	},
> +	{
>  		.compatible = "ti,tmp75c",
>  		.data = (void *)tmp75c
>  	},
> -- 
> 2.11.0
> 



[Index of Archives]     [LM Sensors]     [Linux Sound]     [ALSA Users]     [ALSA Devel]     [Linux Audio Users]     [Linux Media]     [Kernel]     [Gimp]     [Yosemite News]     [Linux Media]

  Powered by Linux