Re: [PATCH v10 0/9] Add the I3C subsystem

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Hi Vitor,

On 11/16/18, 1:32 PM, "vitor" <vitor.soares@xxxxxxxxxxxx> wrote:

    EXTERNAL MAIL
    
    
    Hi Boris,
    
    
    On 15/11/18 19:00, Boris Brezillon wrote:
    > On Thu, 15 Nov 2018 18:03:47 +0000
    > vitor <vitor.soares@xxxxxxxxxxxx> wrote:
    >
    >> Hi Boris,
    >>
    >>
    >> On 15/11/18 15:28, Boris Brezillon wrote:
    >>> On Thu, 15 Nov 2018 16:01:37 +0100
    >>> Wolfram Sang <wsa@xxxxxxxxxxxxx> wrote:
    >>>   
    >>>> Hi Boris,
    >>>>   
    >>>>> What we could do though, is expose I3C devices that do not have a
    >>>>> driver in kernel space, like spidev does.
    >>>> ...
    >>>>   
    >>>>> Mark, Wolfram, Arnd, Greg, any opinion?
    >>>> Is there a benefit for having drivers in userspace? My gut feeling is to
    >>>> encourage people to write kernel drivers. If this is, for some reason,
    >>>> not possible for some driver, then we have a use case at hand to test
    >>>> the then-to-be-developed userspace interface against. Until then, I
    >>>> personally wouldn't waste effort on designing it without a user in
    >>>> sight.
    >>> I kind of agree with that. Vitor, do you have a use case in mind for
    >>> such userspace drivers? I don't think it's worth designing an API for
    >>> something we don't need (yet).
    >> My use case is a tool for tests, lets say like the i2c tools.
    > What would you like to test exactly?
    >
    >> There is
    >> other subsystems, some of them mentioned on this thread, that have and
    >> ioctl system call or other method to change parameters or send data.
    > I don't think they added the /dev interface before having a real use
    > case for it.
    >
    >>
    >> I rise this topic because I really think it worth to define now how this
    >> should be design (and for me how to do the things right) to avoid future
    >> issues.
    > Actually it should be done the other way around: you should have a real
    > need and the /dev interface should be designed to fulfill this need.
    > Based on this real use case we can discuss other potential usage that
    > might appear in the future and try to design something more
    > future-proof, but clearly, this userspace interface should be driven by
    > a real/well-defined use case.
    >
    > Also, exposing things to userspace is way more risky than adding a new
    > in-kernel subsystem/framework, because it then becomes part of the
    > stable ABI.
    >
    > To make things clearer, I'm not against the idea of exposing I3C
    > devices (or I3C buses) to userspace, but I'd like to understand what you
    > plan to do with that. If this is about testing, what kind of tests
    > you'd like to run. If this is about developing drivers in userspace,
    > why can't these be done in kernel space (license issues?), and what
    > would those drivers be allowed to do?
    
    
    Basically I need a tool that help me during the development and to avoid 
    me to write a dummy driver for each device that I test.

For now we are doing it that way. Separate dummy driver for each device.
    
    For instances do some read/write, get/set ccc commands, if something 
    goes wrong during the bus initialization have a to debug etc...
    
That sounds good to have possibility to make simple reads/writes and 
send basic ccc commands. But of course keeping in mind that I3C bus is 
more complicated than I2C, as Boris mentioned before.
    
    For me this is a valid use case and I imagine when people start to 
    develop in i3c this interface will help everyone.
    
    
    Best regards,
    
    Vitor Soares
    
Regards,
Przemek
    





[Index of Archives]     [Device Tree Compilter]     [Device Tree Spec]     [Linux Driver Backports]     [Video for Linux]     [Linux USB Devel]     [Linux PCI Devel]     [Linux Audio Users]     [Linux Kernel]     [Linux SCSI]     [XFree86]     [Yosemite Backpacking]


  Powered by Linux