прошу прощения, давно решил обращаться с вопросами на форум только в крайнем случае.
Но я никак не могу найти внятный пример использования kfifo. Нужно реализовать кольцевой буфер в драйвере.
Можно ли просто объявить массив(без всяких kfifo) и два указателя(хвост и текущее место для записи). Писать в буфер хочу в прерывании(в самом драйвере разумеется). или не всё так просто?
спасибо за ссылку. Приведённый ниже код оформлен как отдельный модуль. Можно ли этот код разместить в моём модуле драйвера, или придётся как-то связывать два модуля(модуль приёма данных и kfifo).
Я начинающий. И понемногу возникают вопросы:
мне нужен только один буфер принимающий данные по DMA по кольцу. Смотрю пример Linux/samples/kfifo/dma-example.c
1) если буфер нужен только один значит struct scatterlist sg[10] - ненужно?
2) как "закольцевать" принимаемыва в kfifo данные?