forked from Mirrors/opensbi
lib: utils: Mark RPMI drivers as experimental
These drivers were merged on an experimental basis without the RPMI specification being frozen. As a result, they may not be compatible with the frozen version of the RPMI protocol. Additionally, their devicetree bindings have not been reviewed and are subject to change. Warn the user that these drivers make no compatibility guarantees, and that their behavior and devicetree bindings may change incompatibly in future versions of OpenSBI. Signed-off-by: Samuel Holland <samuel.holland@sifive.com> Reviewed-by: Anup Patel <anup@brainfault.org>
This commit is contained in:

committed by
Anup Patel

parent
0c5dc12d73
commit
8d8cc9507b
@@ -15,6 +15,7 @@ struct fdt_driver {
|
||||
const struct fdt_match *match_table;
|
||||
int (*init)(const void *fdt, int nodeoff,
|
||||
const struct fdt_match *match);
|
||||
bool experimental;
|
||||
};
|
||||
|
||||
/**
|
||||
|
@@ -370,4 +370,5 @@ static const struct fdt_match rpmi_cppc_match[] = {
|
||||
struct fdt_driver fdt_cppc_rpmi = {
|
||||
.match_table = rpmi_cppc_match,
|
||||
.init = rpmi_cppc_cold_init,
|
||||
.experimental = true,
|
||||
};
|
||||
|
@@ -30,6 +30,10 @@ int fdt_driver_init_by_offset(const void *fdt, int nodeoff,
|
||||
if (!fdt_stringlist_contains(prop, len, match->compatible))
|
||||
continue;
|
||||
|
||||
if (driver->experimental)
|
||||
sbi_printf("WARNING: %s driver is experimental and may change\n",
|
||||
match->compatible);
|
||||
|
||||
rc = driver->init(fdt, nodeoff, match);
|
||||
if (rc < 0) {
|
||||
const char *name;
|
||||
|
@@ -359,4 +359,5 @@ static const struct fdt_match rpmi_hsm_match[] = {
|
||||
struct fdt_driver fdt_hsm_rpmi = {
|
||||
.match_table = rpmi_hsm_match,
|
||||
.init = rpmi_hsm_cold_init,
|
||||
.experimental = true,
|
||||
};
|
||||
|
@@ -768,6 +768,7 @@ struct fdt_mailbox fdt_mailbox_rpmi_shmem = {
|
||||
.driver = {
|
||||
.match_table = rpmi_shmem_mbox_match,
|
||||
.init = rpmi_shmem_mbox_init,
|
||||
.experimental = true,
|
||||
},
|
||||
.xlate = fdt_mailbox_simple_xlate,
|
||||
};
|
||||
|
@@ -439,4 +439,5 @@ static const struct fdt_match mpxy_mbox_match[] = {
|
||||
struct fdt_driver fdt_mpxy_rpmi_mbox = {
|
||||
.match_table = mpxy_mbox_match,
|
||||
.init = mpxy_mbox_init,
|
||||
.experimental = true,
|
||||
};
|
||||
|
@@ -138,4 +138,5 @@ static const struct fdt_match rpmi_reset_match[] = {
|
||||
struct fdt_driver fdt_reset_rpmi = {
|
||||
.match_table = rpmi_reset_match,
|
||||
.init = rpmi_reset_init,
|
||||
.experimental = true,
|
||||
};
|
||||
|
@@ -135,4 +135,5 @@ static const struct fdt_match rpmi_suspend_match[] = {
|
||||
struct fdt_driver fdt_suspend_rpmi = {
|
||||
.match_table = rpmi_suspend_match,
|
||||
.init = rpmi_suspend_init,
|
||||
.experimental = true,
|
||||
};
|
||||
|
Reference in New Issue
Block a user