Re: patch to sensor-detect script to support SMSC EMC1023

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

 



On Mon, Jan 17, 2011 at 11:14:02AM -0500, Anish Patel wrote:
> patch attached.
> 

> *** sensors-detect	Fri Jan 14 11:11:56 2011
> --- sensors-detect-new	Sat Jan 15 03:01:01 2011
> ***************
> *** 1205,1210 ****
> --- 1205,1215 ----
>   		i2c_addrs => [0x18, 0x2a, 0x4c, 0x4d],
>   		i2c_detect => sub { emc1403_detect(@_, 3); },
>   	}, {
> + 		name => "SMSC_EMC1023",
> + 		driver => "emc1023",
> + 		i2c_addrs => [0x48,0x49,0x4c,0x4d],
> + 		i2c_detect => sub { emc1023_detect(@_); },
> + 	}, {
>   		name => "ST STTS424",
>   		driver => "jc42",
>   		i2c_addrs => [0x18..0x1f],
> ***************
> *** 5387,5392 ****
> --- 5392,5418 ----
>   	return 6;
>   }
>   
> + # Chip to detect:
> + # Registers used:
> + #   0xed: Device ID register
> + #   0xfe: Vendor ID register
> + #   0xff: Revision register
> + sub emc1023_detect
> + {
> + 	my ($file, $addr, $chip) = @_;

You don't pass $chip as argument, so you should not extract it either.

> + 	my $dev_id = i2c_smbus_read_byte_data($file, 0xed);
> + 	my $man_id = i2c_smbus_read_byte_data($file, 0xfe);
> + 	my $rev = i2c_smbus_read_byte_data($file, 0xff);
> + 
> + 	return unless $man_id == 0x5d;	# SMSC
> + 
> + 	return unless ($dev_id == 0x0c) || ($dev_id == 0x0d) || ($dev_id == 0x08) || ($dev_id == 0x09) ;

Per emc1023 datasheet, Product ID values should be 0x04 .. 0x07. Am I missing something ?

Also, the Product ID and the chip address should match. So you could enhance detection
by checking for the match.

Thanks,
Guenter


_______________________________________________
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