LDD 6 How to write driver with interrupt enabled - limingth/LASO GitHub Wiki

drivers with interrupt

init_waitqueus_head

set_irq_type

request_irq / free_irq

--

wait_event_interruptible / wake_up_interruptible

disable_irq_nosync / enable_irq / disable_irq

writeb / readb

writel / readl

--

中断流程

read interrupt 读数据中断

read

wait_event_interruptible()
readb()
copy_to_user()

read_irq_hander

wake_up_interruptible

write interrupt 写数据中断

write

copy_from_user()
enable_irq()

write_irq_handler

write()
disable_irq_nosync()