Re: [PATCH v3 0/5] Introduce i3c device userspace interface

From: Boris Brezillon
Date: Mon Feb 24 2020 - 06:24:48 EST


On Mon, 24 Feb 2020 10:53:25 +0000
Vitor Soares <Vitor.Soares@xxxxxxxxxxxx> wrote:

> Hi Boris,
>
> From: Boris Brezillon <boris.brezillon@xxxxxxxxxxxxx>
> Date: Fri, Feb 21, 2020 at 17:41:16
>
> > > > >
> > > > > I want to make you know that none of your previous comments was ignored
> > > > > and I would like to start the discussion from this point.
> > > >
> > > > Sure, np. I'll probably wait for a v4 exploring the option I proposed
> > > > then.
> > >
> > > I would like to check with you:
> > > - How can we prioritize the device driver over the i3cdev driver if the
> > > driver is loaded after i3cdev? Currently, this is done automatically
> > > without any command, and for me, this is a requirement.
> >
> > No devs would be bound to the i3cdev driver by default, it would have
> > to be done explicitly through a sysfs knob. Which makes me realize
> > we can't use the generic bind knob since it doesn't let the subsystem
> > know that it's a manual bind. I thought there was a way to distinguish
> > between manual and auto-bind.
> >
> > > - For the ioctl command structure, there is no rule about the way I did
> > > or what you proposed, both are currently used in the kernel. For me it is
> > > one more structure to deal with, can you point the advantages of your
> > > purpose?
> >
> > I don't have a strong opinion on that one, though I find it a bit
> > easier to follow when the number of xfers is encoded in a separate
> > struct rather than extracted from the data size passed through the cmd
> > argument.
>
> I will change it then. Do you have any suggestion for the naming to keep
> it short?

I named it i3cdev_priv_xfers in the patch I sent, but you can pick a
different name if you don't like this one.

>
> >
> > > - Regarding the ioctl codes, I tried to use those after I2C.
> >
> > Why start from 0x30? It doesn't make sense to me. Just because you base
> > your code on something that already exists doesn't mean you have to
> > copy all of it.
>
> I might be wrong but last I2C command is 0x20 and I tried to let some
> free space in case they need.
> Also I think that make sense I2C and I3C share the same 'magic number'.

Hm, I'm not sure that's a good idea. The set of ioctls for I2C and I3C
are likely to be completely different, so I'd recommend using a
separate namespace (AKA ioctl magic number). Wolfram, any opinion?

>
> BTW, in ioctl-numbers documentation there is no reference for code 0x07.

Indeed, looks like it's not documented.