Re: serial drivers polishing

Christophe Leroy
2019-04-29T16:18:38Z

Hi,

On 04/27/2019 12:51 PM, Enrico Weigelt, metux IT consult wrote:
> Hello folks,
>
>
> here's another attempt of polishing the serial drivers:
>
> * lots of minor cleanups to make checkpatch happier
> (eg. formatting, includes, inttypes, ...)
>
> * use appropriate logging helpers instead of printk()
>
> * consequent use of mapsize/mapbase fields:
> the basic idea is, all drivers should fill mapbase/mapbase fields at
> init time and later only use those fields, instead of hardcoded values
> (later on, we can add generic helpers for the map/unmap stuff, etc)
>
> * untwisting serial8250_port_size() at all:
> move the iomem size probing to initialization time, move out some
> platform specific magic to corresponding platform code, etc.
>
>
> Unfortunately, I don't have the actual hardware to really test all
> the code, so please let me know if there's something broken in here.
>
>
> have fun,
>
> --mtx
>

Got the following build error while compiling for my powerpc board with
your full series applied. No time to investigate though.

CC arch/powerpc/kernel/setup-common.o
In file included from ./include/linux/serial_8250.h:14:0,
from arch/powerpc/kernel/setup-common.c:33:
./include/linux/serial_core.h: In function ‘uart_memres_set_res’:
./include/linux/serial_core.h:446:18: error: ‘resource’ undeclared
(first use in this function)
port->iobase = resource->start;
^
./include/linux/serial_core.h:446:18: note: each undeclared identifier
is reported only once for each function it appears in
./include/linux/serial_core.h:450:2: error: ‘uart’ undeclared (first use
in this function)
uart->mapbase = res->start;
^
./include/linux/serial_core.h: In function ‘uart_memres_set_start_len’:
./include/linux/serial_core.h:464:6: error: ‘struct uart_driver’ has no
member named ‘mapbase’
uart->mapbase = start;
^
./include/linux/serial_core.h:465:6: error: ‘struct uart_driver’ has no
member named ‘mapsize’
uart->mapsize = len;
^
./include/linux/serial_core.h:466:6: error: ‘struct uart_driver’ has no
member named ‘iotype’
uart->iotype = UPIO_MEM;
^
make[3]: *** [arch/powerpc/kernel/setup-common.o] Error 1

Christophe