Re: [PATCH] lm85: extend to support emc6d103 chips

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

 



Jan,

On Fri, Feb 18, 2011 at 02:56:23AM -0500, Jan Beulich wrote:
> The interface is identical emc6d102, so all that needs to be added are
> some definitions and their uses.
> 
> Registers apparently missing in emc6d103:A2 compared to emc6d103:A0,
> emc6d103:A1, and emc6d102 (according to the data sheets), but used
> unconditionally in the driver: 62[5:7], 6D[0:7], and 6E[0:7]. For that
> reason, A2 stepping chips don't get enabled for the time being.
> 
> Signed-off-by: Jan Beulich <jbeulich@xxxxxxxxxx>
> 
> ---
>  drivers/hwmon/Kconfig |    2 +-
>  drivers/hwmon/lm85.c  |   14 ++++++++++++--
>  2 files changed, 13 insertions(+), 3 deletions(-)
> 
> --- 2.6.38-rc5/drivers/hwmon/Kconfig
> +++ 2.6.38-rc5-lm85-emc6d103/drivers/hwmon/Kconfig
> @@ -574,7 +574,7 @@ config SENSORS_LM85
>  	help
>  	  If you say yes here you get support for National Semiconductor LM85
>  	  sensor chips and clones: ADM1027, ADT7463, ADT7468, EMC6D100,
> -	  EMC6D101 and EMC6D102.
> +	  EMC6D101, EMC6D102, and EMC6D103.
>  
>  	  This driver can also be built as a module.  If so, the module
>  	  will be called lm85.
> --- 2.6.38-rc5/drivers/hwmon/lm85.c
> +++ 2.6.38-rc5-lm85-emc6d103/drivers/hwmon/lm85.c
> @@ -41,7 +41,7 @@ static const unsigned short normal_i2c[]
>  enum chips {
>  	any_chip, lm85b, lm85c,
>  	adm1027, adt7463, adt7468,
> -	emc6d100, emc6d102
> +	emc6d100, emc6d102, emc6d103
>  };
>  
>  /* The LM85 registers */
> @@ -90,6 +90,9 @@ enum chips {
>  #define	LM85_VERSTEP_EMC6D100_A0        0x60
>  #define	LM85_VERSTEP_EMC6D100_A1        0x61
>  #define	LM85_VERSTEP_EMC6D102		0x65
> +#define	LM85_VERSTEP_EMC6D103_A0	0x68
> +#define	LM85_VERSTEP_EMC6D103_A1	0x69
> +#define	LM85_VERSTEP_EMC6D103_A2	0x6A
>  
>  #define	LM85_REG_CONFIG			0x40
>  
> @@ -348,6 +351,7 @@ static const struct i2c_device_id lm85_i
>  	{ "emc6d100", emc6d100 },
>  	{ "emc6d101", emc6d100 },
>  	{ "emc6d102", emc6d102 },
> +	{ "emc6d103", emc6d103 },
>  	{ }
>  };
>  MODULE_DEVICE_TABLE(i2c, lm85_id);
> @@ -1250,6 +1254,11 @@ static int lm85_detect(struct i2c_client
>  		case LM85_VERSTEP_EMC6D102:
>  			type_name = "emc6d102";
>  			break;
> +		case LM85_VERSTEP_EMC6D103_A0:
> +		case LM85_VERSTEP_EMC6D103_A1:
> +		/* case LM85_VERSTEP_EMC6D103_A2: */

The comment from the commit log should be here as well.
Otherwise, people won't know why the line is commented out.

> +			type_name = "emc6d103";
> +			break;
>  		}
>  	} else {
>  		dev_dbg(&adapter->dev,
> @@ -1283,6 +1292,7 @@ static int lm85_probe(struct i2c_client 
>  	case adt7468:
>  	case emc6d100:
>  	case emc6d102:
> +	case emc6d103:
>  		data->freq_map = adm1027_freq_map;
>  		break;
>  	default:
> @@ -1468,7 +1478,7 @@ static struct lm85_data *lm85_update_dev
>  			/* More alarm bits */
>  			data->alarms |= lm85_read_value(client,
>  						EMC6D100_REG_ALARM3) << 16;
> -		} else if (data->type == emc6d102) {
> +		} else if (data->type == emc6d102 || data->type == emc6d103) {
>  			/* Have to read LSB bits after the MSB ones because
>  			   the reading of the MSB bits has frozen the
>  			   LSBs (backward from the ADM1027).
> 
> 
> 

_______________________________________________
lm-sensors mailing list
lm-sensors@xxxxxxxxxxxxxx
http://lists.lm-sensors.org/mailman/listinfo/lm-sensors


[Index of Archives]     [Linux Kernel]     [Linux Hardware Monitoring]     [Linux USB Devel]     [Linux Audio Users]     [Linux Kernel]     [Linux SCSI]     [Yosemite Backpacking]

  Powered by Linux