diff options
author | Sebastian Huber <sebastian.huber@embedded-brains.de> | 2013-11-04 11:33:00 +0100 |
---|---|---|
committer | Sebastian Huber <sebastian.huber@embedded-brains.de> | 2013-11-04 15:28:21 +0100 |
commit | af5333e0a02b2295304d4e029b15ee15a4fe2b3a (patch) | |
tree | c5c43680d374f58b487eeeaf18fb7ec6b84ba074 /rtemsbsd/include/rtems/bsd/local/bus_if.h | |
parent | BUS_SPACE(9): Use simple memory model for ARM (diff) | |
download | rtems-libbsd-af5333e0a02b2295304d4e029b15ee15a4fe2b3a.tar.bz2 |
Update to FreeBSD 8.4
Diffstat (limited to 'rtemsbsd/include/rtems/bsd/local/bus_if.h')
-rw-r--r-- | rtemsbsd/include/rtems/bsd/local/bus_if.h | 33 |
1 files changed, 32 insertions, 1 deletions
diff --git a/rtemsbsd/include/rtems/bsd/local/bus_if.h b/rtemsbsd/include/rtems/bsd/local/bus_if.h index 6a54d605..a0204db3 100644 --- a/rtemsbsd/include/rtems/bsd/local/bus_if.h +++ b/rtemsbsd/include/rtems/bsd/local/bus_if.h @@ -3,7 +3,7 @@ * Do not modify anything in here by hand. * * Created from source file - * kern/bus_if.m + * freebsd-org/sys/kern/bus_if.m * with * makeobjops.awk * @@ -319,6 +319,37 @@ static __inline int BUS_DEACTIVATE_RESOURCE(device_t _dev, device_t _child, return ((bus_deactivate_resource_t *) _m)(_dev, _child, _type, _rid, _r); } +/** @brief Unique descriptor for the BUS_ADJUST_RESOURCE() method */ +extern struct kobjop_desc bus_adjust_resource_desc; +/** @brief A function implementing the BUS_ADJUST_RESOURCE() method */ +typedef int bus_adjust_resource_t(device_t _dev, device_t _child, int _type, + struct resource *_res, u_long _start, + u_long _end); +/** + * @brief Adjust a resource + * + * Adjust the start and/or end of a resource allocated by + * BUS_ALLOC_RESOURCE. At least part of the new address range must overlap + * with the existing address range. If the successful, the resource's range + * will be adjusted to [start, end] on return. + * + * @param _dev the parent device of @p _child + * @param _child the device which allocated the resource + * @param _type the type of resource + * @param _res the resource to adjust + * @param _start the new starting address of the resource range + * @param _end the new ending address of the resource range + */ + +static __inline int BUS_ADJUST_RESOURCE(device_t _dev, device_t _child, + int _type, struct resource *_res, + u_long _start, u_long _end) +{ + kobjop_t _m; + KOBJOPLOOKUP(((kobj_t)_dev)->ops,bus_adjust_resource); + return ((bus_adjust_resource_t *) _m)(_dev, _child, _type, _res, _start, _end); +} + /** @brief Unique descriptor for the BUS_RELEASE_RESOURCE() method */ extern struct kobjop_desc bus_release_resource_desc; /** @brief A function implementing the BUS_RELEASE_RESOURCE() method */ |