From: Hans de Goede <hdegoede@redhat.com>
To: Alan Stern <stern@rowland.harvard.edu>
Cc: Theodore Kilgore <kilgota@banach.math.auburn.edu>,
Sarah Sharp <sarah.a.sharp@linux.intel.com>,
Greg KH <greg@kroah.com>,
Mauro Carvalho Chehab <mchehab@infradead.org>,
linux-usb@vger.kernel.org, linux-media@vger.kernel.org,
linux-kernel@vger.kernel.org, libusb-devel@lists.sourceforge.net,
Alexander Graf <agraf@suse.de>, Gerd Hoffmann <kraxel@redhat.com>,
hector@marcansoft.com, Jan Kiszka <jan.kiszka@siemens.com>,
Stefan Hajnoczi <stefanha@linux.vnet.ibm.com>,
pbonzini@redhat.com, Anthony Liguori <aliguori@us.ibm.com>,
Jes Sorensen <Jes.Sorensen@redhat.com>,
Oliver Neukum <oliver@neukum.org>, Felipe Balbi <balbi@ti.com>,
Clemens Ladisch <clemens@ladisch.de>,
Jaroslav Kysela <perex@perex.cz>, Takashi Iwai <tiwai@suse.de>,
Laurent Pinchart <laurent.pinchart@ideasonboard.com>,
Adam Baker <linux@baker-net.org.uk>
Subject: Re: USB mini-summit at LinuxCon Vancouver
Date: Fri, 12 Aug 2011 09:26:45 +0200 [thread overview]
Message-ID: <4E44D5B5.7040305@redhat.com> (raw)
In-Reply-To: <Pine.LNX.4.44L0.1108111037240.1958-100000@iolanthe.rowland.org>
Hi,
On 08/11/2011 04:56 PM, Alan Stern wrote:
> On Thu, 11 Aug 2011, Hans de Goede wrote:
>
>>> The alternative seems to be to define a device-sharing protocol for USB
>>> drivers. Kernel drivers would implement a new callback (asking them to
>>> give up control of the device), and usbfs would implement new ioctls by
>>> which a program could ask for and relinquish control of a device. The
>>> amount of rewriting needed would be relatively small.
>>>
>>> A few loose ends would remain, such as how to handle suspends, resumes,
>>> resets, and disconnects. Assuming usbfs is the only driver that will
>>> want to share a device in this way, we could handle them.
>>>
>>> Hans, what do you think?
>>>
>>
>> First of all thanks for the constructive input!
>>
>> When you say: "device-sharing protocol", do you mean 2 drivers been
>> attached, but only 1 being active. Or just some additional glue to make
>> hand-over between them work better?
>
> I was thinking that the webcam driver would always be attached, but
> from time to time usbfs would ask to use the device. When the webcam
> driver gives away control, it remains bound to the device but does not
> send any URBs. If it needs to send an URB, first it has to ask usbfs
> to give control back.
>
Oh, interesting...
<snip lots of good stuff>
> I'm not claiming that this is a better solution than putting everything
> in the kernel. Just that it is a workable alternative which would
> involve a lot less coding.
This is definitely an interesting proposal, something to think about ...
I have 2 concerns wrt this approach:
1) It feels less clean then just having a single driver; and
2) I agree it will be less coding, but I doubt it will really be that much
less work. It will likely need less new code (but a lot can be more or
less copy pasted), but it will need changes across a wider array of
subsystems / userspace components, requiring a lot of coordinating,
getting patches merged in different projects, etc. So in the end I
think it too will be quite a bit of work.
I guess that what I'm trying to say here is, that if we are going to
spend a significant amount of time on this, we might just as well
go for the best solution we can come up with even if that is some
more work.
Regards,
Hans
next prev parent reply other threads:[~2011-08-12 7:25 UTC|newest]
Thread overview: 85+ messages / expand[flat|nested] mbox.gz Atom feed top
2011-06-10 0:21 USB mini-summit at LinuxCon Vancouver Sarah Sharp
2011-06-10 3:18 ` Greg KH
2011-06-10 6:59 ` Gerd Hoffmann
2011-06-10 19:48 ` Sarah Sharp
2011-06-10 20:50 ` Greg KH
2011-06-13 10:44 ` Alexander Graf
2011-06-13 16:29 ` Greg KH
2011-06-13 17:11 ` Alexander Graf
2011-06-10 7:19 ` Hans de Goede
2011-06-10 7:55 ` Improving kernel -> userspace (usbfs) usb device hand off Hans de Goede
2011-06-10 8:22 ` Felipe Balbi
2011-06-10 8:36 ` Hans de Goede
2011-06-10 8:42 ` Felipe Balbi
2011-06-10 12:19 ` Hans de Goede
2011-06-10 12:28 ` Felipe Balbi
2011-06-10 14:48 ` Alan Stern
2011-06-10 15:07 ` Mauro Carvalho Chehab
2011-06-10 15:21 ` Alan Stern
2011-06-11 9:15 ` Hans de Goede
2011-06-11 16:19 ` Theodore Kilgore
2011-06-12 11:43 ` Hans de Goede
2011-06-12 21:20 ` Theodore Kilgore
2011-06-13 2:03 ` Xiaofan Chen
2011-06-13 2:27 ` [Libusb-devel] " Michael Bender
2011-06-11 16:57 ` Alan Stern
2011-06-10 18:16 ` Theodore Kilgore
2011-06-10 18:34 ` Felipe Balbi
2011-06-10 21:18 ` Alan Stern
2011-06-10 21:46 ` Felipe Balbi
2011-06-10 22:46 ` Theodore Kilgore
2011-06-10 22:43 ` Theodore Kilgore
2011-06-11 1:30 ` Xiaofan Chen
2011-06-11 4:17 ` Theodore Kilgore
2011-06-13 9:05 ` Felipe Balbi
2011-06-13 13:06 ` Mauro Carvalho Chehab
2011-06-13 13:12 ` Felipe Balbi
2011-08-04 22:21 ` USB mini-summit at LinuxCon Vancouver Mauro Carvalho Chehab
2011-08-04 22:56 ` Greg KH
[not found] ` <CAA6KcBBZv7bvVxvEWOYL83igpNZHyzh=bcGxh6Dr5aKsvJK5Cg@mail.gmail.com>
2011-08-05 0:33 ` Mauro Carvalho Chehab
2011-08-05 2:56 ` Theodore Kilgore
2011-08-05 6:57 ` Oliver Neukum
2011-08-05 17:38 ` Theodore Kilgore
2011-08-05 7:45 ` Hans de Goede
2011-08-05 7:59 ` USB mini-summit at LinuxCon Vancouveroliver Oliver Neukum
2011-08-05 8:18 ` Hans de Goede
2011-08-05 13:07 ` USB mini-summit at LinuxCon Vancouver Mauro Carvalho Chehab
2011-08-08 17:58 ` Sarah Sharp
2011-08-08 18:23 ` Theodore Kilgore
2011-08-08 18:32 ` Sarah Sharp
2011-08-08 19:37 ` Mauro Carvalho Chehab
2011-08-09 7:52 ` Hans de Goede
2011-08-09 14:19 ` Alan Stern
2011-08-09 15:03 ` Marko Ristola
2011-08-09 19:57 ` Hans de Goede
2011-08-09 20:31 ` Adam Baker
2011-08-09 20:57 ` Hans de Goede
2011-08-10 2:05 ` Xiaofan Chen
2011-08-10 23:04 ` Adam Baker
2011-08-11 8:14 ` Hans de Goede
2011-08-09 23:05 ` Theodore Kilgore
2011-08-10 14:19 ` Alan Stern
2011-08-10 15:03 ` Theodore Kilgore
2011-08-10 16:09 ` Alan Stern
2011-08-10 18:33 ` Theodore Kilgore
2011-08-10 19:39 ` Hans Verkuil
2011-08-10 19:43 ` Greg KH
2011-08-10 20:34 ` Theodore Kilgore
2011-08-10 20:14 ` Mauro Carvalho Chehab
2011-08-10 20:39 ` Theodore Kilgore
2011-08-11 8:14 ` Hans de Goede
2011-08-11 14:56 ` Alan Stern
2011-08-11 15:13 ` Mauro Carvalho Chehab
2011-08-11 15:25 ` Alan Cox
2011-08-11 15:49 ` Alan Stern
2011-08-11 20:01 ` Theodore Kilgore
2011-08-11 20:32 ` Mauro Carvalho Chehab
2011-08-11 23:13 ` Theodore Kilgore
2011-08-12 7:16 ` Hans de Goede
2011-08-12 10:11 ` Alan Cox
2011-08-12 1:07 ` Alan Stern
2011-08-12 2:38 ` Theodore Kilgore
2011-08-11 15:44 ` Alan Stern
2011-08-12 7:26 ` Hans de Goede [this message]
2011-08-12 15:36 ` Alan Stern
2011-08-09 17:10 ` Sarah Sharp
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=4E44D5B5.7040305@redhat.com \
--to=hdegoede@redhat.com \
--cc=Jes.Sorensen@redhat.com \
--cc=agraf@suse.de \
--cc=aliguori@us.ibm.com \
--cc=balbi@ti.com \
--cc=clemens@ladisch.de \
--cc=greg@kroah.com \
--cc=hector@marcansoft.com \
--cc=jan.kiszka@siemens.com \
--cc=kilgota@banach.math.auburn.edu \
--cc=kraxel@redhat.com \
--cc=laurent.pinchart@ideasonboard.com \
--cc=libusb-devel@lists.sourceforge.net \
--cc=linux-kernel@vger.kernel.org \
--cc=linux-media@vger.kernel.org \
--cc=linux-usb@vger.kernel.org \
--cc=linux@baker-net.org.uk \
--cc=mchehab@infradead.org \
--cc=oliver@neukum.org \
--cc=pbonzini@redhat.com \
--cc=perex@perex.cz \
--cc=sarah.a.sharp@linux.intel.com \
--cc=stefanha@linux.vnet.ibm.com \
--cc=stern@rowland.harvard.edu \
--cc=tiwai@suse.de \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox