<feed xmlns='http://www.w3.org/2005/Atom'>
<title>linux-toradex.git/include/linux/usb/composite.h, branch imx-android-r13.2</title>
<subtitle>Linux kernel for Apalis and Colibri modules</subtitle>
<link rel='alternate' type='text/html' href='https://git.toradex.cn/cgit/linux-toradex.git/'/>
<entry>
<title>usb: gadget: android: Update android gadget driver</title>
<updated>2011-06-17T23:02:37+00:00</updated>
<author>
<name>Benoit Goby</name>
<email>benoit@android.com</email>
</author>
<published>2011-04-20T03:37:33+00:00</published>
<link rel='alternate' type='text/html' href='https://git.toradex.cn/cgit/linux-toradex.git/commit/?id=aab96815ae9a40e05600b8e351561b514233afca'/>
<id>aab96815ae9a40e05600b8e351561b514233afca</id>
<content type='text'>
* Functions and the device descriptor are configured from user space:
echo 0       &gt; /sys/class/android_usb/android0/enable
echo adb,acm &gt; /sys/class/android_usb/android0/functions
echo 2       &gt; /sys/class/android_usb/android0/f_acm/instances
echo 1       &gt; /sys/class/android_usb/android0/enable

* Driver does not require platform data anymore

* Moved function initialization to android.c instead of each
function file

* Replaced switches by uevents

Signed-off-by: Benoit Goby &lt;benoit@android.com&gt;
Signed-off-by: Mike Lockwood &lt;lockwood@android.com&gt;
Change-Id: If5ad9267c111ad0a442f0d87a0d31082dc5381b6
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
* Functions and the device descriptor are configured from user space:
echo 0       &gt; /sys/class/android_usb/android0/enable
echo adb,acm &gt; /sys/class/android_usb/android0/functions
echo 2       &gt; /sys/class/android_usb/android0/f_acm/instances
echo 1       &gt; /sys/class/android_usb/android0/enable

* Driver does not require platform data anymore

* Moved function initialization to android.c instead of each
function file

* Replaced switches by uevents

Signed-off-by: Benoit Goby &lt;benoit@android.com&gt;
Signed-off-by: Mike Lockwood &lt;lockwood@android.com&gt;
Change-Id: If5ad9267c111ad0a442f0d87a0d31082dc5381b6
</pre>
</div>
</content>
</entry>
<entry>
<title>usb: gadget: composite: Add usb_remove_config</title>
<updated>2011-06-17T23:02:36+00:00</updated>
<author>
<name>Benoit Goby</name>
<email>benoit@android.com</email>
</author>
<published>2011-05-26T06:59:43+00:00</published>
<link rel='alternate' type='text/html' href='https://git.toradex.cn/cgit/linux-toradex.git/commit/?id=94df1bdfdca9be6d4bbe6cc56354b4ee536cb15a'/>
<id>94df1bdfdca9be6d4bbe6cc56354b4ee536cb15a</id>
<content type='text'>
This allows composite drivers to dynamically change their configuration.
For example, a driver might remove a configuration and register a new
one with a different set of functions.
User should prevent the host from enumerating the device while changing
the configuration:

	usb_gadget_disconnect(cdev-&gt;gadget);
	usb_remove_config(cdev, old_config);
	usb_add_config(cdev, new_config, new_conf_bind);
	usb_gadget_connect(cdev-&gt;gadget);

Change-Id: Icbfb4ce41685fde9bf63d5d58fca1ad242aa69f9
Signed-off-by: Benoit Goby &lt;benoit@android.com&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
This allows composite drivers to dynamically change their configuration.
For example, a driver might remove a configuration and register a new
one with a different set of functions.
User should prevent the host from enumerating the device while changing
the configuration:

	usb_gadget_disconnect(cdev-&gt;gadget);
	usb_remove_config(cdev, old_config);
	usb_add_config(cdev, new_config, new_conf_bind);
	usb_gadget_connect(cdev-&gt;gadget);

Change-Id: Icbfb4ce41685fde9bf63d5d58fca1ad242aa69f9
Signed-off-by: Benoit Goby &lt;benoit@android.com&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>USB: gadget: composite: Use separate switches for connected and config state</title>
<updated>2011-06-14T16:09:12+00:00</updated>
<author>
<name>Mike Lockwood</name>
<email>lockwood@android.com</email>
</author>
<published>2010-12-11T00:30:15+00:00</published>
<link rel='alternate' type='text/html' href='https://git.toradex.cn/cgit/linux-toradex.git/commit/?id=e6be8941f44a6561e9d42e759e5644d096bae7c7'/>
<id>e6be8941f44a6561e9d42e759e5644d096bae7c7</id>
<content type='text'>
Also remove disconnect debouncing, which didn't actually work on some platforms

Signed-off-by: Mike Lockwood &lt;lockwood@android.com&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Also remove disconnect debouncing, which didn't actually work on some platforms

Signed-off-by: Mike Lockwood &lt;lockwood@android.com&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>USB: composite: Add usb_composite_force_reset utility to force enumeration</title>
<updated>2011-06-14T16:09:08+00:00</updated>
<author>
<name>Mike Lockwood</name>
<email>lockwood@android.com</email>
</author>
<published>2010-06-28T20:19:32+00:00</published>
<link rel='alternate' type='text/html' href='https://git.toradex.cn/cgit/linux-toradex.git/commit/?id=28acc1a88c75b08b2ab502a546da61b131b86f5c'/>
<id>28acc1a88c75b08b2ab502a546da61b131b86f5c</id>
<content type='text'>
Use this rather than calling usb_gadget_disconnect and usb_gadget_connect
directly to avoid sending USB disconnect events to userspace when resetting
the bus.

Signed-off-by: Mike Lockwood &lt;lockwood@android.com&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Use this rather than calling usb_gadget_disconnect and usb_gadget_connect
directly to avoid sending USB disconnect events to userspace when resetting
the bus.

Signed-off-by: Mike Lockwood &lt;lockwood@android.com&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>USB: gadget: composite: Move switch_set_state calls to a work queue</title>
<updated>2011-06-14T16:09:08+00:00</updated>
<author>
<name>Mike Lockwood</name>
<email>lockwood@android.com</email>
</author>
<published>2010-06-28T00:05:55+00:00</published>
<link rel='alternate' type='text/html' href='https://git.toradex.cn/cgit/linux-toradex.git/commit/?id=8da4cc8f77b0d291fa33a5474d69b12b534cb5f4'/>
<id>8da4cc8f77b0d291fa33a5474d69b12b534cb5f4</id>
<content type='text'>
Signed-off-by: Mike Lockwood &lt;lockwood@android.com&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Signed-off-by: Mike Lockwood &lt;lockwood@android.com&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>USB: gadget: composite: Add userspace notifications for USB state changes</title>
<updated>2011-06-14T16:09:07+00:00</updated>
<author>
<name>Mike Lockwood</name>
<email>lockwood@android.com</email>
</author>
<published>2010-06-23T12:20:59+00:00</published>
<link rel='alternate' type='text/html' href='https://git.toradex.cn/cgit/linux-toradex.git/commit/?id=e2dc503c4220b7d86815283f7d18c0b14af64470'/>
<id>e2dc503c4220b7d86815283f7d18c0b14af64470</id>
<content type='text'>
Add switch to notify current USB configuration.  This can be used to detect
USB connect and disconnect events.

Broadcast a change via the usb_composite class when a USB function is
enabled or disabled.

Rename usb_function.hidden to usb_function.disabled.

Signed-off-by: Mike Lockwood &lt;lockwood@android.com&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Add switch to notify current USB configuration.  This can be used to detect
USB connect and disconnect events.

Broadcast a change via the usb_composite class when a USB function is
enabled or disabled.

Rename usb_function.hidden to usb_function.disabled.

Signed-off-by: Mike Lockwood &lt;lockwood@android.com&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>USB: composite: Add class driver for enabling and disabling USB functions.</title>
<updated>2011-06-14T16:08:55+00:00</updated>
<author>
<name>Mike Lockwood</name>
<email>lockwood@android.com</email>
</author>
<published>2010-02-07T02:53:51+00:00</published>
<link rel='alternate' type='text/html' href='https://git.toradex.cn/cgit/linux-toradex.git/commit/?id=f041ac69036f1e3a7ce62ef3391801cbe0c6630c'/>
<id>f041ac69036f1e3a7ce62ef3391801cbe0c6630c</id>
<content type='text'>
Signed-off-by: Mike Lockwood &lt;lockwood@android.com&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Signed-off-by: Mike Lockwood &lt;lockwood@android.com&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>USB: composite: Add flag to usb_function to hide its interface during enumeration</title>
<updated>2011-06-14T16:08:54+00:00</updated>
<author>
<name>Mike Lockwood</name>
<email>lockwood@android.com</email>
</author>
<published>2009-12-11T16:24:07+00:00</published>
<link rel='alternate' type='text/html' href='https://git.toradex.cn/cgit/linux-toradex.git/commit/?id=c7ba16ae1a444d78c4c67960f76c87159125d2b0'/>
<id>c7ba16ae1a444d78c4c67960f76c87159125d2b0</id>
<content type='text'>
Change-Id: Ie999b5190e3e2b6fd23015b8e796cdd178829929

Signed-off-by: Mike Lockwood &lt;lockwood@android.com&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Change-Id: Ie999b5190e3e2b6fd23015b8e796cdd178829929

Signed-off-by: Mike Lockwood &lt;lockwood@android.com&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>usb: gadget: composite: Allow function drivers to pause control transfers</title>
<updated>2011-05-10T21:14:57+00:00</updated>
<author>
<name>Roger Quadros</name>
<email>roger.quadros@nokia.com</email>
</author>
<published>2011-05-09T10:08:06+00:00</published>
<link rel='alternate' type='text/html' href='https://git.toradex.cn/cgit/linux-toradex.git/commit/?id=1b9ba000177ee47bcc5b44c7c34e48e735f5f9b1'/>
<id>1b9ba000177ee47bcc5b44c7c34e48e735f5f9b1</id>
<content type='text'>
Some USB function drivers (e.g. f_mass_storage.c) need to delay or defer the
data/status stages of standard control requests like SET_CONFIGURATION or
SET_INTERFACE till they are done with their bookkeeping and are actually ready
for accepting new commands to their interface.

They can now achieve this functionality by returning USB_GADGET_DELAYED_STATUS
in their setup handlers (e.g. set_alt()). The composite framework will then
defer completion of the control transfer by not completing the data/status stages.

This ensures that the host does not send new packets to the interface till the
function driver is ready to take them.

When the function driver that requested for USB_GADGET_DELAYED_STATUS is done
with its bookkeeping, it should signal the composite framework to continue with
the data/status stages of the control transfer. It can do so by invoking
the new API usb_composite_setup_continue(). This is where the control transfer's
data/status stages are completed and host can initiate new transfers.

The DELAYED_STATUS mechanism is currently only supported if the expected data phase
is 0 bytes (i.e. w_length == 0). Since SET_CONFIGURATION and SET_INTERFACE are the
only cases that will use this mechanism, this is not a limitation.

Signed-off-by: Roger Quadros &lt;roger.quadros@nokia.com&gt;
Signed-off-by: Greg Kroah-Hartman &lt;gregkh@suse.de&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Some USB function drivers (e.g. f_mass_storage.c) need to delay or defer the
data/status stages of standard control requests like SET_CONFIGURATION or
SET_INTERFACE till they are done with their bookkeeping and are actually ready
for accepting new commands to their interface.

They can now achieve this functionality by returning USB_GADGET_DELAYED_STATUS
in their setup handlers (e.g. set_alt()). The composite framework will then
defer completion of the control transfer by not completing the data/status stages.

This ensures that the host does not send new packets to the interface till the
function driver is ready to take them.

When the function driver that requested for USB_GADGET_DELAYED_STATUS is done
with its bookkeeping, it should signal the composite framework to continue with
the data/status stages of the control transfer. It can do so by invoking
the new API usb_composite_setup_continue(). This is where the control transfer's
data/status stages are completed and host can initiate new transfers.

The DELAYED_STATUS mechanism is currently only supported if the expected data phase
is 0 bytes (i.e. w_length == 0). Since SET_CONFIGURATION and SET_INTERFACE are the
only cases that will use this mechanism, this is not a limitation.

Signed-off-by: Roger Quadros &lt;roger.quadros@nokia.com&gt;
Signed-off-by: Greg Kroah-Hartman &lt;gregkh@suse.de&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>Fix common misspellings</title>
<updated>2011-03-31T14:26:23+00:00</updated>
<author>
<name>Lucas De Marchi</name>
<email>lucas.demarchi@profusion.mobi</email>
</author>
<published>2011-03-31T01:57:33+00:00</published>
<link rel='alternate' type='text/html' href='https://git.toradex.cn/cgit/linux-toradex.git/commit/?id=25985edcedea6396277003854657b5f3cb31a628'/>
<id>25985edcedea6396277003854657b5f3cb31a628</id>
<content type='text'>
Fixes generated by 'codespell' and manually reviewed.

Signed-off-by: Lucas De Marchi &lt;lucas.demarchi@profusion.mobi&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Fixes generated by 'codespell' and manually reviewed.

Signed-off-by: Lucas De Marchi &lt;lucas.demarchi@profusion.mobi&gt;
</pre>
</div>
</content>
</entry>
</feed>
