커널 컴파일중 switch_class.c 관련 오류 메세지에 관해 질문드립니다.
패널 포팅을 위해 make menuconfig를 통해 패널드라이브 소스를 포함하는 옵션을 준후 make zImage를 통해 커널 컴파일을 하였습니다.
호스트 pc에서 사용하는 우분투 버전은 "Ubuntu 12.04.4 LTS"를 사용하고 커널버전은 "3.5.0-47-generic"을 사용합니다. //grep . /etc/*-release 명령어와 uname -r 명령어로 확인을 하였는데 맞게 확인한건지 잘 모르겠네요
타겟 보드에서 사용할 리눅스 버전은 2.6.32 이고 삼성의 S5PV210 에서 돌아갑니다.
make menuconfig 에서 새로 추가한 옵션은 Device Drivers -> Graphics support -> Support for frame buffer devices -> Select LCD Type -> TL2796 을 선택하였습니다.
이를 위해서 /drivers/video/samsung/Kconfig 에서 FB_S3C_TL2796의 depends on (MAACH_SMDKC110 || MACH_SMDKV210) 에서 depends on MACH_SMDKV210 || MACH_SMDKC110 || MACK_SV210
으로 수정해 주었습니다.
다음으로 make zImage를 했을때 발생하는 에러 메세지 입니다.
drivers/built-in.o: In function `tl2796_probe': switch_class.c:(.init.text+0xc10): undefined reference to `backlight_device_register' make: *** [.tmp_vmlinux1] Error 1
질문 요약
1. switch_class.c 가 무슨 역할을 하는지 궁금합니다.
2. 타겟보드에서 커널이 실행(부팅? 무엇이 맞는 표현인가요) 될때 probe 함수가 가장먼저 call되는게 맞나요?
3. undefined reference to 메세지가 나오는건 링크에러 인것 같은데 혹시 해결법 아시는분 답변 부탁 드릴게요
4. 기타 커널포팅시 주의할점이나 참고할만한 내용알려주시면 대단히 감사드리겠습니다.
고수님들 부탁드립니다. 즐거운 연말 되세요
이것과 오류가 비슷하네요.
Linux Frame Buffer Device Development
http://sourceforge.net/p/linux-fbdev/mailman/message/13953909/
----------------------------------------------------------------------------
젊음'은 모든것을 가능하게 만든다.
매일 1억명이 사용하는 프로그램을 함께 만들어보고 싶습니다.
정규 근로 시간을 지키는. 야근 없는 회사와 거래합니다.
각 분야별. 좋은 책'이나 사이트' 블로그' 링크 소개 받습니다. shintx@naver.com
...
switch class는 gpio중에 switch 형태로 외부 device를 on/off 시키는
switch gpio 드라이버에서 class로 등록 할때 사용하는 파일입니다.(자동으로...)
android 에서 태생 되었고, 오래전에 extcon으로 대체 되었습니다.
http://lxr.free-electrons.com/source/drivers/staging/android/switch/?v=3.4
https://lkml.org/lkml/2012/4/23/166
에러는 저렇게 보여지는데, 제가 봤을때는 스위치 모듈과는 관련이 없을듯 합니다.
backlight_device_register 이 함수를 찾을수 없다는 것인데
위 함수느 원형은
http://lxr.free-electrons.com/source/drivers/video/backlight/backlight.c#L317
에 보이며
커널 피쳐
CONFIG_BACKLIGHT_CLASS_DEVICE 가 enable 되어야
backlight.c 가컴파일 될 것으로 보입니다.
일단 CONFIG_BACKLIGHT_CLASS_DEVICE 가 enable 되어 있는지 살펴 보시고
backlight.c 가 컴파일 되는지 보세요.
댓글 달기