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

[V310] 오드로이드 보드에 터치 드라이버를 포팅 중인데요..

request_irq로 등록을 했지만, isr이 불려지지 않습니다.

정확히 등록되었는지 확인하기 위해 shell로 들어가서

#cat /proc/interrupts 를 처 보니

등록한 isr 이름이 뜨더군요.

그래서 터치를 해보니, 인터럽트 신호는 High->Low로 떨어지는데,

request_irq로 등록한 함수가 불려 지지 않네요.

그리고 그때 #cat /proc/interrupts 를 처 보니

count가 올라가지 않더군요.


이런 경우에는 어디를 찾아 봐야 할까요?


고수님들 갈켜 주세용용용!!!



로그 메세지를 찍어 보니 아래와 같이나오네요

터치 드라이버의 probe 할때 request_irq를 통해 IRQ를 등록해 주고,

테스트 삼아 probe에서 enable_irq함수를 호출해 주었더니

아래와 같이 나왔습니다.


-------------------------------------------------------------------

-------------------------------------------------------------------


[    2.638990] [Egalax_i2c] Register egalax_i2c cdev, major: 253 

[    2.644581] [Egalax_i2c] /proc/egalax_dbg created

[    2.649210] [Egalax_i2c] Driver init done!

[    2.653309] [Egalax_i2c] Start probe

[    2.657020] input: eGalax_Touch_Screen as /devices/virtual/input/input1

[    2.663639] [Egalax_i2c] Register input device done

[    2.668454] ------------[ cut here ]------------

[    2.672904] WARNING: at kernel/irq/manage.c:290 enable_irq+0x4c/0x74()

[    2.679399] Unbalanced enable for IRQ 332

[    2.683391] Modules linked in:

[    2.686452] [<c003cbb8>] (unwind_backtrace+0x0/0xf8) from [<c0067a1c>] (warn_slowpath_common+0x54/0x7c)

[    2.695813] [<c0067a1c>] (warn_slowpath_common+0x54/0x7c) from [<c0067ad8>] (warn_slowpath_fmt+0x30/0x40)

[    2.705360] [<c0067ad8>] (warn_slowpath_fmt+0x30/0x40) from [<c00a2c3c>] (enable_irq+0x4c/0x74)

[    2.714045] [<c00a2c3c>] (enable_irq+0x4c/0x74) from [<c0424118>] (egalax_i2c_probe+0x37c/0x3f8)

[    2.722810] [<c0424118>] (egalax_i2c_probe+0x37c/0x3f8) from [<c02ac59c>] (i2c_device_probe+0xc4/0xe8)

[    2.732098] [<c02ac59c>] (i2c_device_probe+0xc4/0xe8) from [<c0220ca0>] (driver_probe_device+0x9c/0x1c4)

[    2.741560] [<c0220ca0>] (driver_probe_device+0x9c/0x1c4) from [<c0220e54>] (__driver_attach+0x8c/0x90)

[    2.741574] [<c0220e54>] (__driver_attach+0x8c/0x90) from [<c02204f0>] (bus_for_each_dev+0x60/0x8c)

[    2.741587] [<c02204f0>] (bus_for_each_dev+0x60/0x8c) from [<c021fd24>] (bus_add_driver+0xa0/0x250)

[    2.741599] [<c021fd24>] (bus_add_driver+0xa0/0x250) from [<c0221108>] (driver_register+0x70/0x150)

[    2.741612] [<c0221108>] (driver_register+0x70/0x150) from [<c02ad3cc>] (i2c_register_driver+0x30/0x8c)

[    2.741631] [<c02ad3cc>] (i2c_register_driver+0x30/0x8c) from [<c02a6c04>] (egalax_i2c_ts_init+0x264/0x2b0)

[    2.741649] [<c02a6c04>] (egalax_i2c_ts_init+0x264/0x2b0) from [<c0035548>] (do_one_initcall+0x34/0x1cc)

[    2.741663] [<c0035548>] (do_one_initcall+0x34/0x1cc) from [<c0008604>] (kernel_init+0x1b0/0x24c)

[    2.741678] [<c0008604>] (kernel_init+0x1b0/0x24c) from [<c0037400>] (kernel_thread_exit+0x0/0x8)

[    2.741695] ---[ end trace 25bf89327d107c94 ]---

[    2.742759] [Egalax_i2c] Request irq(332) gpio(254) with result:0

[    2.742765] [Egalax_i2c] Register early_suspend done

[    2.742770] [Egalax_i2c] I2C probe done



관리자

2011.12.21 06:28:35
*.200.239.234

/proc/interrupts 에는 안나올 수도 있습니다.


확실히 등록을 확인하려면, interrupt controller관련 mask register를 간단하게 찍어보시는게

제일 확실한 방법입니다.

관리자

2011.12.21 06:29:30
*.200.239.234

어떤 핀에 연결하셨는지요? 회로에 따라 틀릴 수도 있겠네요.

훌러덩

2011.12.21 17:40:56
*.176.119.78

GPX1.0을 interrupt pin으로 사용하고 있습니다.

List of Articles
번호 제목 글쓴이 날짜 조회 수sort
5728 S3C6410 Test Firmware 사용법 [1] jclab 2012-05-01 1759
5727 ActiveSync/USB host 동작 관련 [5] 백상은 2007-12-09 1759
5726 ICS S4210 (type password to decrypt storage?) 문제... file [4] 아명 2012-03-14 1759
5725 V4L2 device driver의 node ? [1] 테크 2012-04-18 1756
5724 V210에서 usb메모리 마운트 방법에 대한 질문 입니다. [2] Ike 2012-02-22 1755
5723 ramdisk 제작시 커널의 MTD파티션은 어떻게 해야 하나요? [2] 혜민아빠 2012-03-27 1755
5722 v4l2 는 camera register 관련된 포트에만 쓰일수 있는건가요? [1] biokk 2014-02-25 1755
» [V310] request_irq로 등록을 했지만, isr이 불려지지 않습니다.. ... [3] 훌러덩 2011-12-21 1754
5720 ffmpeg 관련하여 examples 이 컴파일이 되지 않습니다. [1] 사랑해요 2012-07-03 1754
5719 kikat 4.2.2 에서 surfaceflinger 초기화 하는 부분에 대해서 질문 ... [3] 시안 2014-07-08 1754
5718 s3c2440 touch screen 좌표 인식 박용순 2012-01-13 1752
5717 리눅스 질문 : bus 충돌 회피방법 질문 [2] 카보 2013-08-28 1752
5716 Camera ISP Source가 공개된 AP chip 아시는분? [1] 꿈의사람 2014-02-07 1751
5715 busybox 1.14.0 udhcpc 관련 문의드립니다. [7] Tommy 2010-08-18 1750
5714 ARM 멀티코어와 리눅스에서 병렬처리? [4] Supsupi 2014-03-28 1749
5713 vmware 에 설치된 리눅스에서 공유폴더에 파일을 복사하는 방법 [1] blue0sky 2012-09-06 1748
5712 Android.Gingerbread MTD-utils 추가 포팅 문제점. [3] 서유한 2012-03-23 1748
5711 GPIO 설정 [5] 마대렐라 2014-01-24 1748
5710 SDRAM 확장시 에러발생 (64MB -> 128MB) [12] 박진홍 2009-08-15 1746
5709 안녕하세요 사운드 디바이스 관련 질문입니다. [6] 조현호 2013-03-25 1746

사용자 로그인