BUS_RELEASE_RESOURCE(9)

명칭
bus_release_resource - 버스상의 자원의 해방

서식
<sys/param.h> <sys/bus.h>

<machine/bus.h> <sys/rman.h> <machine/resource.h> #include <machine/resource.h> int bus_release_resource(device_t dev, int type, int rid, struct resource *r)

해설
bus_alloc_resource(9) 에 의해 할당할 수 있었던 자원을 해방합니다. 그 자원은 해방시에 사용중이어 되지 않습니다. 즉, 적절한 함수 (IRQ 를 위한 bus_teardown_intr(9) 등)을 사전에 호출해 주세요.

dev (은)는, 자원을 소유하고 있는 디바이스입니다.

type (은)는, 해방되는 자원의 형태입니다. 이전에 할당했을 때와 동일한 형태가 아니면 안됩니다. 유효한 형태에 대해서는 bus_alloc_resource(9) (을)를 참조해 주세요.

rid (은)는, 자원의 자원 식별자입니다. rid 하 bus_alloc_resource(9) 에 의해 돌려주어진 식별자와 동일하지 않으면 안됩니다.

r 하 struct resource 구조체에의 포인터로, 즉 bus_alloc_resource(9) 에 의해 돌려주어진 자원 그 자체입니다.

반환값
디바이스 dev 하지만 부모를 가지지 않는 경우에는 EINVAL 하지만 돌려주어져 그렇지 않은 경우에는 0 하지만 돌려주어집니다. 자원을 해방할 수 없는 경우에는, 커널은 패닉 하겠지요.

사용예

    	/* IRQ 의 불활성화 */
    	bus_teardown_intr(dev, foosoftc->irqres, foosoftc->irqid);
    	/* IRQ 자원의 해방 */
    	bus_release_resource(dev, SYS_RES_IRQ, foosoftc->irqid,
    		foosoftc->irqres);
    	/* 입출력 포트의 자원의 해방 */
    	bus_release_resource(dev, SYS_RES_IOPORT, foosoftc->portid,
    		foosoftc->portres);

관련 항목
bus_alloc_resource(9), device(9), driver(9)

저자
이 메뉴얼 페이지는 Alexander Langer <alex@big.endian.de> 하지만 썼습니다.