BUS_RELEASE_RESOURCE(9) FreeBSD Kernel Developer's Manual
NAME
bus_release_resource - release resources on a bus
SYNOPSIS
#include <sys/param.h>
#include <sys/bus.h>
#include <machine/bus.h>
#include <sys/rman.h>
#include <machine/resource.h>
int
bus_release_resource(device_t dev, struct resource *r);
DESCRIPTION
Free a resource allocated by bus_alloc_resource(9). The resource must
not be in use on release, i.e., call an appropriate function before (e.g.
bus_teardown_intr(9) for IRQs).
dev is the device that owns the resource.
r is the pointer to struct resource, i.e., the resource itself, returned
by bus_alloc_resource(9).
RETURN VALUES
EINVAL is returned, if the device dev has no parent, 0 otherwise. The
kernel will panic, if it cannot release the resource.
EXAMPLES
/* deactivate IRQ */
bus_teardown_intr(dev, foosoftc->irqres, foosoftc->irqid);
/* release IRQ resource */
bus_release_resource(dev, foosoftc->irqres);
/* release I/O port resource */
bus_release_resource(dev, foosoftc->portres);
SEE ALSO
bus_alloc_resource(9), device(9), driver(9)
AUTHORS
This manual page was written by Alexander Langer <alex@big.endian.de>.
FreeBSD 15.1-STABLE-HBSD March 13, 2024 BUS_RELEASE_RESOURCE(9)