일반적인 관행에 따라 다음 프로그램에 <linux/stat.h>
및 을 포함 해야 합니까?<linux/module_param.h>
#include<linux/module.h>
char str[7] = "hello";
int arr_size = 7;
module_param_string(str_param, str, 7, S_IRWXU);
int f1(void){
return 0;
}
void f2(void){
}
module_init(f1);
module_exit(f2);
MODULE_LICENSE("GPL v2");
그러나 이는 경고 없이 컴파일되며 모듈은 문제 없이 작동합니다. 버전 2.6 이후로 헤더 파일 구조 등이 변경되었나요(대부분의 드라이버 관련 서적은 그 이후로 업데이트되지 않은 것 같습니다.)?
예를 들어이것Jonathan Corbet의 기사에는 module_param.h 파일을 모듈 매개변수로 포함해야 한다고 명시되어 있습니다.
매개변수가 있는 모듈은 이제
<linux/moduleparam.h>
명시적으로 포함되어야 합니다.
그러나 이것은 전혀 필요하지 않은 것 같습니다. 내가 무엇을 놓치고 있나요?