[PATCH] serial: Enable Freescale 16550 workaround on arm
Arnd Bergmann
arnd at arndb.de
Tue Oct 6 06:09:45 PDT 2015
On Friday 02 October 2015 18:49:24 Scott Wood wrote:
> > Other than that, I wonder if we should do this completely differently
> > and have the respective entries in of_platform_serial_table[] with
> > an appropriate PORT_* constant to handle the freescale case.
>
> I'd considered that, but it seemed like it would be more complicated, with no
> real benefit. We'd need to add a new PORT for the non-fifo64 case, and it
> would need to otherwise behave like PORT_16550A. There's no room for an
> extra 8250-style PORT number unless we break PORT_MAX_8250 or renumber the
> "ARM specific type numbers", and for some reason these PORT numbers are
> defined in uapi (even if there's some legacy reason for that, do we really
> need to keep adding to it?). We'd also need to make sure that autoconfig()
> doesn't overwrite the new PORT number (or ignore the fact that it gets
> overwritten after using it to substitute handle_irq). It would also increase
> the discrepancy between how the same issue is handled on ARM versus PPC (with
> the latter using arch/powerpc/kernel/legacy_serial.c which doesn't supply
> PORT numbers).
>
> The above check wouldn't go away, as it's not something currently addressed
> by struct serial8250_config (unless you're also asking for a new flag for
> that struct, in which case it would merely be moved elsewhere); it would just
> require a bunch of changes elsewhere to support changing it from a simple
> compatible check to a PORT check.
Ok, let's keep your version then, unless someone has a better idea.
FWIW, I think we should just move of_serial.c to drivers/tty/serial/8250/
now and remove the nwp specific bits.
Looking for a volunteer to actually do that work ;-)
Arnd
More information about the linux-arm-kernel
mailing list