Re: [PATCH v7 1/2] serial: sc16is7xx

From: One Thousand Gnomes
Date: Fri Apr 25 2014 - 12:49:20 EST


> Fair enough, but the 8250 framework does allow you to insert your own
> irq service routine. "serial8250_default_handle_irq" is the default
> (unsurprisingly), but if the uart_port has a non-NULL "handle_irq"
> method it will be faithfully copied into the uart_8250_port
> "handle_irq" method in 8250_core.c:early_serial_setup.

It's nowhere near sufficient and this was discussed earlier in some depth.

> If that's really true, then I would say it argues in favor of a
> revision of the 8250 code. Certainly, this is not the last time that
> a 16550-compatible UART will appear on a non-PCI, non-ISA bus.

The 8250 code has deep seated assumptions about locking and atomicity.
Not only would it be very hard to unify the drivers the end result would
probably be quite horrible to maintain.

We should just merge the driver as is, as submitted in version 7. It's
fine. The fact all the I/O accesses are asynchronous completely changes
the way the driver is written. Architecturally from the 8250 driver's
point of view its a completely unrelated piece of hardware that shares
some constants.

If there are other 16x50 i2c/spi uarts then yes merge them with the
sc16is7xx driver.

Alan

--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/