mirror of
https://github.com/riscv-software-src/opensbi.git
synced 2025-08-25 15:51:41 +01:00

Indicate that none of these functions modify the devicetree by constifying the parameter type. Signed-off-by: Samuel Holland <samuel.holland@sifive.com> Reviewed-by: Andrew Jones <ajones@ventanamicro.com> Reviewed-by: Anup Patel <anup@brainfault.org>
48 lines
1.0 KiB
C
48 lines
1.0 KiB
C
/*
|
|
* SPDX-License-Identifier: BSD-2-Clause
|
|
*
|
|
* Copyright (c) 2022 Andes Technology Corporation
|
|
*
|
|
* Authors:
|
|
* Zong Li <zong@andestech.com>
|
|
* Nylon Chen <nylon7@andestech.com>
|
|
* Leo Yu-Chi Liang <ycliang@andestech.com>
|
|
* Yu Chien Peter Lin <peterlin@andestech.com>
|
|
*/
|
|
|
|
#include <sbi/riscv_io.h>
|
|
#include <sbi_utils/fdt/fdt_helper.h>
|
|
#include <sbi_utils/ipi/fdt_ipi.h>
|
|
#include <sbi_utils/ipi/andes_plicsw.h>
|
|
|
|
extern struct plicsw_data plicsw;
|
|
|
|
int fdt_plicsw_cold_ipi_init(const void *fdt, int nodeoff,
|
|
const struct fdt_match *match)
|
|
{
|
|
int rc;
|
|
|
|
rc = fdt_parse_plicsw_node(fdt, nodeoff, &plicsw.addr, &plicsw.size,
|
|
&plicsw.hart_count);
|
|
if (rc)
|
|
return rc;
|
|
|
|
rc = plicsw_cold_ipi_init(&plicsw);
|
|
if (rc)
|
|
return rc;
|
|
|
|
return 0;
|
|
}
|
|
|
|
static const struct fdt_match ipi_plicsw_match[] = {
|
|
{ .compatible = "andestech,plicsw" },
|
|
{},
|
|
};
|
|
|
|
struct fdt_ipi fdt_ipi_plicsw = {
|
|
.match_table = ipi_plicsw_match,
|
|
.cold_init = fdt_plicsw_cold_ipi_init,
|
|
.warm_init = plicsw_warm_ipi_init,
|
|
.exit = NULL,
|
|
};
|