On Tuesday 28 June 2011, Alan Cox wrote: > On Mon, 27 Jun 2011 23:45:19 +0200 > Arnd Bergmann <arnd@xxxxxxxx> wrote: > > > 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 -- To unsubscribe from this list: send the line "unsubscribe linux-serial" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html