On 11/25/24 09:54, Arnd Bergmann wrote:
On Mon, Nov 25, 2024, at 17:54, Maciej W. Rozycki wrote:
On Mon, 25 Nov 2024, Arnd Bergmann wrote:
But the configuration can give less than old_serial_port contains.
See dozens of the explicit settings in the defconfigs.
I don't see any of the upstream defconfigs doing this
though, the only ones setting CONFIG_SERIAL_8250_RUNTIME_UARTS
are those that have an empty old_serial_port[].
Note that SERIAL_PORT_DFNS is only defined on x86, alpha
and m68k (for q40), which are the main PC-like platforms.
May I suggest to call `serial8250_isa_init_ports':
if (IS_ENABLED(CONFIG_ISA) || IS_ENABLED(CONFIG_ALPHA) ||
IS_ENABLED(CONFIG_M68K) || IS_ENABLED(CONFIG_X86))
then (or have an equivalent `select' in the relevant Kconfig files)?
Right, I think that makes sense, but I'm a little worried
about renumbering or incorrectly configuring the uarts on
a non-x86 system that might have ISA slots and also register
a 8250 console.
E.g. on the RM200, two serial ports get registered on
MMIO addresses:
arch/mips/sni/rm200.c:static struct serial8250_platform_data rm200_data[] = {
arch/mips/sni/rm200.c- MEMPORT(0x160003f8, RM200_I8259A_IRQ_BASE + 4),
arch/mips/sni/rm200.c- MEMPORT(0x160002f8, RM200_I8259A_IRQ_BASE + 3),
arch/mips/sni/rm200.c- { },
arch/mips/sni/rm200.c-};
so these would become ports ttyS4 and ttyS5 if the first four
ports get reserved for ISA cards, or disappear when using the
default CONFIG_SERIAL_8250_NR_UARTS=4.
Any progress ?
Guenter