tail head cat sleep
QR code linking to this page

Man page  — DEVICE_IDENTIFY

명칭

DEVICE_IDENTIFY – 디바이스의 식별과 그 등록

내용

서식

#include <sys/param.h>
#include <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> 하지만 썼습니다.

DEVICE_IDENTIFY (9) March 10, 2001

tail head cat sleep
QR code linking to this page


Ben Bullock이 유닉스 매뉴얼 페이지에서 서비스에 대한 의견을 주시기 바랍니다. Privacy policy.

If you are angry with someone, you should walk a mile in their shoes - then you'll be a mile away from them, and you'll have their shoes.