lkml.org 
[lkml]   [2011]   [May]   [24]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    /
    From
    Date
    SubjectRE: [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



    \
     
     \ /
      Last update: 2011-05-25 02:03    [W:0.029 / U:90.008 seconds]
    ©2003-2016 Jasper Spaans. hosted at Digital OceanAdvertise on this site