[patch libBSD] dev/ofw: Use RTEMS OFW FDT implementation
Christian MAUDERER
christian.mauderer at embedded-brains.de
Wed Jan 27 10:29:04 UTC 2021
Hello Niteesh,
I think there is an open Question from Chris for that patch:
https://lists.rtems.org/pipermail/devel/2021-January/063988.html
Best regards
Christian
Am 27.01.21 um 11:14 schrieb Niteesh G. S.:
> ping.
>
>
> On Wed, Jan 20, 2021 at 2:01 PM G S Niteesh Babu <niteesh.gs at gmail.com
> <mailto:niteesh.gs at gmail.com>> wrote:
>
> 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
>
--
--------------------------------------------
embedded brains GmbH
Herr Christian MAUDERER
Dornierstr. 4
82178 Puchheim
Germany
email: christian.mauderer at embedded-brains.de
phone: +49-89-18 94 741 - 18
fax: +49-89-18 94 741 - 08
Registergericht: Amtsgericht München
Registernummer: HRB 157899
Vertretungsberechtigte Geschäftsführer: Peter Rasmussen, Thomas Dörfler
Unsere Datenschutzerklärung finden Sie hier:
https://embedded-brains.de/datenschutzerklaerung/
More information about the devel
mailing list