Provided by: freebsd-manpages_12.2-1_all bug

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, int type, int rid, 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.

       type is the type of resource that is released.  It must be of the same type you allocated it  as  before.
       See bus_alloc_resource(9) for valid types.

       rid  is  the  resource  ID  of  the  resource.   The  rid  value  must be the same as the one returned by
       bus_alloc_resource(9).

       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, SYS_RES_IRQ, foosoftc->irqid,
                       foosoftc->irqres);

               /* release I/O port resource */
               bus_release_resource(dev, SYS_RES_IOPORT, foosoftc->portid,
                       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>.

Debian                                            May 18, 2000                           BUS_RELEASE_RESOURCE(9)