기존 이솝 임베디드 포럼의 지식인 서비스가 게시판 형태로 변경되었습니다.
디바이스 장치를 임베디드 장치에 연결하면
디바이스 드라이버의 probe함수 호출시
/dev 에 디바이스 드라이버 파일을 만들려고 하고 있는데요
기본적으로 정해진 경로가 /dev 폴더 부분이던데
더 안쪽 경로(dev/xxx/xxx)에 원하는 부분에도 디바이스파일을 만들수가 있나요?
임의로 경로를 직접주고 해보았는데 안되는것 같아서 여기에 질문드립니다
제가 probe함수부분에 추가한 소스 코드입니다
/dev/shm 경로는 테스트용으로 해보았습니다.
//***//타이팅 한부분이라 약간 오타가 있을수 있습니다.
struct cdev tcdev;
...
int ret;
ret = alloc_chrdev_region(&dev, 0, 1 ,"/dev/shm/aa");
if(ret <0) return error;
struct class *tClass;
tClass = class_create(THIS_MODULE, "/dev/shm/aa");
cdev_init(&tcdev, dev, 1);
ret=cdev_add(tcdev, dev_me, 1);
if(ret<0) return error;
device_create(tClass, NULL, dev_me, NULL, "dev/shm/aa");
//***//
/dev밑이면 상관은 없을겁니다만, directory가 하나 더 들어가는 부분은 맞춰 주시면 될겁니다.
input device driver쪽 코드를 보면 함 보시면 될겁니다.
/dev/input/eventxxx 식으로 만들어지니까요