logo
Free, unlimited AI code reviews that run on commit
git-lrc git-lrc GitHub Install Now We'd appreciate a star git-lrc - Free, unlimited AI code reviews that run on commit | Product Hunt git-lrc - Free, unlimited AI code reviews that run on commit | Product Hunt

bus_release_resource — release resources on a bus

Authors

       This manual page was written by Alexander Langer <alex@big.endian.de>.

Debian                                            May 18, 2000                           BUS_RELEASE_RESOURCE(9)

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 structresource, i.e., the resource itself, returned by bus_alloc_resource(9).

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);

Name

       bus_release_resource — release resources on a bus

Return Values

       EINVAL is returned, if the device dev has no parent, 0 otherwise.  The kernel will panic,  if  it  cannot
       release the resource.

See Also

bus_alloc_resource(9), device(9), driver(9)

Synopsis

#include<sys/param.h>#include<sys/bus.h>#include<machine/bus.h>#include<sys/rman.h>#include<machine/resource.h>intbus_release_resource(device_tdev, inttype, intrid, structresource*r);

See Also