Re: [PATCH 6/7] serial/8250: sanitize fourport handling
From: Arnd Bergmann <arnd@arndb.de>
Date: 2011-06-28 12:09:20
Also in:
lkml
On Tuesday 28 June 2011, Alan Cox wrote:
On Mon, 27 Jun 2011 23:45:19 +0200 Arnd Bergmann [off-list ref] wrote:quoted
Support for AST fourport cards is always built into the 8250 driver, even if CONFIG_SERIAL_8250_FOURPORT is disabled. This introduces a set of macros for accessing the special interrupt control register on the fourport card, so that support is left out when the option is disabled, without adding more #ifdef lines to the driver itself.Why not just leave it in - it seems to take almost no code and your changes mean people setting the fourport flag are going to get strange behaviour when it isn't compiled in.
Mostly to avoid the inb/outb when fourport is disabled. The regular I/O can be handled using the indirect serial_in/out functions, but the fourport handling requires some address calculations. Also, now that you mention users toggling the fourport flag, I can't see where that would ever do something good. On anything but a real fourport card, it will lead to writing to ports you shouldn't write to (0x1f on mmio based uarts, 18 bytes after the requested region for regular ports). If you have an actual AST fourport card, you won't be able to use it unless you load the 8250_fourport driver that registers the correct addresses, and disabling the fourport flag will then cause the uart to stop getting interrupts. Arnd