Messages in this thread | | | From | Vitor Soares <> | Subject | RE: [RFC v2 0/4] Introduce i3c device userspace interface | Date | Mon, 17 Feb 2020 15:55:08 +0000 |
| |
Hi,
From: Boris Brezillon <boris.brezillon@collabora.com> Date: Mon, Feb 17, 2020 at 15:36:22
> On Mon, 17 Feb 2020 16:06:45 +0100 > Arnd Bergmann <arnd@arndb.de> wrote: > > > On Mon, Feb 17, 2020 at 3:51 PM Boris Brezillon > > <boris.brezillon@collabora.com> wrote: > > > Sorry for taking so long to reply, and thanks for working on that topic. > > > > > > On Wed, 29 Jan 2020 13:17:31 +0100 > > > Vitor Soares <Vitor.Soares@synopsys.com> wrote: > > > > > > > For today there is no way to use i3c devices from user space and > > > > the introduction of such API will help developers during the i3c device > > > > or i3c host controllers development. > > > > > > > > The i3cdev module is highly based on i2c-dev and yet I tried to address > > > > the concerns raised in [1]. > > > > > > > > NOTES: > > > > - The i3cdev dynamically request an unused major number. > > > > > > > > - The i3c devices are dynamically exposed/removed from dev/ folder based > > > > on if they have a device driver bound to it. > > > > > > May I ask why you need to automatically bind devices to the i3cdev > > > driver when they don't have a driver matching the device id > > > loaded/compiled-in? If we get the i3c subsystem to generate proper > > > uevents we should be able to load the i3cdev module and bind the device > > > to this driver using a udev rule. > > > > I think that would require manual configuration to ensure that the correct > > set of devices get bound to either the userspace driver or an in-kernel > > driver. > > Hm, isn't that what udev is supposed to do anyway? Remember that > I3C devices expose a manufacturer and part-id (which are similar to the > USB vendor and product ids), so deciding when an I3C device should be > bound to the i3cdev driver should be fairly easy, and that's a > per-device decision anyway. > > > The method from the current patch series is more complicated, > > but it means that any device can be accessed by the user space driver > > as long as it's not already owned by a kernel driver. > > Well, I'm more worried about the extra churn this auto-binding logic > might create for the common 'on-demand driver loading' use case. At > first, there's no driver matching a specific device, but userspace > might load one based on the uevents it receives. With the current > approach, that means we'd first have to unbind the device before > loading the driver. AFAICT, no other subsystem does that.
I'm about to finish v3 (today or tomorrow) and I think I fixed all concerns rise during v2. I would like you to see that version before any change.
Best regards, Vitor Soares
| |