diff options
author | Sebastian Huber <sebastian.huber@embedded-brains.de> | 2016-10-07 15:10:20 +0200 |
---|---|---|
committer | Sebastian Huber <sebastian.huber@embedded-brains.de> | 2017-01-10 09:53:31 +0100 |
commit | c40e45b75eb76d79a05c7fa85c1fa9b5c728a12f (patch) | |
tree | ad4f2519067709f00ab98b3c591186c26dc3a21f /rtemsbsd/include/rtems/bsd/local/pcib_if.h | |
parent | userspace-header-gen.py: Simplify program ports (diff) | |
download | rtems-libbsd-c40e45b75eb76d79a05c7fa85c1fa9b5c728a12f.tar.bz2 |
Update to FreeBSD head 2016-08-23
Git mirror commit 9fe7c416e6abb28b1398fd3e5687099846800cfd.
Diffstat (limited to 'rtemsbsd/include/rtems/bsd/local/pcib_if.h')
-rw-r--r-- | rtemsbsd/include/rtems/bsd/local/pcib_if.h | 67 |
1 files changed, 67 insertions, 0 deletions
diff --git a/rtemsbsd/include/rtems/bsd/local/pcib_if.h b/rtemsbsd/include/rtems/bsd/local/pcib_if.h index d8f20c78..a7c06c31 100644 --- a/rtemsbsd/include/rtems/bsd/local/pcib_if.h +++ b/rtemsbsd/include/rtems/bsd/local/pcib_if.h @@ -14,6 +14,9 @@ #ifndef _pcib_if_h_ #define _pcib_if_h_ + +#include "pci_if.h" + /** @brief Unique descriptor for the PCIB_MAXSLOTS() method */ extern struct kobjop_desc pcib_maxslots_desc; /** @brief A function implementing the PCIB_MAXSLOTS() method */ @@ -26,6 +29,18 @@ static __inline int PCIB_MAXSLOTS(device_t dev) return ((pcib_maxslots_t *) _m)(dev); } +/** @brief Unique descriptor for the PCIB_MAXFUNCS() method */ +extern struct kobjop_desc pcib_maxfuncs_desc; +/** @brief A function implementing the PCIB_MAXFUNCS() method */ +typedef int pcib_maxfuncs_t(device_t dev); + +static __inline int PCIB_MAXFUNCS(device_t dev) +{ + kobjop_t _m; + KOBJOPLOOKUP(((kobj_t)dev)->ops,pcib_maxfuncs); + return ((pcib_maxfuncs_t *) _m)(dev); +} + /** @brief Unique descriptor for the PCIB_READ_CONFIG() method */ extern struct kobjop_desc pcib_read_config_desc; /** @brief A function implementing the PCIB_READ_CONFIG() method */ @@ -147,4 +162,56 @@ static __inline int PCIB_POWER_FOR_SLEEP(device_t pcib, device_t dev, return ((pcib_power_for_sleep_t *) _m)(pcib, dev, pstate); } +/** @brief Unique descriptor for the PCIB_GET_ID() method */ +extern struct kobjop_desc pcib_get_id_desc; +/** @brief A function implementing the PCIB_GET_ID() method */ +typedef int pcib_get_id_t(device_t pcib, device_t dev, enum pci_id_type type, + uintptr_t *id); + +static __inline int PCIB_GET_ID(device_t pcib, device_t dev, + enum pci_id_type type, uintptr_t *id) +{ + kobjop_t _m; + KOBJOPLOOKUP(((kobj_t)pcib)->ops,pcib_get_id); + return ((pcib_get_id_t *) _m)(pcib, dev, type, id); +} + +/** @brief Unique descriptor for the PCIB_TRY_ENABLE_ARI() method */ +extern struct kobjop_desc pcib_try_enable_ari_desc; +/** @brief A function implementing the PCIB_TRY_ENABLE_ARI() method */ +typedef int pcib_try_enable_ari_t(device_t pcib, device_t dev); + +static __inline int PCIB_TRY_ENABLE_ARI(device_t pcib, device_t dev) +{ + kobjop_t _m; + KOBJOPLOOKUP(((kobj_t)pcib)->ops,pcib_try_enable_ari); + return ((pcib_try_enable_ari_t *) _m)(pcib, dev); +} + +/** @brief Unique descriptor for the PCIB_ARI_ENABLED() method */ +extern struct kobjop_desc pcib_ari_enabled_desc; +/** @brief A function implementing the PCIB_ARI_ENABLED() method */ +typedef int pcib_ari_enabled_t(device_t pcib); + +static __inline int PCIB_ARI_ENABLED(device_t pcib) +{ + kobjop_t _m; + KOBJOPLOOKUP(((kobj_t)pcib)->ops,pcib_ari_enabled); + return ((pcib_ari_enabled_t *) _m)(pcib); +} + +/** @brief Unique descriptor for the PCIB_DECODE_RID() method */ +extern struct kobjop_desc pcib_decode_rid_desc; +/** @brief A function implementing the PCIB_DECODE_RID() method */ +typedef void pcib_decode_rid_t(device_t pcib, uint16_t rid, int *bus, int *slot, + int *func); + +static __inline void PCIB_DECODE_RID(device_t pcib, uint16_t rid, int *bus, + int *slot, int *func) +{ + kobjop_t _m; + KOBJOPLOOKUP(((kobj_t)pcib)->ops,pcib_decode_rid); + ((pcib_decode_rid_t *) _m)(pcib, rid, bus, slot, func); +} + #endif /* _pcib_if_h_ */ |