lkml.org 
[lkml]   [2005]   [Aug]   [2]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    Patch in this message
    /
    From
    Subject[PATCH] PNPACPI: fix types when decoding ACPI resources [resend]
    Date
    Any objections to the patch below?  I posted it last Wednesday,
    but haven't heard anything. Once we have this fix, 8250_pnp
    should have sufficient functionality that we can get rid of
    8250_acpi.



    Use types that match the ACPI resource structures. Previously
    the u64 value from an RSTYPE_ADDRESS64 was passed as an int,
    which corrupts the value.

    This is one of the things that prevents 8250_pnp from working
    on HP ia64 boxes. After 8250_pnp works, we will be able to
    remove 8250_acpi.c.

    Signed-off-by: Bjorn Helgaas <bjorn.helgaas@hp.com>

    Index: work/drivers/pnp/pnpacpi/rsparser.c
    ===================================================================
    --- work.orig/drivers/pnp/pnpacpi/rsparser.c 2005-07-25 15:04:26.000000000 -0600
    +++ work/drivers/pnp/pnpacpi/rsparser.c 2005-07-27 10:02:19.000000000 -0600
    @@ -73,7 +73,7 @@
    }

    static void
    -pnpacpi_parse_allocated_irqresource(struct pnp_resource_table * res, int irq)
    +pnpacpi_parse_allocated_irqresource(struct pnp_resource_table * res, u32 irq)
    {
    int i = 0;
    while (!(res->irq_resource[i].flags & IORESOURCE_UNSET) &&
    @@ -85,13 +85,13 @@
    res->irq_resource[i].flags |= IORESOURCE_DISABLED;
    return;
    }
    - res->irq_resource[i].start =(unsigned long) irq;
    - res->irq_resource[i].end = (unsigned long) irq;
    + res->irq_resource[i].start = irq;
    + res->irq_resource[i].end = irq;
    }
    }

    static void
    -pnpacpi_parse_allocated_dmaresource(struct pnp_resource_table * res, int dma)
    +pnpacpi_parse_allocated_dmaresource(struct pnp_resource_table * res, u32 dma)
    {
    int i = 0;
    while (i < PNP_MAX_DMA &&
    @@ -103,14 +103,14 @@
    res->dma_resource[i].flags |= IORESOURCE_DISABLED;
    return;
    }
    - res->dma_resource[i].start =(unsigned long) dma;
    - res->dma_resource[i].end = (unsigned long) dma;
    + res->dma_resource[i].start = dma;
    + res->dma_resource[i].end = dma;
    }
    }

    static void
    pnpacpi_parse_allocated_ioresource(struct pnp_resource_table * res,
    - int io, int len)
    + u32 io, u32 len)
    {
    int i = 0;
    while (!(res->port_resource[i].flags & IORESOURCE_UNSET) &&
    @@ -122,14 +122,14 @@
    res->port_resource[i].flags |= IORESOURCE_DISABLED;
    return;
    }
    - res->port_resource[i].start = (unsigned long) io;
    - res->port_resource[i].end = (unsigned long)(io + len - 1);
    + res->port_resource[i].start = io;
    + res->port_resource[i].end = io + len - 1;
    }
    }

    static void
    pnpacpi_parse_allocated_memresource(struct pnp_resource_table * res,
    - int mem, int len)
    + u64 mem, u64 len)
    {
    int i = 0;
    while (!(res->mem_resource[i].flags & IORESOURCE_UNSET) &&
    @@ -141,8 +141,8 @@
    res->mem_resource[i].flags |= IORESOURCE_DISABLED;
    return;
    }
    - res->mem_resource[i].start = (unsigned long) mem;
    - res->mem_resource[i].end = (unsigned long)(mem + len - 1);
    + res->mem_resource[i].start = mem;
    + res->mem_resource[i].end = mem + len - 1;
    }
    }

    -
    To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
    the body of a message to majordomo@vger.kernel.org
    More majordomo info at http://vger.kernel.org/majordomo-info.html
    Please read the FAQ at http://www.tux.org/lkml/
    \
     
     \ /
      Last update: 2005-08-02 18:23    [W:0.024 / U:38.204 seconds]
    ©2003-2017 Jasper Spaans. hosted at Digital OceanAdvertise on this site