O_NONBLOCK это уже как ты сам ф-ции read write опишешь, а у меня их вообще нет. Ну вобщем мог бы, конечно, как и предполагал, использовать select, реализовав метод poll, но сделал еще проще - парочкой DECLARE_WAIT_QUEUE_HEAD и wait_event/wake_up(&dma_done_event); То есть мой ioctl , который проверяет готовноть DMA - просто стал блокирующим и усыплет поток, пока ДМА не будет готова, что мне, в моем очень простом случае, и надо было.
|