BUS_RELEASE_RESOURCE(9)

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>.