Skip to content

Commit

Permalink
dev/ofw: Use RTEMS OFW FDT implementation
Browse files Browse the repository at this point in the history
This commit modifies the OFW interface to the RTEMS FDT
implementation instead of the default FreeBSD.
  • Loading branch information
gs-niteesh committed Aug 19, 2020
1 parent b35ea8c commit 9d94279
Show file tree
Hide file tree
Showing 3 changed files with 11 additions and 22 deletions.
2 changes: 2 additions & 0 deletions freebsd/sys/dev/ofw/openfirm.c
Expand Up @@ -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)
Expand Down Expand Up @@ -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)
Expand Down
9 changes: 9 additions & 0 deletions freebsd/sys/dev/ofw/openfirm.h
Expand Up @@ -64,14 +64,19 @@

#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
*/

typedef uint32_t ihandle_t;
typedef uint32_t phandle_t;
typedef uint32_t pcell_t;
#endif /* __rtems__ */

#ifdef _KERNEL
#include <sys/malloc.h>
Expand Down Expand Up @@ -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);
Expand Down Expand Up @@ -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
Expand All @@ -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, ...);

Expand Down
22 changes: 0 additions & 22 deletions rtemsbsd/include/machine/rtems-bsd-kernel-namespace.h
Expand Up @@ -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
Expand Down

0 comments on commit 9d94279

Please sign in to comment.