[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: Interrupt routine accessing i2c bus



Hi John,

On 10/5/06, john bogus <bogusemail98230@xxxxxxxxx> wrote:
Both ISR's and tasklets both run in
interrupt context so the i2c drivers need to accessed
some other way.

Which Linux kernel are you using?


What about task_queues running in schedular queue in 2.4 Linux
kernels? They run in process context.

http://www.xml.com/ldd/chapter/book/ch06.html#t4

I was thinking of creating a task with
wait_for_completion(&xxx) and having the ISR do a
complete(&xxx) to wake the task.

Or use kernel_thread() and sleep, and let ISR wake it up? USB hub thread is an example:

http://lxr.linux.no/source/drivers/usb/hub.c?v=2.4.28#L903

SK

--
Shakthi Kannan
http://www.shakthimaan.com

--
Kernelnewbies: Help each other learn about the Linux kernel.
Archive:       http://mail.nl.linux.org/kernelnewbies/
FAQ:           http://kernelnewbies.org/faq/