[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] Re: [PATCH] xen/serial: scif: Rework how the parameters are found
On 24.12.20 18:50, Julien Grall wrote: Hi Julien From: Julien Grall <jgrall@xxxxxxxxxx> clang 11 will throw the following error while build Xen: scif-uart.c:333:33: error: cast to smaller integer type 'enum port_types' from 'const void *' [-Werror,-Wvoid-pointer-to-enum-cast] uart->params = &port_params[(enum port_types)match->data]; ^~~~~~~~~~~~~~~~~~~~~~~~~~~~ The error can be prevented by directly storing a pointer to the port parameters rather than the a cast of the port type. Signed-off-by: Julien Grall <jgrall@xxxxxxxxxx> --- Only build tested as I don't have the HW. I don't have an access to the SCIFA based HW at the moment, but on Gen3 H3 SoC (SCIF) it works. --- xen/drivers/char/scif-uart.c | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/xen/drivers/char/scif-uart.c b/xen/drivers/char/scif-uart.c index 9d3f66b55b67..ee204a11a471 100644 --- a/xen/drivers/char/scif-uart.c +++ b/xen/drivers/char/scif-uart.c @@ -286,8 +286,8 @@ static struct uart_driver __read_mostly scif_uart_driver = {static const struct dt_device_match scif_uart_dt_match[] __initconst ={ - { .compatible = "renesas,scif", .data = (void *)SCIF_PORT }, - { .compatible = "renesas,scifa", .data = (void *)SCIFA_PORT }, + { .compatible = "renesas,scif", .data = &port_params[SCIF_PORT] }, + { .compatible = "renesas,scifa", .data = &port_params[SCIFA_PORT] }, { /* sentinel */ }, };@@ -330,7 +330,7 @@ static int __init scif_uart_init(struct dt_device_node *dev, match = dt_match_node(scif_uart_dt_match, dev);ASSERT( match ); - uart->params = &port_params[(enum port_types)match->data]; + uart->params = match->data;uart->vuart.base_addr = addr;uart->vuart.size = size; -- Regards, Oleksandr Tyshchenko
|
Lists.xenproject.org is hosted with RackSpace, monitoring our |