lkml.org 
[lkml]   [2009]   [Jan]   [28]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    Patch in this message
    /
    From
    Subject[PATCH 052/114] x86, smp: clean up mps_oem_check()
    Date
    Impact: cleanup

    - allow NULL ->mps_oem_check() entries

    - clean up the code flow

    Signed-off-by: Ingo Molnar <mingo@elte.hu>
    ---
    arch/x86/include/asm/genapic.h | 3 +--
    arch/x86/mach-generic/probe.c | 22 +++++++++++++---------
    2 files changed, 14 insertions(+), 11 deletions(-)

    diff --git a/arch/x86/include/asm/genapic.h b/arch/x86/include/asm/genapic.h
    index 14b19de..8bb1c73 100644
    --- a/arch/x86/include/asm/genapic.h
    +++ b/arch/x86/include/asm/genapic.h
    @@ -55,8 +55,7 @@ struct genapic {
    * is switched to this. Essentially they are additional
    * probe functions:
    */
    - int (*mps_oem_check)(struct mpc_table *mpc, char *oem,
    - char *productid);
    + int (*mps_oem_check)(struct mpc_table *mpc, char *oem, char *productid);

    unsigned int (*get_apic_id)(unsigned long x);
    unsigned long (*set_apic_id)(unsigned int id);
    diff --git a/arch/x86/mach-generic/probe.c b/arch/x86/mach-generic/probe.c
    index a21e2b1..799a70f 100644
    --- a/arch/x86/mach-generic/probe.c
    +++ b/arch/x86/mach-generic/probe.c
    @@ -113,17 +113,21 @@ void __init generic_apic_probe(void)
    int __init mps_oem_check(struct mpc_table *mpc, char *oem, char *productid)
    {
    int i;
    +
    for (i = 0; apic_probe[i]; ++i) {
    - if (apic_probe[i]->mps_oem_check(mpc, oem, productid)) {
    - if (!cmdline_apic) {
    - apic = apic_probe[i];
    - if (x86_quirks->update_genapic)
    - x86_quirks->update_genapic();
    - printk(KERN_INFO "Switched to APIC driver `%s'.\n",
    - apic->name);
    - }
    - return 1;
    + if (!apic_probe[i]->mps_oem_check)
    + continue;
    + if (!apic_probe[i]->mps_oem_check(mpc, oem, productid))
    + continue;
    +
    + if (!cmdline_apic) {
    + apic = apic_probe[i];
    + if (x86_quirks->update_genapic)
    + x86_quirks->update_genapic();
    + printk(KERN_INFO "Switched to APIC driver `%s'.\n",
    + apic->name);
    }
    + return 1;
    }
    return 0;
    }
    --
    1.6.0.2


    \
     
     \ /
      Last update: 2009-01-29 01:07    [W:0.024 / U:31.692 seconds]
    ©2003-2016 Jasper Spaans. hosted at Digital OceanAdvertise on this site