DEVICE_IDENTIFY(9)

명칭
DEVICE_IDENTIFY - 디바이스의 식별과 그 등록

서식
<sys/param.h> <sys/bus.h> void DEVICE_IDENTIFY(driver_t *driver, device_t parent)

해설
디바이스를 위한 식별 함수는, 예를 들면 ISA 버스등의, 아이 디바이스를 독립해 식별할 수 없는 버스상의 디바이스를 위해서(때문에)만 필요하게 됩니다. 이것은 디바이스를 인식 (대체로는 하드웨어의 불명료하지 않은 레지스터에 액세스 하는 것에 의해 행해집니다) 해, 그 디바이스에 관해서 커널에 통지해, 새로운 디바이스의 실체를 작성하기 위해서, 사용됩니다.

BUS_ADD_CHILD(9) (은)는 버스의 아이 디바이스로서 디바이스를 등록하기 위해서 사용됩니다. 그 디바이스의 (IRQ 나 I/O 포트와 같은) 리소스는, 개개의 리소스를 위해서(때문에) bus_set_resource() (자세한 것은 bus_set_resource(9) (을)를 참조) (을)를 호출하는 것에 의해 커널에 등록됩니다.

사용예
이하의 유사 코드는, 하드웨어의 일부를 프로브 해, 디바이스와 그 리소스 (I/O 포트)를 커널에 등록하는 함수의 예를 나타내고 있습니다. 디바이스의 해설도 설정해 있습니다.

    void
    foo_identify(driver_t *driver, device_t parent)
    {
    	device_t child;
    	디바이스 정보의 꺼내;
    	if (서포트하는 디바이스 우리 1 개가 매치 한다) {
    		child = BUS_ADD_CHILD(parent, 0, "foo", -1);
    		device_set_desc_copy(child, "foo chip ver. 123");
    		device_set_driver(child, driver);
    		bus_set_resource(child, SYS_RES_IOPORT, 0, FOO_IOADDR, 1);
    	}
    }

반환값
성공시에는 0 이 돌려주어져 그 이외의 경우는 적절한 에러 ((errno) 2 참조)가 돌려주어집니다.

관련 항목
BUS_ADD_CHILD(9), bus_set_resource(9), device(9), device_add_child(9), DEVICE_ATTACH(9), DEVICE_DETACH(9), DEVICE_PROBE(9), device_set_desc_copy(9), device_set_driver(9), DEVICE_SHUTDOWN(9)

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