mirror of
https://github.com/xen-project/xen.git
synced 2026-10-28 02:01:24 +01:00
xen/serial: scif: Rework how the parameters are found
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@amazon.com>
Reviewed-by: Stefano Stabellini <sstabellini@kernel.org>
This commit is contained in:
1 parent
0e97d99f0e
commit
edad4c760a
1 file changed
+3
-3
@@ -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;
|
||||
|
||||