summaryrefslogtreecommitdiff
path: root/include/sbi_utils/reset
diff options
context:
space:
mode:
authorSamuel Holland <[email protected]>2024-11-11 14:02:53 -0800
committerAnup Patel <[email protected]>2024-11-28 17:48:17 +0530
commit6d9ad492dbfdda00add7ff15a8599736f46d040a (patch)
tree46b9f4122d3efaea86438c34499e9d5294fab0df /include/sbi_utils/reset
parent1f8db2f18ffb4babb27c2070419b7100f998c7f4 (diff)
lib: utils/reset: Use fdt_driver for initialization
The reset driver subsystem does not need any extra data, so it can use `struct fdt_driver` directly. The generic fdt_reset_init() performs a best-effort initialization of all matching DT nodes. Platform-specific logic expects exactly one DT node to match a single driver. This is accomplished by using fdt_driver_init_one() with a local list containing that one driver. Signed-off-by: Samuel Holland <[email protected]> Reviewed-by: Anup Patel <[email protected]>
Diffstat (limited to 'include/sbi_utils/reset')
-rw-r--r--include/sbi_utils/reset/fdt_reset.h15
1 files changed, 1 insertions, 14 deletions
diff --git a/include/sbi_utils/reset/fdt_reset.h b/include/sbi_utils/reset/fdt_reset.h
index f126fd33..5fba3886 100644
--- a/include/sbi_utils/reset/fdt_reset.h
+++ b/include/sbi_utils/reset/fdt_reset.h
@@ -11,20 +11,11 @@
#define __FDT_RESET_H__
#include <sbi/sbi_types.h>
-
-struct fdt_reset {
- const struct fdt_match *match_table;
- int (*init)(const void *fdt, int nodeoff, const struct fdt_match *match);
-};
+#include <sbi_utils/fdt/fdt_driver.h>
#ifdef CONFIG_FDT_RESET
/**
- * fdt_reset_driver_init() - initialize reset driver based on the device-tree
- */
-int fdt_reset_driver_init(const void *fdt, struct fdt_reset *drv);
-
-/**
* fdt_reset_init() - initialize reset drivers based on the device-tree
*
* This function shall be invoked in final init.
@@ -33,10 +24,6 @@ void fdt_reset_init(const void *fdt);
#else
-static inline int fdt_reset_driver_init(const void *fdt, struct fdt_reset *drv)
-{
- return 0;
-}
static inline void fdt_reset_init(const void *fdt) { }
#endif