On Mon, 2012-03-05 at 12:00 -0500, Jean Delvare wrote:
> On Mon, 5 Mar 2012 08:32:28 -0800, Guenter Roeck wrote:
> > On Mon, 2012-03-05 at 08:29 -0500, Jean Delvare wrote:
> > > Add detection of ST Mircoelectronics STTS2002 and STTS3000.
> > >
> > > ---
> > > prog/detect/sensors-detect | 24 +++++++++++++++++++++++-
> > > 1 file changed, 23 insertions(+), 1 deletion(-)
> > >
> > > --- lm-sensors.orig/prog/detect/sensors-detect 2012-03-02 08:53:12.000000000 +0100
> > > +++ lm-sensors/prog/detect/sensors-detect 2012-03-05 13:58:35.549784178 +0100
> > > @@ -1350,6 +1350,16 @@ use vars qw(@i2c_adapter_names);
> > > i2c_addrs => [0x18..0x1f],
> > > i2c_detect => sub { jedec_JC42_4_detect(@_, 10); },
> > > }, {
> > > + name => "ST STTS2002",
> > > + driver => "jc42",
> > > + i2c_addrs => [0x18..0x1f],
> > > + i2c_detect => sub { jedec_JC42_4_detect(@_, 11); },
> > > + }, {
> > > + name => "ST STTS3000",
> > > + driver => "jc42",
> > > + i2c_addrs => [0x18..0x1f],
> > > + i2c_detect => sub { jedec_JC42_4_detect(@_, 12); },
> > > + }, {
> > > name => "NXP SE97/SE97B",
> > > driver => "jc42",
> > > i2c_addrs => [0x18..0x1f],
> > > @@ -5965,7 +5975,7 @@ sub max6655_detect
> > > # Chip to detect: 0 = STTS424, 1 = SE97/SE97B, 2 = SE98, 3 = ADT7408,
> > > # 4 = TS3000/TSE2002, 5 = MAX6604, 6 = MCP98242,
> > > # 7 = MCP98243, 8 = MCP9843, 9 = CAT6095 / CAT34TS02,
> > > -# 10 = STTS424E
> > > +# 10 = STTS424E, 11 = STTS2002, 12 = STTS3000
> > > # Registers used:
> > > # 0x00: Capabilities
> > > # 0x01: Configuration
> > > @@ -6022,6 +6032,12 @@ sub jedec_JC42_4_detect
> > > } elsif ($chip == 10) {
> > > return unless $manid == 0x10; # STMicrolectronics
> > > return unless $devid == 0x00; # STTS424E02
> > > + } elsif ($chip == 11) {
> > > + return unless $manid == 0x10; # STMicrolectronics
> > > + return unless $devid == 0x03; # STTS2002
> > > + } elsif ($chip == 12) {
> > > + return unless $manid == 0x10; # STMicrolectronics
> > > + return unless $devid == 0x02; # STTS3000
> > > }
> > >
> > > # Now, do it all again with words. Note that we get
> > > @@ -6067,6 +6083,12 @@ sub jedec_JC42_4_detect
> > > } elsif ($chip == 10) {
> > > return unless $manid == 0x4a10; # STMicrolectronics
> > > return unless ($devid & 0xfeff) == 0x0000; # STTS424E02
> > > + } elsif ($chip == 11) {
> > > + return unless $manid == 0x4a10; # STMicrolectronics
> > > + return unless ($devid & 0xfeff) == 0x0003; # STTS2002
> > > + } elsif ($chip == 12) {
> > > + return unless $manid == 0x4a10; # STMicrolectronics
> > > + return unless ($devid & 0xfeff) == 0x0002; # STTS3000
> > > }
> >
> > Hi Jean,
> >
> > you are masking the chip IDs against 0xfeff. That made sense for
> > STTS424E02, which has two variants. Any special reason for doing it for
> > STTS2002 and STTS3000 as well ? If so, shouldn't we do the same for the
> > jc42 driver (or, alternatively, not mask it here either for
> > consistency) ?
>
> We do mask for the STTS424 in sensors-detect too, while we don't in the
> jc42 driver. I'm simply doing the same here for the STTS2002 and
> STTS3000. It surprised me too at first, but then I though it made sense
> to be slightly more permissive in sensors-detect, so that we can spot
> and add new IDs as/if they show up.
>
I didn't realize that sensor-detect also uses a mask for STTS424. Oddly
enough, that one's "official" devid/revision is 0x0101.
> But I am fine aligning sensors-detect and jc42 to match exactly if you
> think it's preferable. Your call.
>
Never mind; your reasoning makes sense.
Thanks,
Guenter
_______________________________________________
lm-sensors mailing list
lm-sensors@xxxxxxxxxxxxxx
http://lists.lm-sensors.org/mailman/listinfo/lm-sensors
[Video for Linux]
[Mplayer Users]
[Linux USB Devel]
[Linux Audio Users]
[Photos]
[Yosemite Photos]
[Free Singles Community]
[Linux Kernel]
[Linux SCSI]
[XFree86]
[Yosemite Backpacking]