On Mon, Apr 12, 2010 at 5:05 PM, Joseph Krahn <joseph.krahn@gmail.com> wrote:
...
Oops. I meant that INTCBAR should just be mapped to PCI BAR 0, which
has already been mapped to an available range. The problem with the
recent 8250_pci driver is that it repeats the above process,
requesting an I/O range while the existing range was never released.
This is how I think it should be done:
/* Map INTC control to BAR 0 */
intc_base = pci_resource_start(pdev,0);
intc_res = request_region(intc_base, ITE_887x_POSIO0_IOSIZE,
"it887x_intc");
...
I am testing a custom io_serial_in() to translate IRQ info. It looks
like a good solution. Based on the current parport_pc driver, the
partport I/O may work like a standard port, and not need any extra IRQ
code.
Instead of adding another UPIO_ definition, it should be possible to
define serial_in and serial_out in the 8250_pci.c quirks init
function. In some cases, but not all, the result from
set_io_from_upio() is allowed to be overridden, so this may be the
intended design. It appears that UPIO_TSI exists only to map
serial_in/out functions.
Thanks,
Joe
--