вручную вызвать сброс в драйвере символьного устройства - PullRequest
0 голосов
/ 10 октября 2011

Я хочу сбросить символьное устройство при записи в него.Как мне вызвать метод очистки файла file_operation?

Вот соответствующий код:

struct file_operations ent_fops = {
          .owner = THIS_MODULE,
          .read = ent_read,
          .write = ent_write,
};

Я не определяю flush себя

ssize_t ent_write(struct file *filp, const char __user *buf, size_t count,loff_t *f_pos)
{
blah...
*(ent_fops.flush)(file);
blah...
}

Код не компилируется, ошибка в том, что я отправляю flushслишком мало аргументов.Я нигде не могу найти упоминаний о том, что нужно больше одного.

1 Ответ

0 голосов
/ 13 октября 2011

Вам не хватает указателя на владельца блокировки файла. Попробуйте

*(ent_fops.flush)(filp, NULL); 
...