From: Christian Mauderer <christian.maude...@embedded-brains.de> --- freebsd/sys/sys/bus.h | 23 +++++++++++++++++++++++ 1 file changed, 23 insertions(+)
diff --git a/freebsd/sys/sys/bus.h b/freebsd/sys/sys/bus.h index 61cb5b9cabf..e882823d402 100644 --- a/freebsd/sys/sys/bus.h +++ b/freebsd/sys/sys/bus.h @@ -781,6 +781,7 @@ DECLARE_MODULE(name##_##busname, name##_##busname##_mod, \ /** * Generic ivar accessor generation macros for bus drivers */ +#ifndef __rtems__ #define __BUS_ACCESSOR(varp, var, ivarp, ivar, type) \ \ static __inline type varp ## _get_ ## var(device_t dev) \ @@ -797,6 +798,28 @@ static __inline void varp ## _set_ ## var(device_t dev, type t) \ BUS_WRITE_IVAR(device_get_parent(dev), dev, \ ivarp ## _IVAR_ ## ivar, v); \ } +#else /* __rtems__ */ +#define __BUS_ACCESSOR(varp, var, ivarp, ivar, type) \ + \ +static __inline type varp ## _get_ ## var(device_t dev) \ +{ \ + uintptr_t v; \ + int err; \ + err = BUS_READ_IVAR(device_get_parent(dev), dev, \ + ivarp ## _IVAR_ ## ivar, &v); \ + BSD_ASSERT(err == 0); \ + return ((type) v); \ +} \ + \ +static __inline void varp ## _set_ ## var(device_t dev, type t) \ +{ \ + uintptr_t v = (uintptr_t) t; \ + int err; \ + BUS_WRITE_IVAR(device_get_parent(dev), dev, \ + ivarp ## _IVAR_ ## ivar, v); \ + BSD_ASSERT(err == 0); \ +} +#endif /* __rtems__ */ /** * Shorthand macros, taking resource argument -- 2.12.3 _______________________________________________ devel mailing list devel@rtems.org http://lists.rtems.org/mailman/listinfo/devel