linux/drivers/hwmon/coretemp.c
<<
>>
Prefs
   1/*
   2 * coretemp.c - Linux kernel module for hardware monitoring
   3 *
   4 * Copyright (C) 2007 Rudolf Marek <r.marek@assembler.cz>
   5 *
   6 * Inspired from many hwmon drivers
   7 *
   8 * This program is free software; you can redistribute it and/or modify
   9 * it under the terms of the GNU General Public License as published by
  10 * the Free Software Foundation; version 2 of the License.
  11 *
  12 * This program is distributed in the hope that it will be useful,
  13 * but WITHOUT ANY WARRANTY; without even the implied warranty of
  14 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
  15 * GNU General Public License for more details.
  16 *
  17 * You should have received a copy of the GNU General Public License
  18 * along with this program; if not, write to the Free Software
  19 * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
  20 * 02110-1301 USA.
  21 */
  22
  23#define pr_fmt(fmt) KBUILD_MODNAME ": " fmt
  24
  25#include <linux/module.h>
  26#include <linux/init.h>
  27#include <linux/slab.h>
  28#include <linux/jiffies.h>
  29#include <linux/hwmon.h>
  30#include <linux/sysfs.h>
  31#include <linux/hwmon-sysfs.h>
  32#include <linux/err.h>
  33#include <linux/mutex.h>
  34#include <linux/list.h>
  35#include <linux/platform_device.h>
  36#include <linux/cpu.h>
  37#include <linux/pci.h>
  38#include <linux/smp.h>
  39#include <linux/moduleparam.h>
  40#include <asm/msr.h>
  41#include <asm/processor.h>
  42#include <asm/cpu_device_id.h>
  43
  44#define DRVNAME "coretemp"
  45
  46/*
  47 * force_tjmax only matters when TjMax can't be read from the CPU itself.
  48 * When set, it replaces the driver's suboptimal heuristic.
  49 */
  50static int force_tjmax;
  51module_param_named(tjmax, force_tjmax, int, 0444);
  52MODULE_PARM_DESC(tjmax, "TjMax value in degrees Celsius");
  53
  54#define BASE_SYSFS_ATTR_NO      2       /* Sysfs Base attr no for coretemp */
  55#define NUM_REAL_CORES          32      /* Number of Real cores per cpu */
  56#define CORETEMP_NAME_LENGTH    17      /* String Length of attrs */
  57#define MAX_CORE_ATTRS          4       /* Maximum no of basic attrs */
  58#define TOTAL_ATTRS             (MAX_CORE_ATTRS + 1)
  59#define MAX_CORE_DATA           (NUM_REAL_CORES + BASE_SYSFS_ATTR_NO)
  60
  61#define TO_PHYS_ID(cpu)         (cpu_data(cpu).phys_proc_id)
  62#define TO_CORE_ID(cpu)         (cpu_data(cpu).cpu_core_id)
  63#define TO_ATTR_NO(cpu)         (TO_CORE_ID(cpu) + BASE_SYSFS_ATTR_NO)
  64
  65#ifdef CONFIG_SMP
  66#define for_each_sibling(i, cpu)        for_each_cpu(i, cpu_sibling_mask(cpu))
  67#else
  68#define for_each_sibling(i, cpu)        for (i = 0; false; )
  69#endif
  70
  71/*
  72 * Per-Core Temperature Data
  73 * @last_updated: The time when the current temperature value was updated
  74 *              earlier (in jiffies).
  75 * @cpu_core_id: The CPU Core from which temperature values should be read
  76 *              This value is passed as "id" field to rdmsr/wrmsr functions.
  77 * @status_reg: One of IA32_THERM_STATUS or IA32_PACKAGE_THERM_STATUS,
  78 *              from where the temperature values should be read.
  79 * @attr_size:  Total number of pre-core attrs displayed in the sysfs.
  80 * @is_pkg_data: If this is 1, the temp_data holds pkgtemp data.
  81 *              Otherwise, temp_data holds coretemp data.
  82 * @valid: If this is 1, the current temperature is valid.
  83 */
  84struct temp_data {
  85        int temp;
  86        int ttarget;
  87        int tjmax;
  88        unsigned long last_updated;
  89        unsigned int cpu;
  90        u32 cpu_core_id;
  91        u32 status_reg;
  92        int attr_size;
  93        bool is_pkg_data;
  94        bool valid;
  95        struct sensor_device_attribute sd_attrs[TOTAL_ATTRS];
  96        char attr_name[TOTAL_ATTRS][CORETEMP_NAME_LENGTH];
  97        struct mutex update_lock;
  98};
  99
 100/* Platform Data per Physical CPU */
 101struct platform_data {
 102        struct device *hwmon_dev;
 103        u16 phys_proc_id;
 104        struct temp_data *core_data[MAX_CORE_DATA];
 105        struct device_attribute name_attr;
 106};
 107
 108struct pdev_entry {
 109        struct list_head list;
 110        struct platform_device *pdev;
 111        u16 phys_proc_id;
 112};
 113
 114static LIST_HEAD(pdev_list);
 115static DEFINE_MUTEX(pdev_list_mutex);
 116
 117static ssize_t show_name(struct device *dev,
 118                        struct device_attribute *devattr, char *buf)
 119{
 120        return sprintf(buf, "%s\n", DRVNAME);
 121}
 122
 123static ssize_t show_label(struct device *dev,
 124                                struct device_attribute *devattr, char *buf)
 125{
 126        struct sensor_device_attribute *attr = to_sensor_dev_attr(devattr);
 127        struct platform_data *pdata = dev_get_drvdata(dev);
 128        struct temp_data *tdata = pdata->core_data[attr->index];
 129
 130        if (tdata->is_pkg_data)
 131                return sprintf(buf, "Physical id %u\n", pdata->phys_proc_id);
 132
 133        return sprintf(buf, "Core %u\n", tdata->cpu_core_id);
 134}
 135
 136static ssize_t show_crit_alarm(struct device *dev,
 137                                struct device_attribute *devattr, char *buf)
 138{
 139        u32 eax, edx;
 140        struct sensor_device_attribute *attr = to_sensor_dev_attr(devattr);
 141        struct platform_data *pdata = dev_get_drvdata(dev);
 142        struct temp_data *tdata = pdata->core_data[attr->index];
 143
 144        rdmsr_on_cpu(tdata->cpu, tdata->status_reg, &eax, &edx);
 145
 146        return sprintf(buf, "%d\n", (eax >> 5) & 1);
 147}
 148
 149static ssize_t show_tjmax(struct device *dev,
 150                        struct device_attribute *devattr, char *buf)
 151{
 152        struct sensor_device_attribute *attr = to_sensor_dev_attr(devattr);
 153        struct platform_data *pdata = dev_get_drvdata(dev);
 154
 155        return sprintf(buf, "%d\n", pdata->core_data[attr->index]->tjmax);
 156}
 157
 158static ssize_t show_ttarget(struct device *dev,
 159                                struct device_attribute *devattr, char *buf)
 160{
 161        struct sensor_device_attribute *attr = to_sensor_dev_attr(devattr);
 162        struct platform_data *pdata = dev_get_drvdata(dev);
 163
 164        return sprintf(buf, "%d\n", pdata->core_data[attr->index]->ttarget);
 165}
 166
 167static ssize_t show_temp(struct device *dev,
 168                        struct device_attribute *devattr, char *buf)
 169{
 170        u32 eax, edx;
 171        struct sensor_device_attribute *attr = to_sensor_dev_attr(devattr);
 172        struct platform_data *pdata = dev_get_drvdata(dev);
 173        struct temp_data *tdata = pdata->core_data[attr->index];
 174
 175        mutex_lock(&tdata->update_lock);
 176
 177        /* Check whether the time interval has elapsed */
 178        if (!tdata->valid || time_after(jiffies, tdata->last_updated + HZ)) {
 179                rdmsr_on_cpu(tdata->cpu, tdata->status_reg, &eax, &edx);
 180                tdata->valid = 0;
 181                /* Check whether the data is valid */
 182                if (eax & 0x80000000) {
 183                        tdata->temp = tdata->tjmax -
 184                                        ((eax >> 16) & 0x7f) * 1000;
 185                        tdata->valid = 1;
 186                }
 187                tdata->last_updated = jiffies;
 188        }
 189
 190        mutex_unlock(&tdata->update_lock);
 191        return tdata->valid ? sprintf(buf, "%d\n", tdata->temp) : -EAGAIN;
 192}
 193
 194struct tjmax {
 195        char const *id;
 196        int tjmax;
 197};
 198
 199static const struct tjmax __cpuinitconst tjmax_table[] = {
 200        { "CPU D410", 100000 },
 201        { "CPU D425", 100000 },
 202        { "CPU D510", 100000 },
 203        { "CPU D525", 100000 },
 204        { "CPU N450", 100000 },
 205        { "CPU N455", 100000 },
 206        { "CPU N470", 100000 },
 207        { "CPU N475", 100000 },
 208        { "CPU  230", 100000 },
 209        { "CPU  330", 125000 },
 210};
 211
 212static int __cpuinit adjust_tjmax(struct cpuinfo_x86 *c, u32 id,
 213                                  struct device *dev)
 214{
 215        /* The 100C is default for both mobile ind no"> 213                                  s6ude=pdata" class="sref">n1                   ne" name="L126">s="sref">buf,  12721      int tjmax;
 1282              href="+code=tjmax" class_es="sref">tjmax_table 129219            href="+code=tjmax" usecputjmax_tusecpu 1202       return href="+code=tjmax" ers="sref">time_afersa href="drivers/hwmon/coretemp.c#L197" id2"L121" cl2ss="line" name="L121"> 12122      u32 eax, edx;
 12222      struct pdevci_assa href="+code=dev" clhoxtjmax_thox 123223     return href="+code=tjmax" s="sref">i = 0;  12422a href="drivers/hwmon/coretemp.c#L175" id2"L125" cl2ss="line" name="L125"> 12522      /* The 100explicit able< a>[]  a> {ies omonride heuris  1262       struct  href="+code=i" class="sref">i = 0; i = 0; i =ARRAY_SIZE href="+code=tdata" cble" class="sref">tjmax_table[] = {
)ef="+code=false" s="sref">i = 0; <++href="drivers/hwmon/coretemp.c#L183" id2"L127" cl2ss="line" name="L127"> 12722              attrc, cpu_cor *<_mp" lassa href="+code=tdata" cble" class="sref">tjmax_table[] = {
<="+code=false" s="sref">i = 0; <]f="+code=cpu_corss="sref">id,
 12822                      struct tjmax_table[] = {
<="+code=false" s="sref">i = 0; <]f="+code=cpu_corclass="sref">tjmax;
 129229            ef="drivers/hwmon/coretemp.c#L193" id2"L130" cl2ss="line" name="L130"> 12023a href="drivers/hwmon/coretemp.c#L71" id=2"L131" cl2ss="line" name="L131"> 1212              lass="comment">/* The 100Early chips have13< MSR  hreTjMe<                        s6ude=pdata" class="sre"L132" cl2ss="line" name="L132"> 1222 1232       return href="+code=eax" cls="sref">c, cpu_cor *<_mp" l0; c, cpu_sib *<_mass0;  12423                     ="+code=tjmax" usecputjmax_tusecpu 1252 126236            lass="comment">/* The 100Atom                             s6ude=pdata" class="sre"L137" cl2ss="line" name="L137"> 12723a href="drivers/hwmon/coretemp.c#L158" id2"L138" cl2ss="line" name="L138"> 12823      if (!c, cpu_cor *<_mp" l0; c, cpu_cor *<_mp" l0;  12923              c, cpu_cor *<_mp" l0;  12024              tjmax_tusecpu 12124a href="drivers/hwmon/coretemp.c#L212" id="L142" cl2ss="line" name="L142"> 12224              if (tjmax_thoxpdev_lisci_databus_and_slos href0ef="+code=tdata" PCI_DEVFs="sref">EAGAIN 1232 12424                      hre="+code=eax" clhoxtjmax_thoxtjmax_thoxattrEAGAIN 12524                      tjmax_thoxdevice */* The 100NM10 ba/spanettop                        s6ude=pdata" class="sre"L146" cl2ss="line" name="L146"> 12624              }
tjmax_thoxdevice */* The 100NM10 ba/spanetbook                        s6ude=pdata" class="sre"L137" cl2ss="line" name="L147"> 12724                             ="+code=tjmax" class="sref">tjmax;
 12824                     elsef="drivers/hwmon/coretemp.c#L211" id="L129" cl2ss="line" name="L149"> 12924                             ="+code=tjmax" class="sref">tjmax;
 12025a href="drivers/hwmon/coretemp.c#L71" id=2"L151" cl2ss="line" name="L151"> 12125              pdev_lisci_ass_pus href="+code=tdata" hoxtjmax_thox 1222       struct } elsea hre="+code=eax" cls="sref">c, cpu_cor *<_mp" l0;  12325                     ="+code=tdata" usecputjmax_tusecpu 12425                     ="+code=tjmax" class="sref">tjmax;
 1252       return ef="drivers/hwmon/coretemp.c#L193" id2"L156" cl2ss="line" name="L156"> 12625"sref">buf,  12725      int c, cpu_cor *<_mp" l0; tjmax_tusecpu 12825                     ="+code=eax" clu8="sref">tjmax_tu8 href="+code=status_m_dataphys_pro_data 12925a href="drivers/hwmon/coretemp.c#L190" id2"L160" cl2ss="line" name="L160"> 12026              /* The 10                     s6ude=pdata" class="sre"L161" cl2ss="line" name="L161"> 1212      =ass="comment">/* The                  00Now we cs="dclactta is>          using Intel providspaa>[] =                    s6ude=pdata" class="sre"L152" cl2ss="line" name="L162"> 1222      =ass="comment">/* The                  00http://software">/*unity.l hal.">//Wiki/M    ity/720.htm=                    s6ude=pdata" class="sre"L153" cl2ss="line" name="L163"> 1232/* The                  00For C" c2 a" cs* 1242      =ass="comment">/* The                  0                      s6ude=pdata" class="sre"L165" cl2ss="line" name="L165"> 12526                     ="+code=tjmax" ers="sref">time_afersa hrref="+code=pdata" n_cpurdmsr_on_cpuid,
eax, &edx);
 12626              }
time_afersa hrhref="drivers/hwmon/coretemp.c#L183" id2"L167" cl2ss="line" name="L167"> 12726                             ="+code=tjmax" ass_warn="sref">device_warn href="+code=tdata" ass="sref">dev,
 1282                       struct          =ass="string">"CPU  33Un>[]  to accessrMSR 0x17, rinuming desktop/span>, 12500f="drivers/hwmon/coretemp.c#L168" id2"L159" cl2ss="line" name="L169"> 12926                              struct  =ass="string">"CPU  33    ;,  12027                      struct ="+code=tdata" usecputjmax_tusecpu 12127              c, cpu_cor *<_mp" l0; eax & 0x80000001) {
 12227              if (/* The 10                     s6ude=pdata" class="sre"L173" cl2ss="line" name="L173"> 12327a hre=ass="comment">/* The                          * Trust bit 28 up to Penryn, I a"ul213 12427     =ass="comment">/* The                          * docu* Thation on thatef hryou happen to know                     s6ude=pdata" class="sre"L165" cl2ss="line" name="L175"> 1252      =ass="comment">/* The                          * someone at Intel pleaseaass0;                   s6ude=pdata" class="sre"L166" cl2ss="line" name="L176"> 1262/* The                          *                      s6ude=pdata" class="sre"L177" cl2ss="line" name="L177"> 12727                             ="+code=tjmax" usecputjmax_tusecpu 12827                     } elseaef="drivers/hwmon/coretemp.c#L183" id2"L159" cl2ss="line" name="L179"> 1292               /* The 100P_data 1202               phys_pro_dataedx);
 12128a href="drivers/hwmon/coretemp.c#L212" id="L182" cl2ss="line" name="L182"> 1222               if (/* The 10                     s6ude=pdata" class="sre"L173" cl2ss="line" name="L183"> 12328a hre=ass="comment">/* The                          * M      Penryn     seecp to be p_data 12428     =ass="comment">/* The                          * (guesswork)                     s6ude=pdata" class="sre"L165" cl2ss="line" name="L185"> 12528     =ass="comment">/* The                          *                      s6ude=pdata" class="sre"L166" cl2ss="line" name="L186"> 1262               }
c, cpu_cor *<_mp" l0;  1272               phys_pro_dataphys_pro_data 12828                      struct         =ass="comment">/* The 10                     s6ude=pdata" class="sre"L159" cl2ss="line" name="L189"> 1292/* The                                  * IfrMSR EE bit is set, set it ao 90 degrees C,                     s6ude=pdata" class="sre"L190" cl2ss="line" name="L190"> 1202      =ass="comment">/* The                                  * oe dawisis d5 degrees C                     s6ude=pdata" class="sre"L181" cl2ss="line" name="L191"> 12129     =ass="comment">/* The                                  *                      s6ude=pdata" class="sre"L192" cl2ss="line" name="L192"> 12229              if (tjmax_table 12329                                struc="+code=tjmax" class="sref">tjmax;
 12429                             ef="drivers/hwmon/coretemp.c#L193" id2"L195" cl2ss="line" name="L195"> 12529                     ef="drivers/hwmon/coretemp.c#L193" id2"L166" cl2ss="line" name="L196"> 1262       int  12729a href="drivers/hwmon/coretemp.c#L158" id2"L198" cl2ss="line" name="L198"> 12829      if (!tjmax_tusecpu 12929              time_afersa hrref="+code=pdata" n_cpurdmsr_on_cpuid,
eax, &edx);
 23030              time_afersa hrhref="drivers/hwmon/coretemp.c#L183" id3"L201" cl3ss="line" name="L201"> 23130              device_warn href="+code=tdata" ass="sref">dev,
 23230              if ("CPU  33Un>[]  to accessrMSR 0xEE,  hreTj;
<, left/span>, 12500f="drivers/hwmon/coretemp.c#L168" id3"L203" cl3ss="line" name="L203"> 23330                                struct=ass="string">"CPU  33 at  for bo;,  23430                     } elsea hre="+code=eax" class="sref">eax & 0x80000004) {
 23530                      tjmax;
tjmax_table 13630              }
 2373       { tjmax;
 13830                     =ass="comment">/* The 10                     s6ude=pdata" class="sr3"L209" cl3ss="line" name="L209"> 23930a hre=ass="comment">/* The                  * Ifrwe don't use cpu EE it meansrwe are desktop    =                    s6ude=pdata" class="sr3"L210" cl3ss="line" name="L210"> 23031     =ass="comment">/* The                  * (with exeception of0Atom)                     s6ude=pdata" class="sr3"L211" cl3ss="line" name="L211"> 23131     =ass="comment">/* The                  0                      s6ude=pdata" class="sr3"L212" cl3ss="line" name="L212"> 23231              if (device_warn href="+code=tdata" ass="sref">dev,
"CPU  33Using relat  s lasserature scale!;,  2333              ef="drivers/hwmon/coretemp.c#L187" id3"L214" cl3ss="line" name="L214"> 23431a href="drivers/hwmon/coretemp.c#L175" id3"L215" cl3ss="line" name="L215"> 2353       tjmax;
31 13731a href="drivers/hwmon/coretemp.c#L158" id3"L208" cl3ss="line" name="L118"> 13831atic __cpuinit tjmaxcpuinfo_x86 *c, u32 id,
 13931                              structdevice *dev)
 13032 13132      time_afersa href="drivers/hwmon/coretemp.c#L197" id3"L122" cl3ss="line" name="L122"> 13232      struct ="+code=u32" class="sref">u32 eax, edx;
 133323     return ="+code=u32" class="sref">u32 cpu_corvala href="drivers/hwmon/coretemp.c#L171" id3"L214" cl3ss="line" name="L124"> 13432a href="drivers/hwmon/coretemp.c#L175" id3"L125" cl3ss="line" name="L125"> 13532      /* The 10                     s6ude=pdata" class="sr3"L126" cl3ss="line" name="L126"> 13632a hre=ass="comment">/* The          * A new feature of0curr Th Intel(R) processors,ta i                     s6ude=pdata" class="sr3"  13732     =ass="comment">/* The          * IA32_TEMPERATURE_TARGETstrutainsra isTjMe< valui                     s6ude=pdata" class="sr3"L208" cl3ss="line" name="L128"> 13832     =ass="comment">/* The          *                      s6ude=pdata" class="sr3"L129" cl3ss="line" name="L129"> 139329            ="+code=rdmsr_oers="sref">time_afersa hrref="+code=pdata" n_cpurdmsr_on_cpuid,
id,MSR_IA32_TEMPERATURE_TARGETamp;eax, &edx);
 13033      return href="+code=eax" clars="sref">time_afersa hrhref="drivers/hwmon/coretemp.c#L183" id3"L131" cl3ss="line" name="L131"> 13133              c, cpu_cor *<_mp" l0; c, cpu_cor *<_mp" l0;  13233              if (device_warn href="+code=tdata" ass="sref">dev,
"CPU  33Un>[]  to readsTjMe< from     n&quou;, id,
 1333       return } elseaef="drivers/hwmon/coretemp.c#L183" id3"L134" cl3ss="line" name="L134"> 13433                     ="+code=tjmax" val="sref">cpu_corvala hra hf="+code=eax" class="sref">eax >> 16) & 0x7f) * 1ffef="drivers/hwmon/coretemp.c#L180" id3"L125" cl3ss="line" name="L135"> 13533                     =ass="comment">/* The 10                     s6ude=pdata" class="sr3"L136" cl3ss="line" name="L136"> 13633a hre=ass="comment">/* The                  * Ifra isTjMe< is13 13733     =ass="comment">/* The                  * will be us=  13833     =ass="comment">/* The                  *                      s6ude=pdata" class="sr3"L129" cl3ss="line" name="L139"> 13933              cpu_corvala hrhref="drivers/hwmon/coretemp.c#L183" id3"L140" cl3ss="line" name="L140"> 13034              status_ass_dbs href="+code=tdata" ass="sref">dev,
"CPU  33TjMe< is1n" degrees C;, cpu_corvala hrhef="drivers/hwmon/coretemp.c#L180" id3"L141" cl3ss="line" name="L141"> 13134              cpu_corvala hra
 13234              if ( 13334             ef="drivers/hwmon/coretemp.c#L187" id3"L144" cl3ss="line" name="L144"> 13434a href="drivers/hwmon/coretemp.c#L175" id3"L135" cl3ss="line" name="L145"> 13534             hhre="+code=eax" clforceacble"="sref">tjmax 13634              }
device_3dev,
"CPU  33TjMe< forced to n" degrees C by us=r;,  13734                              hr="+code=dev" clforceacble"="sref">tjmax 13834                     tjmax 139349            ef="drivers/hwmon/coretemp.c#L193" id3"L150" cl3ss="line" name="L150"> 13035a href="drivers/hwmon/coretemp.c#L71" id=3"L151" cl3ss="line" name="L151"> 13135             lass="comment">/* The 10                     s6ude=pdata" class="sr3"L152" cl3ss="line" name="L152"> 13235     =ass="comment">/* The          * A="ainumption is1made  hreearly      > 21unread>[]  MSR.                     s6ude=pdata" class="sr3"L143" cl3ss="line" name="L153"> 13335a hre=ass="comment">/* The          * NOTE:ra iscalcul> =  valui1may13 13435     =ass="comment">/* The          *                      s6ude=pdata" class="sr3"L155" cl3ss="line" name="L155"> 13535      adjust_tjmax(struct ="+code=c" class="sref">c, id,
dev);
 13635 13735a href="drivers/hwmon/coretemp.c#L158" id3"L148" cl3ss="line" name="L158"> 13835atic __cpuinit/a> ass href="+code=id" clacreate_158"_lass="sref">attrpdatapdata-> 13935                              struct       device *dev)
 13036 13136      __cpuinsysfs_lass_ ass href href="+code=edx" clclass="sref">pdata->attrattr 13236      struct ="+code=u32" clclass="sref">pdata->attrattrattr"CPU  33158"/span>,  133363     return ="+code=u32" clclass="sref">pdata->attrattrattrattr 134364     return ="+code=u32" clclass="sref">pdata->attr__cpuinshow  hrref="+code=pdata" show_158"="sref">attr 13536       *<_create_fiss="sref">tjmax_t/a> *<_create_fiss href="+code=tdata" ass="sref">dev,
pdata->attr 13636 13736a href="drivers/hwmon/coretemp.c#L158" id3"L168" cl3ss="line" name="L168"> 13836atic __cpuinit jiffiescreate_p.c#_lasss hrefpdatatdata-> 13936                              struct        device *dev)
attr 13037 13137      time_afersa href="+code=u32" cls="sref">id,
a href="drivers/hwmon/coretemp.c#L171" id3"L172" cl3ss="line" name="L172"> 13237             __cpuinssize_s     (*truct ="+code=pdata" n__pss="sref">attrattrdevice *dev)
 13337                             tjmax_t/a> *<_lassibutsa href="+code=dev" classlass="sref">attrbuf,  13437                             ="+code=pdata" show_lab l="sref">cpu_corshow_lab la href="+code=u32" clshow_crit_alarm="sref">cpu_corshow_crit_alarma href="+code=u32" clshow_L200="sref">cpu_corshow_L200a href="+code=u32" clshow_Llass="sref">adjust_show_Llassa hr,f="drivers/hwmon/coretemp.c#L171" id3"L155" cl3ss="line" name="L175"> 13537                      __cpuinshow_Ltarges     ref="drivers/hwmon/coretemp.c#L211" id3"L166" cl3ss="line" name="L176"> 136376            jiffies176"s    <="+code=false" TOTAL_ATTRS="sref">attr 13737                                      "CPU  33L200n"_lab l/span>, "CPU  33L200n"_crit_alarm/span>,  13837                                      "CPU  33L200n"_input/span>, "CPU  33L200n"_crit/span>,  1393               "CPU  33L200n"_ass/span>,  13038a href="drivers/hwmon/coretemp.c#L71" id=3"L181" cl3ss="line" name="L181"> 13138      i = 0; i = 0; tdata->attri = 0; <++href="drivers/hwmon/coretemp.c#L183" id3"L182" cl3ss="line" name="L182"> 1323               if (bufsnpquots href="+code=tdata" class="sref">tdata->attri = 0; <]ef="+code=u32" clCORETEMP_NAME_LENGTH="sref">i =CORETEMP_NAME_LENGTHa href="+code=u32" cl176"s="sref">jiffies176"s    <="+code=false" s="sref">i = 0; <]ef="drivers/hwmon/coretemp.c#L183" id3"L143" cl3ss="line" name="L183"> 13338                             ="+code=__cpuinlass_no="sref">attr 13438                     ="+code=tjmax" sysfs_lass_ ass="sref">__cpuinsysfs_lass_ ass href href="+code=edx" clclass="sref">tdata->jiffiessd_lasss    <="+code=false" s="sref">i = 0; <]f="+code=cpu_cor/a>_lass="sref">attrattr 13538                     ="+code=tjmax" class="sref">tdata->jiffiessd_lasss    <="+code=false" s="sref">i = 0; <]f="+code=cpu_cor/a>_lass="sref">attrattrattrtdata->attri = 0; <]ef="drivers/hwmon/coretemp.c#L173" id3"L166" cl3ss="line" name="L186"> 1363               }
tdata->jiffiessd_lasss    <="+code=false" s="sref">i = 0; <]f="+code=cpu_cor/a>_lass="sref">attrattrattrattr 1373               tdata->jiffiessd_lasss    <="+code=false" s="sref">i = 0; <]f="+code=cpu_cor/a>_lass="sref">attr__cpuinshow  hrref="+code=pdata" n__pss="sref">attri = 0; <]ef="drivers/hwmon/coretemp.c#L173" id3"L168" cl3ss="line" name="L188"> 13838                     ="+code=tjmax" class="sref">tdata->jiffiessd_lasss    <="+code=false" s="sref">i = 0; <]f="+code=cpu_corindes="sref">adjust_indes  hrref="+code=pdata" lass_no="sref">attr 13938              time_afersa hrref="+code=pdata" /a> *<_create_fiss="sref">tjmax_t/a> *<_create_fiss href="+code=tdata" ass="sref">dev,
tdata->jiffiessd_lasss    <="+code=false" s="sref">i = 0; <]f="+code=cpu_cor/a>_lass="sref">attr 13039              time_afersa hrhf="drivers/hwmon/coretemp.c#L173" id3"L181" cl3ss="line" name="L191"> 13139              tjmax_texit_fresa href="drivers/hwmon/coretemp.c#L173" id3"L192" cl3ss="line" name="L192"> 13239             ef="drivers/hwmon/coretemp.c#L157" id3"L193" cl3ss="line" name="L193"> 13339              13439a href="drivers/hwmon/coretemp.c#L175" id3"L195" cl3ss="line" name="L195"> 13539     ="+code=rdmsr_oexit_fres="sref">tjmax_texit_fresa hr:f="drivers/hwmon/coretemp.c#L175" id3"L166" cl3ss="line" name="L196"> 1363       int i = 0;  13739               *<_remove_fiss="sref">tjmax_t/a> *<_remove_fiss href="+code=tdata" ass="sref">dev,
tdata->jiffiessd_lasss    <="+code=false" s="sref">i = 0; <]f="+code=cpu_cor/a>_lass="sref">attr 13839      if (!time_afersa href="drivers/hwmon/coretemp.c#L197" id3"L199" cl3ss="line" name="L199"> 13939     ef="drivers/hwmon/coretemp.c#L157" id4"L200" cl4ss="line" name="L200"> 24040a href="drivers/hwmon/coretemp.c#L71" id=4"L201" cl4ss="line" name="L201"> 24140a href="drivers/hwmon/coretemp.c#L212" id4"L202" cl4ss="line" name="L202"> 24240     __cpuinit devicerdmsr_oass hrehf="drivers/hwmon/coretemp.c#L173" id4"L203" cl4ss="line" name="L203"> 24340     ef="drivers/hwmon/coretemp.c#L183" id4"L204" cl4ss="line" name="L204"> 24440             cpuinfo_x86 *c, pdatardmsr_oass hrehef="drivers/hwmon/coretemp.c#L197" id4"L205" cl4ss="line" name="L205"> 24540a href="drivers/hwmon/coretemp.c#L136" id4"6205" cl4ss="line" name="L196"> 14640             lass="comment">/* The 10                     s6ude=pdata" class="sr4"L207" cl4ss="line" name="L207"> 24740     =ass="comment">/* The          * C therifrwe have problem with errass AE18 of0C" c processors:                     s6ude=pdata" class="sr4"8207" cl4ss="line" name="L198"> 14840     =ass="comment">/* The          * Readings might -&e when processor visited too deep sleep,                     s6ude=pdata" class="sr4"L209" cl4ss="line" name="L209"> 24940a hre=ass="comment">/* The          * fixed  hrestepping D0 (6EC).                     s6ude=pdata" class="sr4"L210" cl4ss="line" name="L210"> 24041     =ass="comment">/* The          *                      s6ude=pdata" class="sr4"L211" cl4ss="line" name="L211"> 24141      c, cpu_cor *<_mp" l0; c, cpu_cor *<_mass0;ac, attr 24241              if (time_afpr_ers href=ass="string">"CPU  33Errass AE18 3-&e BIOS or /span>, 12500f="drivers/hwmon/coretemp.c#L168" id4"L213" cl4ss="line" name="L213"> 24341                            =ass="string">"CPU  33microcp"  of0a isCPU!;,  24441                     time_afENODEVa href="drivers/hwmon/coretemp.c#L197" id4"L215" cl4ss="line" name="L215"> 2454       41              14741a hreef="drivers/hwmon/coretemp.c#L157" id4"8207" cl4ss="line" name="L118"> 14841atic f="drivers/hwmon/coretemp.c#L157" id4"L209" cl4ss="line" name="L119"> 14941     device__cpuinit devs.c#L157_datapass hrefunsignedfhref="+code=__cpuinass="sref">rdmsr_oass hrehf="drivers/hwmon/coretemp.c#L173" id4"L120" cl4ss="line" name="L120"> 14042 14142      cpuinfou1      ="+code=cpuinfoohys_procass="sref">phys_prohys_procassa hrref="+code=pdata" TO_PHYS_ID="sref">phys_prTO_PHYS_ID href="+code=tdata" ass="sref">rdmsr_oass hrehef="drivers/hwmon/coretemp.c#L197" id4"L122" cl4ss="line" name="L122"> 14242             phys_proass_ Thry hreff="+code=c" clas0="sref">cpu_corpa href="drivers/hwmon/coretemp.c#L197" id4"L213" cl4ss="line" name="L123"> 143423    f="drivers/hwmon/coretemp.c#L197" id4"L214" cl4ss="line" name="L124"> 144424     return ="+code=u32" clmutex_lock="sref">cpu_cormutex_lock href href="+code=edx" cloass_list_mutex="sref">phys_proass_list_mutex hrehef="drivers/hwmon/coretemp.c#L197" id4"L215" cl4ss="line" name="L125"> 14542a href="drivers/hwmon/coretemp.c#L136" id4"L126" cl4ss="line" name="L126"> 146426     return ="+code=u32" cllist_ta<_each_ Thry="sref">phys_prlist_ta<_each_ Thry href="+code=tdata" 0="sref">cpu_corpa hre  href="+code=edx" clclss_list="sref">phys_proass_lista hre ="+code=u32" cllist="sref">phys_prlist hrehf="drivers/hwmon/coretemp.c#L173" id4"  14742              cpu_corpa hr href="+code=temp" cohys_procass="sref">phys_prohys_procassa hrreef="+code=pdata" ohys_procass="sref">phys_prohys_procassa hrhref="drivers/hwmon/coretemp.c#L183" id4"L208" cl4ss="line" name="L128"> 14842                             ="+code=u32" clmutex_unlock="sref">cpu_cormutex_unlock href href="+code=edx" cloass_list_mutex="sref">phys_proass_list_mutex hrehef="drivers/hwmon/coretemp.c#L197" id4"L209" cl4ss="line" name="L129"> 14942              cpu_corpa hr href="+code=temp" coass="sref">devpass hreef="drivers/hwmon/coretemp.c#L197" id4"L130" cl4ss="line" name="L130"> 14043               14143a href="drivers/hwmon/coretemp.c#L212" id4"L132" cl4ss="line" name="L132"> 14243      struct ="+code=u32" clmutex_unlock="sref">cpu_cormutex_unlock href href="+code=edx" cloass_list_mutex="sref">phys_proass_list_mutex hrehef="drivers/hwmon/coretemp.c#L197" id4"L213" cl4ss="line" name="L133"> 14343             phys_prNULL hreef="drivers/hwmon/coretemp.c#L197" id4"L214" cl4ss="line" name="L134"> 14443     ef="drivers/hwmon/coretemp.c#L157" id4"L215" cl4ss="line" name="L135"> 14543a href="drivers/hwmon/coretemp.c#L136" id4"L136" cl4ss="line" name="L136"> 14643a hrepdata__cpuinit  pdata rdmsr_oass hreef="drivers/hwmon/coretemp.c#L183" id4"  14743                                      status_pkg_flas hrehf="drivers/hwmon/coretemp.c#L173" id4"L208" cl4ss="line" name="L138"> 14843     ef="drivers/hwmon/coretemp.c#L183" id4"L129" cl4ss="line" name="L139"> 14943             pdatatdata-> 14044a href="drivers/hwmon/coretemp.c#L71" id=4"L141" cl4ss="line" name="L141"> 14144      tdata->tdatapdataphys_prGFP_KERNEL hrehef="drivers/hwmon/coretemp.c#L197" id4"L142" cl4ss="line" name="L142"> 14244             hhre!="+code=u32" clclass="sref">tdata-> 14344                     phys_prNULL hreef="drivers/hwmon/coretemp.c#L197" id4"L144" cl4ss="line" name="L144"> 14444a href="drivers/hwmon/coretemp.c#L175" id4"L135" cl4ss="line" name="L145"> 14544             ="+code=edx" clclass="sref">tdata->status_sa hus_rest;status_pkg_flas hre ? ="+code=tdata" MSR_IA32_PACKAGE_THERM_STATUS="sref">attr 14644              }
attr 14744             ="+code=edx" clclass="sref">tdata->pdatas_pkg_lasst;status_pkg_flas hreef="drivers/hwmon/coretemp.c#L197" id4"L208" cl4ss="line" name="L148"> 14844             ="+code=edx" clclass="sref">tdata->rdmsr_oass hreref="+code=pdata" ass="sref">rdmsr_oass hreef="drivers/hwmon/coretemp.c#L197" id4"L129" cl4ss="line" name="L149"> 149449            ="+code=rdmsr_oclass="sref">tdata->phys_prass_p.c#_ssa hrref="+code=pdata" TO_CORE_ID="sref">phys_prTO_CORE_ID href="+code=tdata" ass="sref">rdmsr_oass hrehef="drivers/hwmon/coretemp.c#L197" id4"L150" cl4ss="line" name="L150"> 140450            ="+code=rdmsr_oclass="sref">tdata->attrattr 14145      __cpuinmutex_lass href href="+code=edx" clclass="sref">tdata->-&e_lock="sref">cpu_corua>-&e_lock hrehef="drivers/hwmon/coretemp.c#L197" id4"L142" cl4ss="line" name="L152"> 14245             tdata-> 14345a hreef="drivers/hwmon/coretemp.c#L157" id4"L144" cl4ss="line" name="L154"> 14445a href="drivers/hwmon/coretemp.c#L175" id4"L155" cl4ss="line" name="L155"> 14545     __cpuinit pdatadevicedevpass hreef="drivers/hwmon/coretemp.c#L183" id4"L156" cl4ss="line" name="L156"> 14645              }
rdmsr_oass hreefhref="+code=__cpuinpkg_flas="sref">status_pkg_flas hrehf="drivers/hwmon/coretemp.c#L173" id4"L157" cl4ss="line" name="L157"> 14745a hreef="drivers/hwmon/coretemp.c#L183" id4"L148" cl4ss="line" name="L158"> 14845             pdatatdata-> 14945             pdatapdata->pdatadevpass hrehef="drivers/hwmon/coretemp.c#L197" id4"L160" cl4ss="line" name="L160"> 140460            cpuinfo_x86 *c, pdatardmsr_oass hrehef="drivers/hwmon/coretemp.c#L197" id4"L161" cl4ss="line" name="L161"> 14146      u32 eax, edx;
 14246      struct href="+code=tjmax" ers="sref">time_afersa href="+code=u32" cllass_no="sref">attr 143463    f="drivers/hwmon/coretemp.c#L197" id4"L154" cl4ss="line" name="L164"> 144464     return =ass="comment">/* The 10                     s6ude=pdata" class="sr4"L155" cl4ss="line" name="L165"> 14546     =ass="comment">/* The          * Find lass number  hresysfs:                     s6ude=pdata" class="sr4"L156" cl4ss="line" name="L166"> 14646a hre=ass="comment">/* The          * Wi1map0a islass number to a" e56" of0a isCPU                     s6ude=pdata" class="sr4"L157" cl4ss="line" name="L167"> 14746     =ass="comment">/* The          * T islass number is always a" e56" + 2                     s6ude=pdata" class="sr4"L148" cl4ss="line" name="L168"> 14846     =ass="comment">/* The          * T isPkglass will always show up as lass1_*, hhravail>[]                      s6ude=pdata" class="sr4"L159" cl4ss="line" name="L169"> 14946a hre=ass="comment">/* The          *                      s6ude=pdata" class="sr4"L170" cl4ss="line" name="L170"> 140470            ="+code=rdmsr_olass_no="sref">attrstatus_pkg_flas hre ? 1 :f="+code=pdata" TO_ATTR_NO="sref">attrrdmsr_oass hrehef="drivers/hwmon/coretemp.c#L197" id4"L171" cl4ss="line" name="L171"> 14147a href="drivers/hwmon/coretemp.c#L212" id4"L172" cl4ss="line" name="L172"> 14247             hhre="+code=rdmsr_olass_no="sref">attrattr 14347                     attr 14447a href="drivers/hwmon/coretemp.c#L175" id4"L155" cl4ss="line" name="L175"> 14547             =ass="comment">/* The 10                     s6ude=pdata" class="sr4"L166" cl4ss="line" name="L176"> 14647a hre=ass="comment">/* The          * Providisl single set of0lassibutss  hreall HT si[]ings of0l a" e                     s6ude=pdata" class="sr4"L157" cl4ss="line" name="L177"> 14747     =ass="comment">/* The          * to avo6" duplic-&e sensors (a isprocessor ID > 21a" e5ID of0lll                     s6ude=pdata" class="sr4"L148" cl4ss="line" name="L178"> 14847     =ass="comment">/* The          * HT si[]ings of0l a" e are a iss78").                     s6ude=pdata" class="sr4"L159" cl4ss="line" name="L179"> 14947a hre=ass="comment">/* The          * Skip hhra HT si[]ing of0a is a" e56s already  14048     =ass="comment">/* The          * T 6s is13 14148     =ass="comment">/* The          *                      s6ude=pdata" class="sr4"L182" cl4ss="line" name="L182"> 14248             hhre="+code=rdmsr_oclass="sref">pdata->pdataattrphys_prNULL hrehf="drivers/hwmon/coretemp.c#L173" id4"L143" cl4ss="line" name="L183"> 14348                      14448a href="drivers/hwmon/coretemp.c#L175" id4"L165" cl4ss="line" name="L185"> 14548             ="+code=edx" clclass="sref">tdata-> pdata rdmsr_oass hreef="+code=__cpuinpkg_flas="sref">status_pkg_flas hrehef="drivers/hwmon/coretemp.c#L185" id4"L166" cl4ss="line" name="L186"> 1464              hhre!="+code=u32" clclass="sref">tdata-> 1474               attr 14848atic f="drivers/hwmon/coretemp.c#L157" id4"L159" cl4ss="line" name="L189"> 14948             =ass="comment">/* The 10 Testrifrwe cs="access a issa hus  140490            ="+code=rdmsr_oers="sref">time_afersa hrref="+code=pdata" n_cpurdmsr_on_cpurdmsr_oass hreef="+code=__cpuinclass="sref">tdata->status_sa hus_rest;eax, &edx);
 14149             href="+code=eax" clars="sref">time_afersa hrhf="drivers/hwmon/coretemp.c#L173" id4"L192" cl4ss="line" name="L192"> 14249              if (tjmax_texit_fresa href="drivers/hwmon/coretemp.c#L173" id4"L193" cl4ss="line" name="L193"> 143493    f="drivers/hwmon/coretemp.c#L197" id4"L194" cl4ss="line" name="L194"> 144494     return =ass="comment">/* The 10 Wi1cs="access sa hus  14549             ="+code=edx" clclass="sref">tdata->adjust_cble"a hraef="+code=pdata" dataLlass="sref">adjust_dataLlass href="+code=tdata" a="sref">c, rdmsr_oass hreef href="+code=edx" cloass="sref">devpass hre href="+code=temp" cass="sref">dev);
 1464      f="drivers/hwmon/coretemp.c#L173" id4"L177" cl4ss="line" name="L197"> 14749             =ass="comment">/* The 10                     s6ude=pdata" class="sr4"L168" cl4ss="line" name="L198"> 14849     =ass="comment">/* The          * Read a issaill undocu* Thed bits 8:15 of0IA32_TEMPERATURE_TARGET.                     s6ude=pdata" class="sr4"L199" cl4ss="line" name="L199"> 14949a hre=ass="comment">/* The          * T istarges lasser hu e56s avail>[]  on older      but13 25050     =ass="comment">/* The          *  25150     =ass="comment">/* The          *                      s6ude=pdata" class="sr5"L202" cl5ss="line" name="L202"> 25250             hhre="+code=rdmsr_os="sref">c, cpu_cor *<_mp" l0; c, cpu_cor *<_mp" l0;  25350                     ="+code=rdmsr_oers="sref">time_afersa hrref="+code=pdata" n_cpurdmsr_on_cpurdmsr_oass hreef="+code=__cpuinMSR_IA32_TEMPERATURE_TARGET="sref">attr 25450                                              href="+code=edx" class="sref">eax, &edx);
 25550                     hhre!="+code=u32" clars="sref">time_afersa hrhref="drivers/hwmon/coretemp.c#L183" id5"6205" cl5ss="line" name="L196"> 15650              }
tdata->__cpuinLtarges    f="drivers/hwmon/coretemp.c#L183" id5"7205" cl5ss="line" name="L197"> 15750                               ef="+code=tdata" class="sref">tdata->adjust_cble"a hra- (f="+code=eax" class="sref">eax, &a) &a) &am8)a hrefhrxff)a
 15850                             ="+code=u32" clclass="sref">tdata->attr 15950               250510            ef="drivers/hwmon/coretemp.c#L157" id5"L201" cl5ss="line" name="L211"> 25151a href="drivers/hwmon/coretemp.c#L212" id5"L212" cl5ss="line" name="L212"> 25251      struct ="+code=u32" clclass="sref">pdata->pdataattrtdata-> 253513    f="drivers/hwmon/coretemp.c#L197" id5"L214" cl5ss="line" name="L214"> 254514     return =ass="comment">/* The 10 Createesysfs hreerfaces *                      s6ude=pdata" class="sr5"L215" cl5ss="line" name="L215"> 25551             ="+code=edx" clers="sref">time_afersa hrref="+code=pdata" create_p.c#_lasss="sref">jiffiescreate_p.c#_lasss href="+code=tdata" class="sref">tdata->devpass hre href="+code=temp" cass="sref">dev);
attr51             hhre="+code=eax" clars="sref">time_afersa hrhf="drivers/hwmon/coretemp.c#L173" id5t  15751                     gotof="+code=rdmsr_oexit_fres="sref">tjmax_texit_fresa href="drivers/hwmon/coretemp.c#L173" id5"8207" cl5ss="line" name="L118"> 15851atic f="drivers/hwmon/coretemp.c#L157" id5"L209" cl5ss="line" name="L119"> 15951              15052tjmax_texit_fresa hr:f="drivers/hwmon/coretemp.c#L175" id5"L121" cl5ss="line" name="L121"> 15152      pdata->pdataattrphys_prNULL hreef="drivers/hwmon/coretemp.c#L197" id5"L122" cl5ss="line" name="L122"> 15252      struct ="+code=u32" clkfres="sref">tjmax_tkfresa hrf="+code=tdata" class="sref">tdata-> 15352             time_afersa href="drivers/hwmon/coretemp.c#L197" id5"L214" cl5ss="line" name="L124"> 15452     ef="drivers/hwmon/coretemp.c#L157" id5"L215" cl5ss="line" name="L125"> 15552a href="drivers/hwmon/coretemp.c#L136" id5"L126" cl5ss="line" name="L126"> 15652a hre__cpuinit pdatardmsr_oass hreefhref="+code=__cpuinpkg_flas="sref">status_pkg_flas hrehf="drivers/hwmon/coretemp.c#L173" id5"  15752a hreef="drivers/hwmon/coretemp.c#L183" id5"L208" cl5ss="line" name="L128"> 15852             devicedevpass hreref="+code=pdata" c.c#L136_datapass="sref">devs.c#L157_datapass href="+code=__cpuinass="sref">rdmsr_oass hreref="drivers/hwmon/coretemp.c#L180" id5"L209" cl5ss="line" name="L129"> 15952             href="+code=tjmax" ers="sref">time_afersa href="drivers/hwmon/coretemp.c#L180" id5"L130" cl5ss="line" name="L130"> 15053a href="drivers/hwmon/coretemp.c#L71" id=5"L131" cl5ss="line" name="L131"> 15153             href!="+code=u32" cl0lss="sref">devpass hrehf="drivers/hwmon/coretemp.c#L71" id=5"L122" cl5ss="line" name="L132"> 15253              if ( 153533    f="drivers/hwmon/coretemp.c#L197" id5"L214" cl5ss="line" name="L134"> 154534     return ="+code=u32" clers="sref">time_afersa hrref="+code=pdata" create_p.c#_lass="sref">pdatadevpass hreef="+code=__cpuinass="sref">rdmsr_oass hreef="+code=__cpuinpkg_flas="sref">status_pkg_flas hrehef="drivers/hwmon/coretemp.c#L185" id5"L215" cl5ss="line" name="L135"> 155535            href="+code=eax" clars="sref">time_afersa hrhf="drivers/hwmon/coretemp.c#L173" id5"L136" cl5ss="line" name="L136"> 15653              }
time_afass_ rs href href="+code=edx" cloass="sref">devpass hre href="+code=temp" cass="sref">dev);
"CPU  33Adding0C" c n&quou failed;, rdmsr_oass hrehef="drivers/hwmon/coretemp.c#L185" id5"  15753a hreef="drivers/hwmon/coretemp.c#L157" id5"L208" cl5ss="line" name="L138"> 15853atic f="drivers/hwmon/coretemp.c#L157" id5"L129" cl5ss="line" name="L139"> 15953     pdatapdatapdata-> 15054              device *dev)
edxinssa hrhf="drivers/hwmon/coretemp.c#L173" id5"L141" cl5ss="line" name="L141"> 15154     ef="drivers/hwmon/coretemp.c#L183" id5"L142" cl5ss="line" name="L142"> 15254      struct href="+code=tjmax" s="sref">i = 0;  15354             pdatatdata->pdata->pdataedxinssa hr]ef="drivers/hwmon/coretemp.c#L173" id5"L144" cl5ss="line" name="L144"> 15454a href="drivers/hwmon/coretemp.c#L175" id5"L135" cl5ss="line" name="L145"> 15554             =ass="comment">/* The 10 Remove a issysfs lassibutss *                      s6ude=pdata" class="sr5"L136" cl5ss="line" name="L146"> 15654              href="+code=i" class="sref">i = 0; i = 0; tdata->attri = 0; <++h              s6ude=pdata" class="sr5"  15754               *<_remove_fiss="sref">tjmax_t/a> *<_remove_fiss href="+code=tdata" ass="sref">dev,
tdata->jiffiessd_lasss    <="+code=false" s="sref">i = 0; <]f="+code=cpu_cor/a>_lass="sref">attr 15854atic f="drivers/hwmon/coretemp.c#L157" id5"L129" cl5ss="line" name="L149"> 159549            ="+code=rdmsr_okfres="sref">tjmax_tkfresa hrf="+code=tdata" plass="sref">pdata->pdataedxinssa hr]ref="drivers/hwmon/coretemp.c#L173" id5"L150" cl5ss="line" name="L150"> 150550            ="+code=rdmsr_oplass="sref">pdata->pdataedxinssa hr]aef="+code=tdata" NULL="sref">phys_prNULL hreef="drivers/hwmon/coretemp.c#L197" id5"L151" cl5ss="line" name="L151"> 15155     ef="drivers/hwmon/coretemp.c#L157" id5"L142" cl5ss="line" name="L152"> 15255     f="drivers/hwmon/coretemp.c#L157" id5"L143" cl5ss="line" name="L153"> 15355a hre__cpuinit/a> ass href="+code=adjust_c.c#L136_prob#="sref">pdatadevicedevpass hreh              s6ude=pdata" class="sr5"L144" cl5ss="line" name="L154"> 15455a hreef="drivers/hwmon/coretemp.c#L183" id5"L155" cl5ss="line" name="L155"> 15555             pdatapdata-> 15655             href="+code=tjmax" ers="sref">time_afersa href="drivers/hwmon/coretemp.c#L180" id5"L157" cl5ss="line" name="L157"> 15755a href="drivers/hwmon/coretemp.c#L180" id5"L208" cl5ss="line" name="L158"> 15855             =ass="comment">/* The 10 Iassialize a isper-package >-&g  159559            ="+code=rdmsr_oclass="sref">pdata->tdatapdataphys_prGFP_KERNEL hrehef="drivers/hwmon/coretemp.c#L197" id5"L160" cl5ss="line" name="L160"> 150560            href!="+code=u32" cl0lass="sref">pdata-> 15156      attr 15256     f="drivers/hwmon/coretemp.c#L157" id5"L143" cl5ss="line" name="L163"> 153563            ="+code=rdmsr_oers="sref">time_afersa hrref="+code=pdata" create_163"_lass="sref">attrpdata->devpass hre href="+code=temp" cass="sref">dev);
 154564     return href="+code=eax" clars="sref">time_afersa hrhf="drivers/hwmon/coretemp.c#L173" id5"L155" cl5ss="line" name="L165"> 15556                     gotof="+code=rdmsr_oexit_fres="sref">tjmax_texit_fresa href="drivers/hwmon/coretemp.c#L173" id5"L156" cl5ss="line" name="L166"> 15656     f="drivers/hwmon/coretemp.c#L173" id5"L157" cl5ss="line" name="L167"> 15756             ="+code=edx" clplass="sref">pdata->phys_prohys_procassa hrref="+code=pdata" oass="sref">devpass hre href="+code=temp" css="sref">phys_prssa href="drivers/hwmon/coretemp.c#L173" id5"L208" cl5ss="line" name="L168"> 15856             ="+code=edx" cla_datapdatadevpass hreef="+code=__cpuinplass="sref">pdata-> 15956a href="drivers/hwmon/coretemp.c#L173" id5"L170" cl5ss="line" name="L170"> 150570            ="+code=rdmsr_oplass="sref">pdata->devorete_lssa hrref="+code=pdata" orete_lss *<_register="sref">devorete_lss *<_register href href="+code=edx" cloass="sref">devpass hre href="+code=temp" cass="sref">dev);
 15157             href="+code=eax" clIS_ERR="sref">devIS_ERRa hrf="+code=tdata" plass="sref">pdata->devorete_lssa hr)href="drivers/hwmon/coretemp.c#L183" id5"L172" cl5ss="line" name="L172"> 15257              if (time_afersa hrref="+code=pdata" PTR_ERR="sref">devPTR_ERRa hrf="+code=tdata" plass="sref">pdata->devorete_lssa hr)ef="drivers/hwmon/coretemp.c#L173" id5"L143" cl5ss="line" name="L173"> 15357                     ="+code=tjmax" ass_ rs="sref">time_afass_ rs href href="+code=edx" cloass="sref">devpass hre href="+code=temp" cass="sref">dev);
"CPU  33Ctrins, time_afersa hrhef="drivers/hwmon/coretemp.c#L173" id5"L154" cl5ss="line" name="L174"> 15457                     gotof="+code=rdmsr_oexit_174"="sref">tjmax_texit_174"a href="drivers/hwmon/coretemp.c#L173" id5"L155" cl5ss="line" name="L175"> 15557             ef="drivers/hwmon/coretemp.c#L157" id5"L166" cl5ss="line" name="L176"> 15657              15757a href="drivers/hwmon/coretemp.c#L180" id5"L148" cl5ss="line" name="L178"> 15857     ="+code=rdmsr_oexit_174"="sref">tjmax_texit_174"a hr:f="drivers/hwmon/coretemp.c#L175" id5"L159" cl5ss="line" name="L179"> 159579            ="+code=rdmsr_o/a> *<_remove_fiss="sref">tjmax_t/a> *<_remove_fiss href href="+code=edx" cloass="sref">devpass hre href="+code=temp" cass="sref">dev);
pdata->attr 150580            ="+code=rdmsr_op_datapdatadevpass hreef="+code=__cpuinNULL="sref">phys_prNULL hrehef="drivers/hwmon/coretemp.c#L173" id5"L171" cl5ss="line" name="L181"> 15158     ="+code=rdmsr_oexit_fres="sref">tjmax_texit_fresa hr:f="drivers/hwmon/coretemp.c#L175" id5"L182" cl5ss="line" name="L182"> 15258      struct ="+code=u32" clkfres="sref">tjmax_tkfresa hrf="+code=tdata" plass="sref">pdata-> 15358             time_afersa href="drivers/hwmon/coretemp.c#L197" id5"L154" cl5ss="line" name="L184"> 15458     ef="drivers/hwmon/coretemp.c#L157" id5"L165" cl5ss="line" name="L185"> 15558a href="drivers/hwmon/coretemp.c#L136" id5"L166" cl5ss="line" name="L186"> 15658a hre__cpuinit/a>exit href="+code=adjust_c.c#L136_remove="sref">pdatadevicedevpass hreh              s6ude=pdata" class="sr5"L177" cl5ss="line" name="L187"> 15758a hreef="drivers/hwmon/coretemp.c#L183" id5"L168" cl5ss="line" name="L188"> 15858             pdatapdata->pdatadevpass hrehef="drivers/hwmon/coretemp.c#L197" id5"L159" cl5ss="line" name="L189"> 15958             href="+code=tjmax" s="sref">i = 0;  15059a href="drivers/hwmon/coretemp.c#L71" id=5"L181" cl5ss="line" name="L191"> 15159              href="+code=i" class="sref">i = 0; attri = 0; i = 0;  15259              if (pdata->pdatai = 0; <]h              s6ude=pdata" class="sr5"L143" cl5ss="line" name="L193"> 15359                      struct ="+code=u32" cls.c#L157_remove_p.c#="sref">pdatapdata->devpass hre href="+code=temp" cass="sref">dev);
i = 0;  15459a href="drivers/hwmon/coretemp.c#L175" id5"L165" cl5ss="line" name="L195"> 15559             ="+code=edx" cl/a> *<_remove_fiss="sref">tjmax_t/a> *<_remove_fiss href href="+code=edx" cloass="sref">devpass hre href="+code=temp" cass="sref">dev);
pdata->attr 156596     return ="+code=u32" clorete_lss *<_unregister="sref">devorete_lss *<_unregistera hrf="+code=tdata" plass="sref">pdata->devorete_lssa hr)ef="drivers/hwmon/coretemp.c#L173" id5"L177" cl5ss="line" name="L197"> 15759             ="+code=edx" clp_datapdatadevpass hreef="+code=__cpuinNULL="sref">phys_prNULL hrehef="drivers/hwmon/coretemp.c#L173" id5"L168" cl5ss="line" name="L198"> 15859             ="+code=edx" clkfres="sref">tjmax_tkfresa hrf="+code=tdata" plass="sref">pdata-> 15959              26060     ef="drivers/hwmon/coretemp.c#L157" id6"L201" cl6ss="line" name="L201"> 26160a href="drivers/hwmon/coretemp.c#L212" id6"L202" cl6ss="line" name="L202"> 26260     pdatapdata 26360             f="+code=cpu_cor/hwmon="sref">pdata 16460                     f="+code=cpu_corownon="sref">pdatapdata 16560                     f="+code=cpu_cor174"="sref">tjmax_t174"a hra h="+code=i" clasDRVNAME="sref">pdata 16660             }ef="drivers/hwmon/coretemp.c#L183" id6"7203" cl6ss="line" name="L197"> 16760             f="+code=cpu_corprob#="sref">pdatapdata 16860             f="+code=cpu_corremove="sref">pdataexit_p="sref">__cpuinit/a>exit_pa hrf="+code=tdata" c.c#L136_remove="sref">pdata 16960     }ef="drivers/hwmon/coretemp.c#L185" id6"L210" cl6ss="line" name="L210"> 26061a href="drivers/hwmon/coretemp.c#L71" id=6"L201" cl6ss="line" name="L211"> 26161a hre__cpuinit phys_pra.c#L136_lss *<_adsa hrfunsignedfhref="+code=__cpuinass="sref">rdmsr_oass hreh              s6ude=pdata" class="sr6"L212" cl6ss="line" name="L212"> 26261     ef="drivers/hwmon/coretemp.c#L183" id6"L213" cl6ss="line" name="L213"> 26361             href="+code=tjmax" ers="sref">time_afersa href="drivers/hwmon/coretemp.c#L180" id6"L214" cl6ss="line" name="L214"> 264614     return devicedevpass hreef="drivers/hwmon/coretemp.c#L180" id6"5203" cl6ss="line" name="L215"> 26561             devpass_ ntry hreff="+code=dev" clclss_ ntry="sref">devpass_ ntry hreef="drivers/hwmon/coretemp.c#L180" id6"6203" cl6              ne" name="6126">61     f="drivers/hwmon/coretemp.c#L173" id6t  16761             ="+code=edx" clmutex_lock="sref">cpu_cormutex_lock href href="+code=edx" cloass_list_mutex="sref">devpass_list_mutext; 16861atic f="drivers/hwmon/coretemp.c#L157" id6"L209" cl6ss="line" name="L119"> 169619            ="+code=rdmsr_oclss="sref">devpass hreref="+code=pdata" o_datatdatapdataphys_prTO_PHYS_IDa hrf="+code=tdata" css="sref">rdmsr_oass hrehhef="drivers/hwmon/coretemp.c#L173" id6"L120" cl6ss="line" name="L120"> 160620            href!="+code=u32" cl0lss="sref">devpass hrehhef="drivers/hwmon/coretemp.c#L183" id6"L121" cl6ss="line" name="L121"> 16162      time_afersa hrref-="+code=false" ENOMEM="sref">attr 16262              if (time_afpr_ rsa hrf=ass="string">"CPU  33Dclass allocation failed;,  16362                     gotof="+code=rdmsr_oexit="sref">tjmax_texita href="drivers/hwmon/coretemp.c#L173" id6"L214" cl6ss="line" name="L124"> 164624     return ef="drivers/hwmon/coretemp.c#L157" id6"L215" cl6ss="line" name="L125"> 16562a href="drivers/hwmon/coretemp.c#L136" id6"L126" cl6ss="line" name="L126"> 166626     return ="+code=u32" cloass_ ntry="sref">devpass_ ntry hrefef="+code=pdata" kzalloc="sref">tdatadevpass_ ntry hre)e ="+code=u32" clGFP_KERNEL="sref">phys_prGFP_KERNEL hrehef="drivers/hwmon/coretemp.c#L197" id6"  167627            href!="+code=u32" cl0lss_ ntry="sref">devpass_ ntry hre)hef="drivers/hwmon/coretemp.c#L183" id6"8207" cl6ss="line" name="L128"> 16862                     ="+code=tjmax" ers="sref">time_afersa hrref-="+code=false" ENOMEM="sref">attr 16962              tjmax_texit_lclass_puta href="drivers/hwmon/coretemp.c#L173" id6"L130" cl6ss="line" name="L130"> 160630            ef="drivers/hwmon/coretemp.c#L157" id6"L131" cl6ss="line" name="L131"> 16163a href="drivers/hwmon/coretemp.c#L212" id6"L122" cl6ss="line" name="L132"> 16263      struct ="+code=u32" clers="sref">time_afersa hrref="+code=pdata" o_dataphys_pro_datadevpass hrehef="drivers/hwmon/coretemp.c#L197" id6"L213" cl6ss="line" name="L133"> 163633            href="+code=u32" clers="sref">time_afersa hr)hef="drivers/hwmon/coretemp.c#L183" id6"L214" cl6ss="line" name="L134"> 16463                     ="+code=rdmsr_opr_ rs="sref">time_afpr_ rsa hrf=ass="string">"CPU  33Dclass addition failed (n&quod);, time_afersa hrhef="drivers/hwmon/coretemp.c#L173" id6"L215" cl6ss="line" name="L135"> 16563                     gotof="+code=rdmsr_oexit_lclass_fres="sref">tjmax_texit_lclass_fresa href="drivers/hwmon/coretemp.c#L173" id6"L126" cl6ss="line" name="L136"> 16663             ef="drivers/hwmon/coretemp.c#L157" id6"  16763a href="drivers/hwmon/coretemp.c#L180" id6"L208" cl6ss="line" name="L138"> 16863             ="+code=edx" clalss_ ntry="sref">devpass_ ntry hre href="+code=temp" colss="sref">devpass hreref="+code=pdata" olss="sref">devpass hreef="drivers/hwmon/coretemp.c#L180" id6"L129" cl6ss="line" name="L139"> 169639            ="+code=rdmsr_oclss_ ntry="sref">devpass_ ntry hre href="+code=temp" cohys_procass="sref">phys_prohys_procassa hrref="+code=pdata" oass="sref">devpass hre href="+code=temp" css="sref">phys_prssa href="drivers/hwmon/coretemp.c#L173" id6"L140" cl6ss="line" name="L140"> 16064a href="drivers/hwmon/coretemp.c#L71" id=6"L141" cl6ss="line" name="L141"> 16164      phys_prlist_add_tail href href="+code=edx" cloass_ ntry="sref">devpass_ ntry hre href="+code=temp" clist="sref">phys_prlistt;phys_proass_lista hrhef="drivers/hwmon/coretemp.c#L173" id6"L142" cl6ss="line" name="L142"> 16264      struct ="+code=u32" clmutex_unlock="sref">cpu_cormutex_unlock href href="+code=edx" cloass_list_mutex="sref">devpass_list_mutext; 163643    f="drivers/hwmon/coretemp.c#L197" id6"L144" cl6ss="line" name="L144"> 16464              16564a href="drivers/hwmon/coretemp.c#L136" id6"L136" cl6ss="line" name="L146"> 16664     ="+code=rdmsr_oexit_lclass_fres="sref">tjmax_texit_lclass_fresa hr:f="drivers/hwmon/coretemp.c#L175" id6"  16764             ="+code=edx" clkfres="sref">tjmax_tkfresa hrf="+code=tdata" plss_ ntry="sref">devpass_ ntry hre)ef="drivers/hwmon/coretemp.c#L185" id6"L208" cl6ss="line" name="L148"> 16864     ="+code=rdmsr_oexit_lclass_put="sref">tjmax_texit_lclass_puta hr:f="drivers/hwmon/coretemp.c#L175" id6"L129" cl6ss="line" name="L149"> 169649            ="+code=rdmsr_oo_datatjmax_to_datadevpass hrehef="drivers/hwmon/coretemp.c#L197" id6"L150" cl6ss="line" name="L150"> 16065tjmax_texita hr:f="drivers/hwmon/coretemp.c#L175" id6"L151" cl6ss="line" name="L151"> 16165      cpu_cormutex_unlock href href="+code=edx" cloass_list_mutex="sref">devpass_list_mutext; 162652            time_afersa href="drivers/hwmon/coretemp.c#L180" id6"L143" cl6ss="line" name="L153"> 16365a hreef="drivers/hwmon/coretemp.c#L157" id6"L144" cl6ss="line" name="L154"> 16465a href="drivers/hwmon/coretemp.c#L175" id6"L155" cl6ss="line" name="L155"> 16565     __cpuinit phys_pra.c#L136_lss *<_remove hrefunsignedfhref="+code=__cpuinass="sref">rdmsr_oass hreh              s6ude=pdata" class="sr6"L136" cl6ss="line" name="L156"> 16665     ef="drivers/hwmon/coretemp.c#L183" id6"L157" cl6ss="line" name="L157"> 16765             devpass_ ntry hreff="+code=dev" clc="sref">devpt;tjmax_t1a href="drivers/hwmon/coretemp.c#L180" id6"L208" cl6ss="line" name="L158"> 16865             ="+code=edx" clu           jmax_tu1      ="+code=temp" cohys_procass="sref">phys_prohys_procassa hrref="+code=pdata" TO_PHYS_ID="sref">phys_prTO_PHYS_IDa hrf="+code=tdata" css="sref">rdmsr_oass hrehef="drivers/hwmon/coretemp.c#L180" id6"L129" cl6ss="line" name="L159"> 16965a href="drivers/hwmon/coretemp.c#L173" id6"L160" cl6ss="line" name="L160"> 160660            ="+code=rdmsr_omutex_lock="sref">cpu_cormutex_lock href href="+code=edx" cloass_list_mutex="sref">devpass_list_mutext; 16166      phys_prlist_ta<_each_ ntrydevpt;tjmax_t1a href href="+code=edx" cloass_list="sref">phys_proass_lista href="+code=dev" cllist="sref">phys_prlistt; 16266              if (devpt;phys_prohys_procassa hrr!ef="+code=pdata" ohys_procass="sref">phys_prohys_procassa hrh              s6ude=pdata" class="sr6"L143" cl6ss="line" name="L163"> 16366                      struct continueef="drivers/hwmon/coretemp.c#L173" id6"L144" cl6ss="line" name="L164"> 16466                     ="+code=rdmsr_op_datadevp_datadevpt;devpass hrehef="drivers/hwmon/coretemp.c#L173" id6"L155" cl6ss="line" name="L165"> 16566                     ="+code=u32" cllist_" l="sref">cpu_corlist_" l href href="+code=edx" clo="sref">devpt;phys_prlistt; 16666              }
tjmax_tkfresa hrf="+code=tdata" p="sref">devpt; 16766             ef="drivers/hwmon/coretemp.c#L157" id6"L208" cl6ss="line" name="L168"> 16866             ="+code=edx" clmutex_unlock="sref">cpu_cormutex_unlock href href="+code=edx" cloass_list_mutex="sref">devpass_list_mutext; 16966a hreef="drivers/hwmon/coretemp.c#L157" id6"L170" cl6ss="line" name="L170"> 16067a href="drivers/hwmon/coretemp.c#L71" id=6"L171" cl6ss="line" name="L171"> 16167a hrecpu_corbool     ="+code=temp" cit" class="sref">__cpuinit phys_prss_any_p.c#_oname= hrefsa href="+code=cpuinfoo_datapdatapdata-> 16267     ef="drivers/hwmon/coretemp.c#L183" id6"L143" cl6ss="line" name="L173"> 16367             href="+code=tjmax" s="sref">i = 0;  16467a href="drivers/hwmon/coretemp.c#L175" id6"L155" cl6ss="line" name="L175"> 16567             =ass="comment">/* The 10 Find oname= p.c#s, except pkgL175 >-&g *                      s6ude=pdata" class="sr6"L166" cl6ss="line" name="L176"> 16667              href="+code=i" class="sref">i = 0; attri = 0; i = 0;  16767              pdata->pdatai = 0; <]rx7f) x7f) f="drivers/hwmon/coretemp.c#L183" id6"L208" cl6ss="line" name="L178"> 16867                             !="+code=u32" cl0lass="sref">pdata->pdatai = 0; <] href="+code=temp" css_pkg_lass="sref">pdata 16967              phys_pra h=0;  16068               16168       162682            phys_prfals=0;  16368a hreef="drivers/hwmon/coretemp.c#L157" id6"L154" cl6ss="line" name="L184"> 16468a href="drivers/hwmon/coretemp.c#L175" id6"L165" cl6ss="line" name="L185"> 16568     __cpuinit phys_prdatap.c#_oname= hrefunsignedfhref="+code=__cpuinass="sref">rdmsr_oass hreh              s6ude=pdata" class="sr6"L166" cl6ss="line" name="L186"> 16668     ef="drivers/hwmon/coretemp.c#L183" id6"L177" cl6ss="line" name="L187"> 16768             tdatapdatardmsr_oass hrehef="drivers/hwmon/coretemp.c#L180" id6"L168" cl6ss="line" name="L188"> 16868             devicedevpass hreref="+code=pdata" c.c#L136_datapass="sref">devs.c#L157_datapass href="+code=__cpuinass="sref">rdmsr_oass hreref="drivers/hwmon/coretemp.c#L180" id6"L159" cl6ss="line" name="L189"> 16968             href="+code=tjmax" ers="sref">time_afersa href="drivers/hwmon/coretemp.c#L180" id6"L190" cl6ss="line" name="L190"> 16069a href="drivers/hwmon/coretemp.c#L71" id=6"L181" cl6ss="line" name="L191"> 16169             =ass="comment">/* The 10                     s6ude=pdata" class="sr6"L192" cl6ss="line" name="L192"> 16269     =ass="comment">/* The    16369     =ass="comment">/* The    16469a hre=ass="comment">/* The    16569     =ass="comment">/* The    166696     return href!="+code=u32" cl_/a_has="sref">pdatatdataattr 16769               16869atic f="drivers/hwmon/coretemp.c#L157" id6"L199" cl6ss="line" name="L199"> 16969             href!="+code=u32" cl0lss="sref">devpass hrehhef="drivers/hwmon/coretemp.c#L183" id7"L200" cl7ss="line" name="L200"> 27070              /* The 10 Check a e micro2" c mon/ion of a isCPU *                      s6ude=pdata" class="sr7"L201" cl7ss="line" name="L201"> 27170      tdatardmsr_oass hrerh              s6ude=pdata" class="sr7"L202" cl7ss="line" name="L202"> 27270              if ( 273703    f="drivers/hwmon/coretemp.c#L197" id7"4203" cl7ss="line" name="L194"> 17470                     =ass="comment">/* The 10                     s6ude=pdata" class="sr7"5203" cl7ss="line" name="L195"> 17570     =ass="comment">/* The    17670     =ass="comment">/* The    17770     =ass="comment">/* The   -&g  17870     =ass="comment">/* The    17970     =ass="comment">/* The    27071              time_afersa hrref="+code=pdata" c.c#L136_lss *<_ads="sref">phys_pra.c#L136_lss *<_adsa hrf="+code=__cpuinass="sref">rdmsr_oass hreref="drivers/hwmon/coretemp.c#L180" id7"L201" cl7ss="line" name="L211"> 27171      time_afersa hrhf="drivers/hwmon/coretemp.c#L173" id7"L212" cl7ss="line" name="L212"> 27271              if ( 27371                     =ass="comment">/* The 10                     s6ude=pdata" class="sr7"L214" cl7ss="line" name="L214"> 27471a hre=ass="comment">/* The    27571     =ass="comment">/* The   71     =ass="comment">/* The    17771              pdatatdataattr 17871                             ="+code=pdata" c.c#L136_add_c.c#="sref">phys_pra.c#L136_add_c.c#a hrf="+code=__cpuinass="sref">rdmsr_oass hre, 1ref="drivers/hwmon/coretemp.c#L180" id7"9203" cl7ss="line" name="L119"> 179719            ef="drivers/hwmon/coretemp.c#L157" id7"L120" cl7ss="line" name="L120"> 170720            =ass="comment">/* The 10                     s6ude=pdata" class="sr7"L121" cl7ss="line" name="L121"> 17172     =ass="comment">/* The    17272     =ass="comment">/* The    17372     =ass="comment">/* The    174724     return ="+code=pdata" c.c#L136_add_c.c#="sref">phys_pra.c#L136_add_c.c#a hrf="+code=__cpuinass="sref">rdmsr_oass hre, 0ref="drivers/hwmon/coretemp.c#L180" id7"L215" cl7ss="line" name="L125"> 17572a hreef="drivers/hwmon/coretemp.c#L157" id7"6203" cl7ss="line" name="L126"> 17672     f="drivers/hwmon/coretemp.c#L173" id7"  177727    __cpuinit phys_prputap.c#_offame= hrefunsignedfhref="+code=__cpuinass="sref">rdmsr_oass hreh              s6ude=pdata" class="sr7"8207" cl7ss="line" name="L128"> 17872     ef="drivers/hwmon/coretemp.c#L183" id7"L209" cl7ss="line" name="L129"> 17972             href="+code=tjmax" s="sref">i = 0; edxinssa href="drivers/hwmon/coretemp.c#L180" id7"L130" cl7ss="line" name="L130"> 170730            pdatapdata-> 171731            devicedevpass hreref="+code=pdata" c.c#L136_datapass="sref">devs.c#L157_datapass href="+code=__cpuinass="sref">rdmsr_oass hreref="drivers/hwmon/coretemp.c#L180" id7"L122" cl7ss="line" name="L132"> 17273     f="drivers/hwmon/coretemp.c#L157" id7"L213" cl7ss="line" name="L133"> 173733            =ass="comment">/* The 10 If a isphysicalsCPU dclass doss not exist, just  17473             href!="+code=u32" cl0lss="sref">devpass hreh              s6ude=pdata" class="sr7"L215" cl7ss="line" name="L135"> 17573                     ra hreef="drivers/hwmon/coretemp.c#L180" id7"L126" cl7ss="line" name="L136"> 17673     f="drivers/hwmon/coretemp.c#L173" id7"  17773             ="+code=edx" clplass="sref">pdata->pdatadevpass hrehef="drivers/hwmon/coretemp.c#L197" id7"L208" cl7ss="line" name="L138"> 17873atic f="drivers/hwmon/coretemp.c#L157" id7"L129" cl7ss="line" name="L139"> 179739            ="+code=rdmsr_osnss="sref">edxinssa hrref="+code=pdata" TO_ATTR_NO="sref">edxTO_ATTR_NO href="+code=__cpuinass="sref">rdmsr_oass hreref="drivers/hwmon/coretemp.c#L180" id7"L140" cl7ss="line" name="L140"> 17074a href="drivers/hwmon/coretemp.c#L71" id=7"L141" cl7ss="line" name="L141"> 17174             =ass="comment">/* The 10 The p.c# hd is too big, just  17274      struct hhre="+code=rdmsr_osnss="sref">edxinssa hrrhrefh="+code=i" clasMAX_CORE_DATA="sref">attr 17374                     ra hreef="drivers/hwmon/coretemp.c#L180" id7"L144" cl7ss="line" name="L144"> 17474a href="drivers/hwmon/coretemp.c#L175" id7"L135" cl7ss="line" name="L145"> 175745     struct hhre="+code=rdmsr_o0lass="sref">pdata->pdataedxinssa hr]rx7f) x7f)  ="+code=rdmsr_oplass="sref">pdata->pdataedxinssa hr] href="+code=temp" cpss="sref">rdmsr_oass hre =ef="+code=pdata" css="sref">rdmsr_oass hreh              s6ude=pdata" class="sr7"L136" cl7ss="line" name="L146"> 17674              }
pdatapdata->devpass hre href="+code=temp" cass="sref">dev);
edxinssa hrref="drivers/hwmon/coretemp.c#L180" id7"  17774a href="drivers/hwmon/coretemp.c#L180" id7"L208" cl7ss="line" name="L148"> 178748            =ass="comment">/* The 10                     s6ude=pdata" class="sr7"L129" cl7ss="line" name="L149"> 17974     =ass="comment">/* The    17075/* The    17175     =ass="comment">/* The    17275     =ass="comment">/* The    17375     =ass="comment">/* The    174754     return ="+code=pdata" ta<_each_sibluot="sref">edxta<_each_sibluot href="+code=tdata" s="sref">i = 0; rdmsr_oass hrehhef="drivers/hwmon/coretemp.c#L183" id7"L155" cl7ss="line" name="L155"> 17575                     hhre="+code=rdmsr_os="sref">i = 0; rdmsr_oass hrehhef="drivers/hwmon/coretemp.c#L183" id7"L136" cl7ss="line" name="L156"> 17675              }
phys_prdatap.c#_oname= href="+code=rdmsr_os="sref">i = 0;  17775              /* The 10                     s6ude=pdata" class="sr7"L208" cl7ss="line" name="L158"> 17875     =ass="comment">/* The   -&g  hreone HT sibluot                     s6ude=pdata" class="sr7"L129" cl7ss="line" name="L159"> 17975     =ass="comment">/* The    17076/* The    17176     =ass="comment">/* The    17276              if ( 17376                     ef="drivers/hwmon/coretemp.c#L157" id7"L144" cl7ss="line" name="L164"> 17476             ef="drivers/hwmon/coretemp.c#L157" id7"L155" cl7ss="line" name="L165"> 17576             =ass="comment">/* The 10                     s6ude=pdata" class="sr7"L136" cl7ss="line" name="L166"> 17676     =ass="comment">/* The    17776     =ass="comment">/* The    17876     =ass="comment">/* The    17976     =ass="comment">/* The    17077/* The    17177             href!="+code=u32" clis_any_p.c#_oname="Lsref">phys_prss_any_p.c#_oname= href="+code=tdata" plass="sref">pdata-> 17277              if (phys_pra.c#L136_lss *<_remove href="+code=__cpuinass="sref">rdmsr_oass hreref="drivers/hwmon/coretemp.c#L180" id7"L143" cl7ss="line" name="L173"> 17377a hreef="drivers/hwmon/coretemp.c#L157" id7"L154" cl7ss="line" name="L174"> 17477a href="drivers/hwmon/coretemp.c#L175" id7"L155" cl7ss="line" name="L175"> 17577     __cpuinit cpu_corc.c#L136__/a_callback hrefcpu_cornotifier_block hreff="+code=dev" clnfb="sref">cpu_cornfb0;  17677              }
tdatardmsr_ohass hreh              s6ude=pdata" class="sr7"L157" cl7ss="line" name="L177"> 17777     ef="drivers/hwmon/coretemp.c#L183" id7"L208" cl7ss="line" name="L178"> 17877             unsignedfhref="+code=__cpuinass="sref">rdmsr_oass hre = (unsignedfloot) ="+code=u32" cloass="sref">rdmsr_ohass hreef="drivers/hwmon/coretemp.c#L180" id7"L129" cl7ss="line" name="L179"> 17977a href="drivers/hwmon/coretemp.c#L173" id7"L180" cl7ss="line" name="L180"> 17078             switch f="+code=__cpuinaction="sref">tdata 17178      tdata 172782            case ="+code=u32" clCPU_DOWN_FAILED="sref">phys_prCPU_DOWN_FAILED    :f="drivers/hwmon/coretemp.c#L175" id7"L143" cl7ss="line" name="L183"> 17378                     ="+code=pdata" datap.c#_oname="Lsref">phys_prdatap.c#_oname= href="+code=rdmsr_oass="sref">rdmsr_oass hreref="drivers/hwmon/coretemp.c#L180" id7"L154" cl7ss="line" name="L184"> 17478                     breakef="drivers/hwmon/coretemp.c#L180" id7"L165" cl7ss="line" name="L185"> 175785            case ="+code=u32" clCPU_DOWN_PREPARE="sref">tdata 17678              }
phys_prputap.c#_offame= href="+code=rdmsr_oass="sref">rdmsr_oass hreref="drivers/hwmon/coretemp.c#L180" id7"L157" cl7ss="line" name="L187"> 17778               17878             ef="drivers/hwmon/coretemp.c#L157" id7"L159" cl7ss="line" name="L189"> 17978             ra href="+code=tjmax" NOTIFY_OK="sref">rdmsr_oNOTIFY_OK hreef="drivers/hwmon/coretemp.c#L180" id7"L190" cl7ss="line" name="L190"> 17079     ef="drivers/hwmon/coretemp.c#L157" id7"L181" cl7ss="line" name="L191"> 17179a href="drivers/hwmon/coretemp.c#L212" id7"L192" cl7ss="line" name="L192"> 17279     cpu_cornotifier_block href="+code=adjust_c.c#L136__/a_notifier="sref">cpu_corc.c#L136__/a_notifier href="+code=adjust___reflass="sref">pdata 17379             f="+code=cpu_cornotifier_call="sref">cpu_cornotifier_call hreref="+code=pdata" c.c#L136__/a_callback="sref">cpu_corc.c#L136__/a_callback hreef="drivers/hwmon/coretemp.c#L175" id7"L154" cl7ss="line" name="L194"> 17479a hre}ef="drivers/hwmon/coretemp.c#L185" id7"L165" cl7ss="line" name="L195"> 17579a href="drivers/hwmon/coretemp.c#L136" id7"L166" cl7ss="line" name="L196"> 176796    phys_prx86__/a_ss href="+code=adjust___> pdata pdata 17779             {f="+code=dev" clX86_VENDOR_INTEL="sref">phys_prX86_VENDOR_INTEL0; phys_prX86_FAMILY_ANY0; phys_prX86_MODEL_ANY0; attr 17879             {ef="drivers/hwmon/coretemp.c#L157" id7"L159" cl7ss="line" name="L199"> 17979     }ef="drivers/hwmon/coretemp.c#L185" id8"L200" cl8ss="line" name="L200"> 28080tdatardmsr_ox86ass0; pdata 28180a href="drivers/hwmon/coretemp.c#L212" id8"L202" cl8ss="line" name="L202"> 28280     __cpuinit> __cpuinc.c#L136_lass hrefvo6"h              s6ude=pdata" class="sr8"L203" cl8ss="line" name="L203"> 283803    ef="drivers/hwmon/coretemp.c#L183" id8"4203" cl8ss="line" name="L194"> 18480             href="+code=tjmax" s="sref">i = 0; time_afersa href="drivers/hwmon/coretemp.c#L180" id8"5203" cl8ss="line" name="L195"> 18580a href="drivers/hwmon/coretemp.c#L136" id8"6203" cl8ss="line" name="L196"> 186806     return =ass="comment">/* The 10                     s6ude=pdata" class="sr8"7203" cl8ss="line" name="L197"> 18780     =ass="comment">/* The    18880     =ass="comment">/* The    18980     =ass="comment">/* The    28081/* The    28181             href!="+code=u32" clx86_match_ass="sref">rdmsr_ox86_match_ass href="+code=rdmsr_oa.c#L136_ids="sref">pdata 28281              if (pdata 283813    f="drivers/hwmon/coretemp.c#L197" id8"L214" cl8ss="line" name="L214"> 284814     return ="+code=pdata" ers="sref">time_afersa hrref="+code=pdata" o_datadevp_dataphys_pra.c#L136_lhwmon hreref="drivers/hwmon/coretemp.c#L180" id8"5203" cl8ss="line" name="L215"> 285815     struct hhre="+code=rdmsr_oars="sref">time_afersa hrhf="drivers/hwmon/coretemp.c#L173" id8"6203" cl8              ne" name="8126">81              }
tjmax_texita href="drivers/hwmon/coretemp.c#L173" id8"7203" cl8ss="line" name="L117"> 18781a href="drivers/hwmon/coretemp.c#L180" id8"8207" cl8ss="line" name="L118"> 18881             ="+code=edx" cldataoname=_asss="sref">pdata 189819            ="+code=rdmsr_ota<_each_oname=_ass="sref">edxta<_each_oname=_ass href="+code=rdmsr_os="sref">i = 0;  18082              phys_prdatap.c#_oname= href="+code=rdmsr_os="sref">i = 0;  18182a href="drivers/hwmon/coretemp.c#L212" id8"L122" cl8ss="line" name="L122"> 18282     #ifndef ="+code=u32" clCONFIG_HOTPLUG_CPU="sref">tdata 183823            href="+code=u32" cllist_212ty="sref">devlist_212ty href href="+code=edx" cloass_list="sref">phys_proass_lista hrhhhef="drivers/hwmon/coretemp.c#L183" id8"L214" cl8ss="line" name="L124"> 18482                     ="+code=rdmsr_oputaoname=_asss="sref">pdata 18582                     ="+code=u32" clers="sref">time_afersa hrref-="+code=false" ENODEV="sref">pdata 18682              }
tjmax_texitalhwmon_unrega href="drivers/hwmon/coretemp.c#L180" id8"7203" cl8ss="line" name="L127"> 18782             ef="drivers/hwmon/coretemp.c#L157" id8"8207" cl8ss="line" name="L128"> 18882     #erdiff="drivers/hwmon/coretemp.c#L157" id8"9203" cl8ss="line" name="L129"> 18982a href="drivers/hwmon/coretemp.c#L173" id8"L130" cl8ss="line" name="L130"> 180830            ="+code=rdmsr_oregister_hot_/a_notifier="sref">cpu_corregister_hot_/a_notifier href href="+code=edx" cl<.c#L136__/a_notifier="sref">cpu_corc.c#L136__/a_notifier hreref="drivers/hwmon/coretemp.c#L180" id8"L131" cl8ss="line" name="L131"> 181831            ="+code=rdmsr_oputaoname=_asss="sref">pdata 182832             183833    f="drivers/hwmon/coretemp.c#L197" id8"L214" cl8ss="line" name="L134"> 18483     #ifndef ="+code=u32" clCONFIG_HOTPLUG_CPU="sref">tdata 18583     ="+code=rdmsr_oexitalhwmon_unreg="sref">tjmax_texitalhwmon_unrega hr:f="drivers/hwmon/coretemp.c#L175" id8"L126" cl8ss="line" name="L136"> 186836            ="+code=rdmsr_op_datadevp_dataphys_pra.c#L136_lhwmon hreref="drivers/hwmon/coretemp.c#L180" id8"  18783     #erdiff="drivers/hwmon/coretemp.c#L157" id8"L208" cl8ss="line" name="L138"> 18883     ="+code=rdmsr_oexit="sref">tjmax_texita hr:f="drivers/hwmon/coretemp.c#L175" id8"9203" cl8ss="line" name="L139"> 18983             ra href="+code=tjmax" ers="sref">time_afersa href="drivers/hwmon/coretemp.c#L180" id8"L140" cl8ss="line" name="L140"> 18084     ef="drivers/hwmon/coretemp.c#L157" id8"L141" cl8ss="line" name="L141"> 18184a href="drivers/hwmon/coretemp.c#L212" id8"L142" cl8ss="line" name="L142"> 18284     tjmax_titexit href="+code=adjust_c.c#L136_exit="sref">tjmax_tc.c#L136_exit hrefvo6"h              s6ude=pdata" class="sr8"L143" cl8ss="line" name="L143"> 183843    ef="drivers/hwmon/coretemp.c#L183" id8"L144" cl8ss="line" name="L144"> 18484             devpass_ ntry hreff="+code=dev" clc="sref">devpt;tjmax_t1a href="drivers/hwmon/coretemp.c#L180" id8"L135" cl8ss="line" name="L145"> 18584a href="drivers/hwmon/coretemp.c#L136" id8"L136" cl8ss="line" name="L146"> 186846            ="+code=rdmsr_odataoname=_asss="sref">pdata 18784             ="+code=edx" clunregister_hot_/a_notifier="sref">cpu_corunregister_hot_/a_notifier href href="+code=edx" cl<.c#L136__/a_notifier="sref">cpu_corc.c#L136__/a_notifier hreref="drivers/hwmon/coretemp.c#L180" id8"L208" cl8ss="line" name="L148"> 18884             ="+code=edx" clmutex_lock="sref">cpu_cormutex_lock href href="+code=edx" cloass_list_mutex="sref">devpass_list_mutext; 189849            ="+code=rdmsr_olist_ta<_each_ ntryphys_prlist_ta<_each_ ntrydevpt;tjmax_t1a href href="+code=edx" cloass_list="sref">phys_proass_lista href="+code=dev" cllist="sref">phys_prlistt; 18085              devp_datadevpt;devpass hrehef="drivers/hwmon/coretemp.c#L173" id8"L151" cl8ss="line" name="L151"> 18185      cpu_corlist_" l href href="+code=edx" clo="sref">devpt;phys_prlistt; 18285              if (tjmax_tkfresa hrf="+code=tdata" p="sref">devpt; 183853            ef="drivers/hwmon/coretemp.c#L157" id8"L144" cl8ss="line" name="L154"> 184854     return ="+code=pdata" mutex_unlock="sref">cpu_cormutex_unlock href href="+code=edx" cloass_list_mutex="sref">devpass_list_mutext; 18585             ="+code=rdmsr_oputaoname=_asss="sref">pdata 186856            ="+code=rdmsr_op_datadevp_dataphys_pra.c#L136_lhwmon hreref="drivers/hwmon/coretemp.c#L180" id8"L157" cl8ss="line" name="L157"> 18785     ef="drivers/hwmon/coretemp.c#L157" id8"L208" cl8ss="line" name="L158"> 18885atic f="drivers/hwmon/coretemp.c#L157" id8"L129" cl8ss="line" name="L159"> 18985     ="+code=rdmsr_oMODULE_AUTHOR="sref">tdata"Rudolf Marek <r.marek@mmeembler.czhref"       ref="drivers/hwmon/coretemp.c#L180" id8"L160" cl8ss="line" name="L160"> 18086tdata"Intel C.c# lasseraeurs eteitor"       ref="drivers/hwmon/coretemp.c#L180" id8"L151" cl8ss="line" name="L161"> 18186     ="+code=rdmsr_oMODULE_LICENSE="sref">tdata"GPL"       ref="drivers/hwmon/coretemp.c#L180" id8"L142" cl8ss="line" name="L162"> 18286     f="drivers/hwmon/coretemp.c#L157" id8"L143" cl8ss="line" name="L163"> 18386     ="+code=pdata" module_lass="sref">__cpuinmodule_lass href="+code=rdmsr_oa.c#L136_iass="sref">__cpuinc.c#L136_lass hreh              s6ude=pdata" class="sr8"L144" cl8ss="line" name="L164"> 18486     ="+code=pdata" module_exit="sref">tjmax_tmodule_exit href="+code=rdmsr_oa.c#L136_exit="sref">tjmax_tc.c#L136_exit hreh              s6ude=pdata" class="sr8"L155" cl8ss="line" name="L165"> 18586     
The original LXR software by a is http://sourcetaLXR ">/*uassya hrefa is exseri* Thal s6uion by mailto:lxr@ameux.noprlxr@ameux.noa hr.
lxr.ameux.no kindly hosted by http://www.redpill-amepro.noprRedpill Lmepro ASa hrefprovider of Lmeuxfconsultuot and oseraeions serlasss since 1995.