Hello. Thomas Koeller wrote:
Also, it seems to me that the whole register-mapping stuff conflicts with autodetection, because autoconfig() uses serial_inp() and serial_outp() before the port types, and hence the mapping requirements, are known.
Port types have nothing to do with this. Or at least they hadn't until your recent patch. :-) iotype was used to identify the addressing scheme, and it's alsready known beforehand.
How so? If I do not yet know which hardware I am dealing with, how can I know the iotype?
The iotype is passed to driver when registering the platform device or calling early_serial_setup(). There's absolutely no way for 8250.c to figure it out yourself. Please, review the driver's code more carefully. It was not at all that complex task to copy from the existing Alchemy code...
Thomas
WBR, Sergei