Messages in this thread |  | | | From | "Yu, Fenghua" <> | | Date | Tue, 24 May 2011 16:58:56 -0700 | | Subject | RE: [PATCH 3/3] coretemp: Get microcode revision from cpu_data |
| |
> Subject: [PATCH 3/3] coretemp: Get microcode revision from cpu_data > > From: Andi Kleen <ak@linux.intel.com> > > Now that the ucode revision is available in cpu_data remove > the existing code in coretemp.c to query it manually. Read the ucode > revision from cpu_data instead > > Cc: jbeulich@novell.com > Cc: fenghua.yu@intel.com > Cc: khali@linux-fr.org > Signed-off-by: Andi Kleen <ak@linux.intel.com> > --- > drivers/hwmon/coretemp.c | 29 +++++------------------------ > 1 files changed, 5 insertions(+), 24 deletions(-) > > diff --git a/drivers/hwmon/coretemp.c b/drivers/hwmon/coretemp.c > index 9577c43..aff3e2c 100644 > --- a/drivers/hwmon/coretemp.c > +++ b/drivers/hwmon/coretemp.c > @@ -324,15 +324,6 @@ static int get_tjmax(struct cpuinfo_x86 *c, u32 > id, struct device *dev) > } > } > > -static void __devinit get_ucode_rev_on_cpu(void *edx) > -{ > - u32 eax; > - > - wrmsr(MSR_IA32_UCODE_REV, 0, 0); > - sync_core(); > - rdmsr(MSR_IA32_UCODE_REV, eax, *(u32 *)edx); > -} > - > static int get_pkg_tjmax(unsigned int cpu, struct device *dev) > { > int err; > @@ -433,21 +424,11 @@ static int chk_ucode_version(struct > platform_device *pdev) > * Readings might stop update when processor visited too deep > sleep, > * fixed for stepping D0 (6EC). > */ > - if (c->x86_model == 0xe && c->x86_mask < 0xc) { > - /* check for microcode update */ > - err = smp_call_function_single(pdev->id, > get_ucode_rev_on_cpu, > - &edx, 1); > - if (err) { > - dev_err(&pdev->dev, > - "Cannot determine microcode revision of " > - "CPU#%u (%d)!\n", pdev->id, err); > - return -ENODEV; > - } else if (edx < 0x39) { > - dev_err(&pdev->dev, > - "Errata AE18 not fixed, update BIOS or " > - "microcode of the CPU!\n"); > - return -ENODEV; > - } > + if (c->x86_model == 0xe && c->x86_mask < 0xc && c->x86_cpu_update > < 0x39) { > + dev_err(&pdev->dev, > + "Errata AE18 not fixed, update BIOS or " > + "microcode of the CPU!\n"); > + return -ENODEV; > } > return 0; > } > -- > 1.7.4.4
With this patch, the variable err and edx defined in chk_ucode_version() won't be used and should be removed to avoid compilation warnings.
Thanks.
-Fenghua
|  |