Цитата(Hoodwin @ Dec 12 2013, 21:34)

Бывает сложнее, когда один драйвер должен пользоваться другим.
Это, как раз, тупо и просто - экспортируете функцию в одном драйвере, вызываете в другом. На то он и линукс, что драйвер может вызывать драйвера так, как ему хочется, а не только через недра ОС.
DASM, глянь, как это все в libusb 1.0 сделано, асинхронные вызовы, это примерно то, о чем ты спрашиваешь.
а на сколько я сам помню, то самый простой способ - FIONBIO, или fcntl c O_NONBLOCK