forked from Mirrors/opensbi

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>
34 lines
728 B
C
34 lines
728 B
C
/*
|
|
* SPDX-License-Identifier: BSD-2-Clause
|
|
*
|
|
* Copyright (c) 2020 Vijai Kumar K <vijai@behindbytes.com>
|
|
*
|
|
*/
|
|
|
|
#include <sbi_utils/fdt/fdt_helper.h>
|
|
#include <sbi_utils/serial/fdt_serial.h>
|
|
#include <sbi_utils/serial/shakti-uart.h>
|
|
|
|
static int serial_shakti_init(void *fdt, int nodeoff,
|
|
const struct fdt_match *match)
|
|
{
|
|
int rc;
|
|
struct platform_uart_data uart = { 0 };
|
|
|
|
rc = fdt_parse_shakti_uart_node(fdt, nodeoff, &uart);
|
|
if (rc)
|
|
return rc;
|
|
|
|
return shakti_uart_init(uart.addr, uart.freq, uart.baud);
|
|
}
|
|
|
|
static const struct fdt_match serial_shakti_match[] = {
|
|
{ .compatible = "shakti,uart0" },
|
|
{ },
|
|
};
|
|
|
|
struct fdt_serial fdt_serial_shakti = {
|
|
.match_table = serial_shakti_match,
|
|
.init = serial_shakti_init
|
|
};
|