Changeset 5810

Show
Ignore:
Timestamp:
12/14/09 11:02:53 (4 years ago)
Author:
khali
Message:

Differentiate between Intel Core and Atom.

Files:
1 modified

Legend:

Unmodified
Added
Removed
  • lm-sensors/trunk/prog/detect/sensors-detect

    r5809 r5810  
    18941894                name => "Intel Core family thermal sensor", 
    18951895                driver => "coretemp", 
    1896                 detect => \&coretemp_detect, 
     1896                detect => sub { coretemp_detect(0); }, 
     1897        }, { 
     1898                name => "Intel Atom thermal sensor", 
     1899                driver => "coretemp", 
     1900                detect => sub { coretemp_detect(1); }, 
    18971901        }, { 
    18981902                name => "Intel AMB FB-DIMM thermal sensor", 
     
    53915395sub coretemp_detect 
    53925396{ 
     5397        my $chip = shift; 
    53935398        my $probecpu; 
     5399 
    53945400        foreach $probecpu (@cpu) { 
    5395                 if ($probecpu->{vendor_id} eq 'GenuineIntel' && 
    5396                                 $probecpu->{'cpu family'} == 6 && 
    5397                                 ($probecpu->{model} == 14 ||    # Pentium M DC 
    5398                                  $probecpu->{model} == 15 ||    # Core 2 DC 65nm 
    5399                                  $probecpu->{model} == 0x16 ||  # Core 2 SC 65nm 
    5400                                  $probecpu->{model} == 0x17 ||  # Penryn 45nm 
    5401                                  $probecpu->{model} == 0x1a ||  # Nehalem 
    5402                                  $probecpu->{model} == 0x1c)) { # Atom 
    5403                         return 9; 
    5404                 } 
     5401                next unless $probecpu->{vendor_id} eq 'GenuineIntel' && 
     5402                            $probecpu->{'cpu family'} == 6; 
     5403                return 9 if $chip == 0 && 
     5404                        ($probecpu->{model} == 14 ||    # Pentium M DC 
     5405                         $probecpu->{model} == 15 ||    # Core 2 DC 65nm 
     5406                         $probecpu->{model} == 0x16 ||  # Core 2 SC 65nm 
     5407                         $probecpu->{model} == 0x17 ||  # Penryn 45nm 
     5408                         $probecpu->{model} == 0x1a);   # Nehalem 
     5409                return 9 if $chip == 1 && 
     5410                        ($probecpu->{model} == 0x1c);   # Atom 
    54055411        } 
    54065412        return;