lkml.org 
[lkml]   [2009]   [Aug]   [26]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    Patch in this message
    /
    Date
    From
    Subject[tip:x86/apic] x86, ioapic: Get rid of needless check and simplify ioapic_setup_resources()
    Commit-ID:  ffc438366c2660a6a811b94ba33229bf217f8254
    Gitweb: http://git.kernel.org/tip/ffc438366c2660a6a811b94ba33229bf217f8254
    Author: Cyrill Gorcunov <gorcunov@openvz.org>
    AuthorDate: Mon, 24 Aug 2009 21:53:39 +0400
    Committer: Ingo Molnar <mingo@elte.hu>
    CommitDate: Wed, 26 Aug 2009 08:16:38 +0200

    x86, ioapic: Get rid of needless check and simplify ioapic_setup_resources()

    alloc_bootmem() already panics on allocation failure. There is
    no need to check the result.

    Also there is a way to unbind global variable from its body and
    use it as a parameter which allow us to simplify
    ioapic_init_mappings as well -- "for" cycle already uses
    nr_ioapics as a conditional variable and there is no need to
    check if ioapic_setup_resources was returning NULL again.

    Signed-off-by: Cyrill Gorcunov <gorcunov@openvz.org>
    Cc: Yinghai Lu <yinghai@kernel.org>
    LKML-Reference: <20090824175551.493629148@openvz.org>
    Signed-off-by: Ingo Molnar <mingo@elte.hu>


    ---
    arch/x86/kernel/apic/io_apic.c | 26 +++++++++++---------------
    1 files changed, 11 insertions(+), 15 deletions(-)

    diff --git a/arch/x86/kernel/apic/io_apic.c b/arch/x86/kernel/apic/io_apic.c
    index 2999f3d..d836b4d 100644
    --- a/arch/x86/kernel/apic/io_apic.c
    +++ b/arch/x86/kernel/apic/io_apic.c
    @@ -4053,7 +4053,7 @@ void __init setup_ioapic_dest(void)

    static struct resource *ioapic_resources;

    -static struct resource * __init ioapic_setup_resources(void)
    +static struct resource * __init ioapic_setup_resources(int nr_ioapics)
    {
    unsigned long n;
    struct resource *res;
    @@ -4069,15 +4069,13 @@ static struct resource * __init ioapic_setup_resources(void)
    mem = alloc_bootmem(n);
    res = (void *)mem;

    - if (mem != NULL) {
    - mem += sizeof(struct resource) * nr_ioapics;
    + mem += sizeof(struct resource) * nr_ioapics;

    - for (i = 0; i < nr_ioapics; i++) {
    - res[i].name = mem;
    - res[i].flags = IORESOURCE_MEM | IORESOURCE_BUSY;
    - sprintf(mem, "IOAPIC %u", i);
    - mem += IOAPIC_RESOURCE_NAME_SIZE;
    - }
    + for (i = 0; i < nr_ioapics; i++) {
    + res[i].name = mem;
    + res[i].flags = IORESOURCE_MEM | IORESOURCE_BUSY;
    + sprintf(mem, "IOAPIC %u", i);
    + mem += IOAPIC_RESOURCE_NAME_SIZE;
    }

    ioapic_resources = res;
    @@ -4091,7 +4089,7 @@ void __init ioapic_init_mappings(void)
    struct resource *ioapic_res;
    int i;

    - ioapic_res = ioapic_setup_resources();
    + ioapic_res = ioapic_setup_resources(nr_ioapics);
    for (i = 0; i < nr_ioapics; i++) {
    if (smp_found_config) {
    ioapic_phys = mp_ioapics[i].apicaddr;
    @@ -4120,11 +4118,9 @@ fake_ioapic_page:
    __fix_to_virt(idx), ioapic_phys);
    idx++;

    - if (ioapic_res != NULL) {
    - ioapic_res->start = ioapic_phys;
    - ioapic_res->end = ioapic_phys + (4 * 1024) - 1;
    - ioapic_res++;
    - }
    + ioapic_res->start = ioapic_phys;
    + ioapic_res->end = ioapic_phys + (4 * 1024) - 1;
    + ioapic_res++;
    }
    }


    \
     
     \ /
      Last update: 2009-08-26 08:27    [W:0.041 / U:0.032 seconds]
    ©2003-2016 Jasper Spaans. hosted at Digital OceanAdvertise on this site