Linux 커널(input/input.c)의 input_get_keycode 함수 변경 사항

Linux 커널(input/input.c)의 input_get_keycode 함수 변경 사항

입력 장치용 커널 모듈을 구축 중인데 모듈 소스 코드에 여러 호출이 있고 input_get_keycode(data->input_dev, scancode, &keycode);컴파일할 때 프로토타입에 기능이 없다는 오류가 발생하는 것을 발견했습니다.

input/input.c소스 코드를 보면 다음과 같은 정의가 있습니다 input_get_keycode.

int input_get_keycode(struct input_dev *dev, struct input_keymap_entry *ke)

나는 온라인에서 찾아보았고 큰 키맵을 더 잘 처리할 수 있도록 커널을 변경하는 것에 대한 모호한 참조를 찾았으며 분명히 이 기능은 이것을 더 잘 처리하기 위해 변경되었습니다. input/input.c의 이전 소스 코드를 보면 함수 input_get_keycode는 다음과 같이 정의되어 있습니다.

int input_get_keycode(struct input_dev *dev, unsigned int scancode, unsigned int *keycode)

내 질문은 이것이 언제 바뀌었느냐는 것입니다. 변경 지침이 있나요? 나는 ubuntu nattygit에서 커널을 만들고 있는데 이것이 Branch에 대한 나의 이해입니다 2.6.37-rc3.

이것은 우분투의 특정 변경 사항입니까? 아니면 메인라인 커널 변경일 수도 있습니다. 또한 maverick이전 스타일(3개 입력) 기능을 갖춘 git의 소스 코드 도 있습니다 .

답변1

커널 모듈을 개발하는 경우 git 트리를 얻는 것이 좋습니다. 분명히 Linus의 나무는 필수입니다. 안정적인 나무도 얻었습니다. 당신이 우분투를 사용하고 있기 때문에, 당신이 가져올 수 있는 변경 사항이 있는 트리가 있는지 확인하겠습니다.

Git 트리를 사용하여 체크아웃 master하고 실행하여 커밋에서 함수 서명이 마지막으로 변경된 시간을 git blame drivers/input/input.c확인할 수 있었습니다.input_get_keycode8613e4c2.

실행하면 git show 8613e4c2해당 변경 사항(원하는 설명)에 대한 커밋 메시지와 해당 변경 사항을 구현하는 패치가 제공됩니다. 2010-09-09에 변경된 것을 확인할 수 있습니다.

(그래픽 git 뷰어) 을 시작 gitk하고 해당 커밋으로 이동하라고 지시하면 커밋이 v2.6.37-rc1 이전에 해당 버전에 병합되었음을 알 수 있습니다. Linus가 병합할 때까지 이 브랜치를 추적해 보면 2010년 10월 26일에 커밋 3a99c631에 병합되었음을 알 수 있습니다.

이것은 Ubuntu 패치를 보지 않고도 모두 메인라인이므로 이 변경 사항이 Ubuntu와 관련이 없는 것처럼 보입니다.

관련 정보