Re: [PATCHv2] usb: gadget: composite: Provide a list of available functions

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

 



On Wed, Jul 16, 2014 at 09:58:31AM +0200, Sebastian Andrzej Siewior wrote:
> On 07/14/2014 12:36 PM, Andrzej Pietrasiewicz wrote:
> > W dniu 14.07.2014 11:50, Sebastian Andrzej Siewior pisze:
> >> On 07/14/2014 11:35 AM, Andrzej Pietrasiewicz wrote:
> >>> A userland tool for assembling gadgets with configfs needs to know what
> >>> it can or cannot do, that is, what usb functions are available.
> >>> Knowing what functions there are is not the same thing as being able
> >>> to discover it, so in fact this looks like a philosophical issue:
> >>> whether userspace should be able to discover what usb functions
> >>> there are or not?
> >>
> >> The same problem has target in principle as it supports more than one
> >> backend / protocol, etc. What does it do?
> >>
> > 
> > I believe a part of your response is missing, the above is all I got.
> 
> No, it was complete. It has been compressed due to lack of time, true.
> 
> You say that userland tool may or may not need to know which functions
> are available. And this is as you say a "philosophical issue". Correct.
> Either your userland has a list of all available functions (with help /
> explanation what it is and what it is good for) or it grabs a list of
> available functions.
> The latter has the advantage that you can use functions which were
> introduced into the kernel before the userland tool was updated (unless
> you can specify a "custom" function name). The former has the advantage
> that you can "select" say a serial function without knowing that you
> have to deal with f_acm.
> So I think it boils down to how educated is the user of this in the
> end. If he knows that he needs f_acm he does not need a list. If he
> tries to use f_acm "manually" and the loading/linking the function
> fails with ENOENT plus the kernel says "dude that function is not
> available" then he knows that something is missing. Either that module
> has not been copied or it has not been enabled in the kernel.
> 
> That is why I suggested to look at target subsystem and its userland
> tool for configuration. In target you can have multiple storage units
> (say file, block device, ram disk, transparent SCSI) and a few
> protocols to access the device (iSCSI, firewire, USB, …). So you have
> the same problem from the user/tool point of view: May or may I not use
> the iSCSI protocol? Was it enabled in the kernel? What modules are
> available at all?
> Since target and its userland tool (targetcli) is available for
> sometime now, maybe a look on those will give an idea on how the
> problem has been solved once _and_ whether it is good or not.

I agree with Sebastian here. At the end of the day, we don't expect
users to go fiddle with configfs directly and rather use libgadget
through a tool that uses it.

-- 
balbi

Attachment: signature.asc
Description: Digital signature


[Index of Archives]     [Linux Media]     [Linux Input]     [Linux Audio Users]     [Yosemite News]     [Linux Kernel]     [Linux SCSI]     [Old Linux USB Devel Archive]

  Powered by Linux