기존 이솝 임베디드 포럼의 지식인 서비스가 게시판 형태로 변경되었습니다.

현재 s5pv210보드의 s5k4ea라는 카메라 디바이스 드라이버를 분석하고 잇습니다.

s5k4ea.c파일 내용 중에 아레의 구조체에 있는 probe나 remove 함수가 실제 어디서 동작하는지

궁금합니다

 

static struct v4l2_i2c_driver_data v4l2_i2c_data = {
 .name = S5K4EA_DRIVER_NAME,
 .probe = s5k4ea_probe,
 .remove = s5k4ea_remove,
 .id_table = s5k4ea_id,
};

 

실제 어플리케이션에서 확인하는 방법이나 커널내부의 어느부분에서 실제로 호출 되는지

조언 부탁드립니다.

또한 s5k4ea.c 내의

 

static const struct v4l2_subdev_core_ops s5k4ea_core_ops = {
 .init = s5k4ea_init, /* initializing API */
 .s_config = s5k4ea_s_config, /* Fetch platform data */
 .queryctrl = s5k4ea_queryctrl,
 .querymenu = s5k4ea_querymenu,
 .g_ctrl = s5k4ea_g_ctrl,
 .s_ctrl = s5k4ea_s_ctrl,
};

 

static const struct v4l2_subdev_video_ops s5k4ea_video_ops = {
 .s_crystal_freq = s5k4ea_s_crystal_freq,
 .g_fmt = s5k4ea_g_fmt,
 .s_fmt = s5k4ea_s_fmt,
 .enum_framesizes = s5k4ea_enum_framesizes,
 .enum_frameintervals = s5k4ea_enum_frameintervals,
 .enum_fmt = s5k4ea_enum_fmt,
 .try_fmt = s5k4ea_try_fmt,
 .g_parm = s5k4ea_g_parm,
 .s_parm = s5k4ea_s_parm,
 .s_stream = s5k4ea_s_stream,
};

 

위의 두 구조체에서 설정된 함수의 실제 동작 부분을 커널이나 어플리케이션에서 확인하는 방법에 대해 조언 부탁드리겠습니다.

아.. 커널 버전은 2.6.32버전 입니다

 

 

 


고도리

2013.02.14 04:52:26
*.200.239.210

android camera HAL을 동작시키면서 보는게 가장 좋습니다만.....없을 경우는


http://linuxtv.org/downloads/legacy/video4linux/API/V4L2_API/v4l2spec/capture.c


파일을 기초로해서 약간씩 수정하면서 작업하시는 외엔 방법이 없을 듯 합니다.

List of Articles
번호 제목 글쓴이 날짜 조회 수

사용자 로그인