Message ID | 1318933330-17883-2-git-send-email-monstr@monstr.eu |
---|---|
State | Accepted |
Commit | 8cb9b23755ca696f5ed86146cb133067a2cb4aef |
Headers | show |
Dear Michal Simek, In message <1318933330-17883-2-git-send-email-monstr@monstr.eu> you wrote: > Do not setup userial_ports array as const because > in uartlite_serial_putc is out_be32 which can't write > to tx_fifo if is const. > > Warning log: > serial_xuartlite.c: In function 'uartlite_serial_putc': > serial_xuartlite.c:60: warning: initialization discards qualifiers from pointer target type > serial_xuartlite.c: In function 'uartlite_serial_getc': > serial_xuartlite.c:78: warning: initialization discards qualifiers from pointer target type > serial_xuartlite.c: In function 'uartlite_serial_tstc': > serial_xuartlite.c:87: warning: initialization discards qualifiers from pointer target type > > Signed-off-by: Michal Simek <monstr@monstr.eu> > > --- > There are several approach how to solve it in uartlite_serial_putc. > 1. add retype to out_be32 function > 2. retype in assignment > 3. do not define userial_ports as const - used solution Wouldn't 1. and 2. actually be wrong? If you need to write to the struct, you must not declare it as constant? > --- > drivers/serial/serial_xuartlite.c | 2 +- > 1 files changed, 1 insertions(+), 1 deletions(-) Applied, thanks. Best regards, Wolfgang Denk
diff --git a/drivers/serial/serial_xuartlite.c b/drivers/serial/serial_xuartlite.c index 2dc6bd1..3a38f9e 100644 --- a/drivers/serial/serial_xuartlite.c +++ b/drivers/serial/serial_xuartlite.c @@ -40,7 +40,7 @@ struct uartlite { unsigned int status; }; -static const struct uartlite *userial_ports[4] = { +static struct uartlite *userial_ports[4] = { #ifdef XILINX_UARTLITE_BASEADDR [0] = (struct uartlite *)XILINX_UARTLITE_BASEADDR, #endif
Do not setup userial_ports array as const because in uartlite_serial_putc is out_be32 which can't write to tx_fifo if is const. Warning log: serial_xuartlite.c: In function 'uartlite_serial_putc': serial_xuartlite.c:60: warning: initialization discards qualifiers from pointer target type serial_xuartlite.c: In function 'uartlite_serial_getc': serial_xuartlite.c:78: warning: initialization discards qualifiers from pointer target type serial_xuartlite.c: In function 'uartlite_serial_tstc': serial_xuartlite.c:87: warning: initialization discards qualifiers from pointer target type Signed-off-by: Michal Simek <monstr@monstr.eu> --- There are several approach how to solve it in uartlite_serial_putc. 1. add retype to out_be32 function 2. retype in assignment 3. do not define userial_ports as const - used solution --- drivers/serial/serial_xuartlite.c | 2 +- 1 files changed, 1 insertions(+), 1 deletions(-)