[<prev] [next>] [thread-next>] [day] [month] [year] [list]
Message-ID: <CABDcava_0n2-WdyW6xO-18hTPNLpdnGVGoMY4QtPhnEVYT90-w@mail.gmail.com>
Date: Wed, 2 Nov 2022 14:14:24 +0100
From: Guillermo Rodriguez Garcia <guille.rodriguez@...il.com>
To: linux-kernel@...r.kernel.org, linux-fsdevel@...r.kernel.org
Cc: Christoph Hellwig <hch@....de>, Al Viro <viro@...iv.linux.org.uk>,
Linus Torvalds <torvalds@...ux-foundation.org>,
Luis Chamberlain <mcgrof@...nel.org>,
Matthew Wilcox <willy@...radead.org>,
Kees Cook <keescook@...omium.org>,
Iurii Zaikin <yzaikin@...gle.com>
Subject: fs: layered device driver to write to evdev
Hi all,
I have a number of embedded boards that integrate a pwm-based buzzer
device, and use the pwm-beeper device driver in order to control this.
However the pwm-beeper device driver only supports simple (play /
stop) ioctls, so I had implemented a "layered" device driver that
would talk to the pwm-beeper device (through evdev), and provide
additional ioctls to userspace so that an application could say e.g.
"beep for 50ms", and the driver would take care of the timing.
This layered device driver used set_fs + vfs_write to talk to the
underlying device. However, since [1] this no longer works.
I understand that device drivers should implement ->write_iter if they
need to be written from kernel space, but evdev does not support this.
What is the recommended way to have a layered device driver that can
talk to evdev ?
Thanks in advance,
(If possible, please CC me in any replies)
[1]: https://lore.kernel.org/lkml/20200626075836.1998185-9-hch@lst.de/
--
Guillermo Rodriguez Garcia
guille.rodriguez@...il.com
Powered by blists - more mailing lists