home | help
BUS_RELEASE_RESOURCE(9)     Kernel Developer's Manual	 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 ker-
     nel 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			 March 13, 2024 	 BUS_RELEASE_RESOURCE(9)

home | help