From 9d94279bf9527fb126ad592c590530352e3a1939 Mon Sep 17 00:00:00 2001 From: G S Niteesh Babu Date: Wed, 19 Aug 2020 16:24:26 +0530 Subject: [PATCH] dev/ofw: Use RTEMS OFW FDT implementation 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 9cc7dbdce..30513ab27 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 f043197a5..5df07258a 100644 --- a/freebsd/sys/dev/ofw/openfirm.h +++ b/freebsd/sys/dev/ofw/openfirm.h @@ -64,7 +64,11 @@ #include #include +#ifdef __rtems__ +#include +#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 @@ -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 75b744a4d..53944393e 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