lkml.org 
[lkml]   [2005]   [Jul]   [27]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    Patch in this message
    /
    From
    Subject[PATCH] SERIAL: add MMIO support to 8250_pnp
    Date
    Add support for UARTs in MMIO space and clean up a little whitespace.

    HP legacy-free ia64 machines need this.

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

    Index: work/drivers/serial/8250_pnp.c
    ===================================================================
    --- work.orig/drivers/serial/8250_pnp.c 2005-07-27 09:57:10.000000000 -0600
    +++ work/drivers/serial/8250_pnp.c 2005-07-27 10:07:09.000000000 -0600
    @@ -394,7 +394,7 @@
    }

    static int __devinit
    -serial_pnp_probe(struct pnp_dev * dev, const struct pnp_device_id *dev_id)
    +serial_pnp_probe(struct pnp_dev *dev, const struct pnp_device_id *dev_id)
    {
    struct uart_port port;
    int ret, line, flags = dev_id->driver_data;
    @@ -406,15 +406,23 @@
    }

    memset(&port, 0, sizeof(struct uart_port));
    - port.irq = pnp_irq(dev,0);
    - port.iobase = pnp_port_start(dev, 0);
    + port.irq = pnp_irq(dev, 0);
    + if (pnp_port_valid(dev, 0)) {
    + port.iobase = pnp_port_start(dev, 0);
    + port.iotype = UPIO_PORT;
    + } else if (pnp_mem_valid(dev, 0)) {
    + port.mapbase = pnp_mem_start(dev, 0);
    + port.iotype = UPIO_MEM;
    + port.flags = UPF_IOREMAP;
    + } else
    + return -ENODEV;

    #ifdef SERIAL_DEBUG_PNP
    - printk("Setup PNP port: port %x, irq %d, type %d\n",
    - port.iobase, port.irq, port.iotype);
    + printk("Setup PNP port: port %x, mem 0x%lx, irq %d, type %d\n",
    + port.iobase, port.mapbase, port.irq, port.iotype);
    #endif

    - port.flags = UPF_SKIP_TEST | UPF_BOOT_AUTOCONF;
    + port.flags |= UPF_SKIP_TEST | UPF_BOOT_AUTOCONF;
    port.uartclk = 1843200;
    port.dev = &dev->dev;

    @@ -426,7 +434,7 @@

    }

    -static void __devexit serial_pnp_remove(struct pnp_dev * dev)
    +static void __devexit serial_pnp_remove(struct pnp_dev *dev)
    {
    long line = (long)pnp_get_drvdata(dev);
    if (line)
    -
    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-07-28 00:55    [W:0.040 / U:0.420 seconds]
    ©2003-2016 Jasper Spaans. hosted at Digital OceanAdvertise on this site