도와주세요!!
글 수 15,339
2003.07.17 21:57:20 (*.46.240.118)
9818
안녕하세요. 너그러이 답변 부탁드립니다. ^^;
SA의 GPIO(PXA도 마찬가지입니다만)에서 11~27은 rising 또는 falling edge가
뜨면 irq를 발생시키고 다음의 interrupt handler를 구동시킵니다.
여기까지 맞나요?
void sa1100_GPIO11_27_demux(int irq, void *dev_id,struct pt_regs *regs)
{
.....
(irq = (GEDR & 0xfffff800))
....
for (i = 11; i <= 27; ++i) {
if (irq & (1<> do_IRQ (IRQ_GPIO_11_27(i), regs);
}
}
그러면, 이 handler 내에서는 GDER을 조사해서 어느 GPIO핀에서 edge가
떴는지 조사해서 해당 ISR을 수행해야 할텐데요. 이것이 위의 코드에서는
do_IRQ()인 것 같은데요. 이 함수에 제가 원하는 ISR 코드를 넣어 주고 싶은
데, 어디에서 하는 지 모르겠습니다.
도움 말씀 바랍니다.
SA의 GPIO(PXA도 마찬가지입니다만)에서 11~27은 rising 또는 falling edge가
뜨면 irq를 발생시키고 다음의 interrupt handler를 구동시킵니다.
여기까지 맞나요?
void sa1100_GPIO11_27_demux(int irq, void *dev_id,struct pt_regs *regs)
{
.....
(irq = (GEDR & 0xfffff800))
....
for (i = 11; i <= 27; ++i) {
if (irq & (1<> do_IRQ (IRQ_GPIO_11_27(i), regs);
}
}
그러면, 이 handler 내에서는 GDER을 조사해서 어느 GPIO핀에서 edge가
떴는지 조사해서 해당 ISR을 수행해야 할텐데요. 이것이 위의 코드에서는
do_IRQ()인 것 같은데요. 이 함수에 제가 원하는 ISR 코드를 넣어 주고 싶은
데, 어디에서 하는 지 모르겠습니다.
도움 말씀 바랍니다.