[RTEMS-libBSD OFW v1] dev/ofw: Use RTEMS OFW FDT implementation
G S Niteesh Babu
niteesh.gs at gmail.com
Wed Sep 16 17:07:28 UTC 2020
This commit modifies the OFW interface to the RTEMS FDT
implementation instead of the default FreeBSD.
---
freebsd/sys/dev/ofw/openfirm.c | 2 ++
freebsd/sys/dev/ofw/openfirm.h | 9 ++++++++
.../machine/rtems-bsd-kernel-namespace.h | 22 -------------------
3 files changed, 11 insertions(+), 22 deletions(-)
diff --git a/freebsd/sys/dev/ofw/openfirm.c b/freebsd/sys/dev/ofw/openfirm.c
index 9cc7dbdc..30513ab2 100644
--- a/freebsd/sys/dev/ofw/openfirm.c
+++ b/freebsd/sys/dev/ofw/openfirm.c
@@ -333,6 +333,7 @@ OF_interpret(const char *cmd, int nreturns, ...)
* Device tree functions
*/
+#ifndef __rtems__
/* Return the next sibling of this node or 0. */
phandle_t
OF_peer(phandle_t node)
@@ -672,6 +673,7 @@ OF_xref_from_node(phandle_t node)
return (node);
return (xref);
}
+#endif /* __rtems__ */
device_t
OF_device_from_xref(phandle_t xref)
diff --git a/freebsd/sys/dev/ofw/openfirm.h b/freebsd/sys/dev/ofw/openfirm.h
index f043197a..5df07258 100644
--- a/freebsd/sys/dev/ofw/openfirm.h
+++ b/freebsd/sys/dev/ofw/openfirm.h
@@ -64,7 +64,11 @@
#include <sys/types.h>
#include <machine/_bus.h>
+#ifdef __rtems__
+#include <ofw/ofw_compat.h>
+#endif /* __rtems__ */
+#ifndef __rtems__
/*
* Prototypes for Open Firmware Interface Routines
*/
@@ -72,6 +76,7 @@
typedef uint32_t ihandle_t;
typedef uint32_t phandle_t;
typedef uint32_t pcell_t;
+#endif /* __rtems__ */
#ifdef _KERNEL
#include <sys/malloc.h>
@@ -102,6 +107,7 @@ int OF_test(const char *name);
void OF_printf(const char *fmt, ...);
/* Device tree functions */
+#ifndef __rtems__
phandle_t OF_peer(phandle_t node);
phandle_t OF_child(phandle_t node);
phandle_t OF_parent(phandle_t node);
@@ -140,6 +146,7 @@ ssize_t OF_package_to_path(phandle_t node, char *buf, size_t len);
*/
phandle_t OF_node_from_xref(phandle_t xref);
phandle_t OF_xref_from_node(phandle_t node);
+#endif /* __rtems__ */
/*
* When properties contain references to other nodes using xref handles it is
@@ -159,8 +166,10 @@ ssize_t OF_read(ihandle_t instance, void *buf, size_t len);
ssize_t OF_write(ihandle_t instance, const void *buf, size_t len);
int OF_seek(ihandle_t instance, uint64_t where);
+#ifndef __rtems__
phandle_t OF_instance_to_package(ihandle_t instance);
ssize_t OF_instance_to_path(ihandle_t instance, char *buf, size_t len);
+#endif /* __rtems__ */
int OF_call_method(const char *method, ihandle_t instance,
int nargs, int nreturns, ...);
diff --git a/rtemsbsd/include/machine/rtems-bsd-kernel-namespace.h b/rtemsbsd/include/machine/rtems-bsd-kernel-namespace.h
index 75b744a4..53944393 100644
--- a/rtemsbsd/include/machine/rtems-bsd-kernel-namespace.h
+++ b/rtemsbsd/include/machine/rtems-bsd-kernel-namespace.h
@@ -3044,42 +3044,20 @@
#define null_filtops _bsd_null_filtops
#define nullop _bsd_nullop
#define OF_call_method _bsd_OF_call_method
-#define OF_canon _bsd_OF_canon
-#define OF_child _bsd_OF_child
#define OF_claim _bsd_OF_claim
#define OF_close _bsd_OF_close
#define OF_device_from_xref _bsd_OF_device_from_xref
#define OF_device_register_xref _bsd_OF_device_register_xref
#define OF_enter _bsd_OF_enter
#define OF_exit _bsd_OF_exit
-#define OF_finddevice _bsd_OF_finddevice
-#define OF_getencprop _bsd_OF_getencprop
-#define OF_getencprop_alloc _bsd_OF_getencprop_alloc
-#define OF_getencprop_alloc_multi _bsd_OF_getencprop_alloc_multi
-#define OF_getprop _bsd_OF_getprop
-#define OF_getprop_alloc _bsd_OF_getprop_alloc
-#define OF_getprop_alloc_multi _bsd_OF_getprop_alloc_multi
-#define OF_getproplen _bsd_OF_getproplen
-#define OF_hasprop _bsd_OF_hasprop
#define OF_init _bsd_OF_init
#define OF_install _bsd_OF_install
-#define OF_instance_to_package _bsd_OF_instance_to_package
-#define OF_instance_to_path _bsd_OF_instance_to_path
#define OF_interpret _bsd_OF_interpret
-#define OF_nextprop _bsd_OF_nextprop
-#define OF_node_from_xref _bsd_OF_node_from_xref
#define OF_open _bsd_OF_open
-#define OF_package_to_path _bsd_OF_package_to_path
-#define OF_parent _bsd_OF_parent
-#define OF_peer _bsd_OF_peer
#define OF_printf _bsd_OF_printf
-#define OF_prop_free _bsd_OF_prop_free
#define OF_read _bsd_OF_read
#define OF_release _bsd_OF_release
-#define OF_searchencprop _bsd_OF_searchencprop
-#define OF_searchprop _bsd_OF_searchprop
#define OF_seek _bsd_OF_seek
-#define OF_setprop _bsd_OF_setprop
#define OF_test _bsd_OF_test
#define ofw_bus_assigned_addresses_to_rl _bsd_ofw_bus_assigned_addresses_to_rl
#define ofwbus_driver _bsd_ofwbus_driver
--
2.17.1
More information about the devel
mailing list