노무현 대통령 배너


2006. 7. 20. 13:54

[본문스크랩] 드라이버의 파라미터

드라이버의 파라미터는 시스템에 따라 구성해주어야 하는데 명시적으로 지정하거나 자동으로 검출하여 지정
파라미터 값들은 insmod나 modprobe 를 사용하여 로드 시에 명시적으로 지정
skull_ival, skull_sval 파라미터를 지정하는 예
insmod skull skull_ival=666 skull_sval="the beast"


MODULE_PARM 매크로
에 정의되어 모듈 파라미터를 명시적으로 지정


int skull_ival=0;
char *skull_sval;
MODULE_PARM (skull_ival, "i");
MODULE_PARM (skull_sval, "s");
타입은 바이트 b, short s, 정수 i, long l, 문자열 s 가 있다.

아래와 같이 배열(최소한 2-4개 값을 갖는 배열)을 지정할 수도 있다
int skull_array[4];
MODULE_PARM (skull_array, "2-4i");


MODULE_PARM_DESC 매크로
모듈 파라미터의 내용을 목적파일에 기술
기술된 내용은 objdump를 사용하여 확인
int base_port = 0x300;
MODULE_PARM (base_port, "i");
MODULE_PARM_DESC (base_port, "The base I/O port (default 0x300)");

목적파일에 코멘트를 삽입하는 매크로
MODULE_AUTHOR(name) : 목적파일에 개발자 이름 삽입
MODULE_DESCRIPTION(desc) : 목적파일에 모듈에 대해 기술
MODULE_SUPPORTED_DEVICE(dev) : 목적파일에 모듈에 의해 지원되는 디바이기술