Files
opensbi/lib/utils/serial/fdt_serial_xlnx_uartlite.c
Andrew Jones 7d28d3be50 lib: utils/serial: Initialize platform_uart_data to zero
While it doesn't look like there are any current cases of using
uninitialized data, let's zero all the UART data members to be
safe. Zero may not actually be better than a random number in
some cases, so all structure members should still be validated
before use, but at least zero is usually easier to debug than
some random stack garbage...

Signed-off-by: Andrew Jones <ajones@ventanamicro.com>
Reviewed-by: Anup Patel <anup@brainfault.org>
2022-07-30 11:39:10 +05:30

36 lines
830 B
C

/*
* SPDX-License-Identifier: BSD-2-Clause
*
* Copyright (c) 2022 Western Digital Corporation or its affiliates.
*
* Authors:
* Alistair Francis <alistair.francis@wdc.com>
*/
#include <sbi_utils/fdt/fdt_helper.h>
#include <sbi_utils/serial/fdt_serial.h>
#include <sbi_utils/serial/xlnx_uartlite.h>
static int serial_xlnx_uartlite_init(void *fdt, int nodeoff,
const struct fdt_match *match)
{
int rc;
struct platform_uart_data uart = { 0 };
rc = fdt_parse_xlnx_uartlite_node(fdt, nodeoff, &uart);
if (rc)
return rc;
return xlnx_uartlite_init(uart.addr);
}
static const struct fdt_match serial_xlnx_uartlite_match[] = {
{ .compatible = "xlnx,xps-uartlite-1.00.a" },
{ },
};
struct fdt_serial fdt_serial_xlnx_uartlite = {
.match_table = serial_xlnx_uartlite_match,
.init = serial_xlnx_uartlite_init,
};