제가 하고있는게, 보드에다가 ADC를 붙여서 사용을 하려는건데요~
GPIO를 이용하여 start of conversion 신호와 end of conversion 신호를 사용하고 있습니다!

일단, end of conversion 신호를 GPIO 8번에 falling edge 일 때 인터럽트가 걸리도록 하려고합니다.
인터럽트에 대한거는, adc_driver.c 라는 곳에서
int __init gpio_init_module(void) 안에 아래와 같이 써주었습니다.

set_GPIO_IRQ_edge(8, GPIO_FALLING_EDGE);
request_irq(IRQ_GPIO(8), test_interrupt, SA_INTERRUPT, IOM_ADC_NAME, NULL);

그리고 ISR으로 밑에 함수를 써주었는데 맞는건가요?
void test_interrupt(int irq, void *dev_id, struct pt_regs *regs)
{
printk("Interrupt ok!!! %dn", irq);
}

근데 test.c 에 있는 printk 구문만 읽히고, test_interrupt 안에 있는건 안 읽히는게 adc_driver를 실행파일로 해줘야하는건가요?

잘 모르겠어요ㅠ
좀 도와주세요....


그리고 또 gpio 를 insmod 해 주는 부분에서
unresolved symbol irq_GPIO
unresolved symbol Set_GPIO_irq_edge
라고 나오는데 이건 어디가서 해결해야하는건가요?

set_GPIO_IRQ_edge 함수는 커널의 arch/arm/mach-pxa/irq.c 에 있는 것을 알고,
그 부분으로 가보았는데 제가 이 곳에서 어떤 것을 고쳐서 인터럽트를 사용해야하는건가요?




>안녕하세요..
>
>gpio.c 가 디바이스 드라이버 소스라면 이 곳에 인터럽트 irq를 등록하고 사용하시면 됩니다..
>
>그럼 수고하세요..
>
>
>>GPIO 핀에 대한 인터럽트를 사용하려고 하는데~
>>gpio.c 라는 곳에다가 인터럽트 사용하도록 irq등록해서 쓰면 되는거 맞죠?
>>
>>
>