<?xml version="1.0" encoding="UTF-8"?>
<rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns="http://purl.org/rss/1.0/" xmlns:taxo="http://purl.org/rss/1.0/modules/taxonomy/" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:syn="http://purl.org/rss/1.0/modules/syndication/" xmlns:admin="http://webns.net/mvcb/">
  <channel rdf:about="http://blog.gmane.org/gmane.linux.usb.general">
    <title>gmane.linux.usb.general</title>
    <link>http://blog.gmane.org/gmane.linux.usb.general</link>
    <description/>
    <syn:updatePeriod>hourly</syn:updatePeriod>
    <syn:updateFrequency>1</syn:updateFrequency>
    <syn:updateBase>1901-01-01T00:00+00:00</syn:updateBase>
    <items>
      <rdf:Seq>
        <rdf:li rdf:resource="http://permalink.gmane.org/gmane.linux.usb.general/12469"/>
        <rdf:li rdf:resource="http://permalink.gmane.org/gmane.linux.usb.general/12468"/>
        <rdf:li rdf:resource="http://permalink.gmane.org/gmane.linux.usb.general/12467"/>
        <rdf:li rdf:resource="http://permalink.gmane.org/gmane.linux.usb.general/12466"/>
        <rdf:li rdf:resource="http://permalink.gmane.org/gmane.linux.usb.general/12465"/>
        <rdf:li rdf:resource="http://permalink.gmane.org/gmane.linux.usb.general/12464"/>
        <rdf:li rdf:resource="http://permalink.gmane.org/gmane.linux.usb.general/12463"/>
        <rdf:li rdf:resource="http://permalink.gmane.org/gmane.linux.usb.general/12462"/>
        <rdf:li rdf:resource="http://permalink.gmane.org/gmane.linux.usb.general/12461"/>
        <rdf:li rdf:resource="http://permalink.gmane.org/gmane.linux.usb.general/12460"/>
        <rdf:li rdf:resource="http://permalink.gmane.org/gmane.linux.usb.general/12459"/>
        <rdf:li rdf:resource="http://permalink.gmane.org/gmane.linux.usb.general/12458"/>
        <rdf:li rdf:resource="http://permalink.gmane.org/gmane.linux.usb.general/12457"/>
        <rdf:li rdf:resource="http://permalink.gmane.org/gmane.linux.usb.general/12456"/>
        <rdf:li rdf:resource="http://permalink.gmane.org/gmane.linux.usb.general/12455"/>
        <rdf:li rdf:resource="http://permalink.gmane.org/gmane.linux.usb.general/12454"/>
        <rdf:li rdf:resource="http://permalink.gmane.org/gmane.linux.usb.general/12453"/>
        <rdf:li rdf:resource="http://permalink.gmane.org/gmane.linux.usb.general/12452"/>
        <rdf:li rdf:resource="http://permalink.gmane.org/gmane.linux.usb.general/12451"/>
        <rdf:li rdf:resource="http://permalink.gmane.org/gmane.linux.usb.general/12450"/>
      </rdf:Seq>
    </items>
    <image rdf:resource="http://gmane.org/img/gmane-25t.png"/>
    <textinput rdf:resource=""/>
  </channel>
  <image rdf:about="http://gmane.org/img/gmane-25t.png">
    <title>Gmane</title>
    <url>http://gmane.org/img/gmane-25t.png</url>
    <link>http://gmane.org</link>
  </image>
  <item rdf:about="http://permalink.gmane.org/gmane.linux.usb.general/12469">
    <title>Re: WG: Blocking read [gadgetfs with Kernel 2.6.27]</title>
    <link>http://permalink.gmane.org/gmane.linux.usb.general/12469</link>
    <description>

I believe there's no way to do it at the moment.  The gadgetfs source 
code contains a comment:

/* FIXME readahead for O_NONBLOCK and poll(); careful with ZLPs */

indicating that this feature has not yet been implemented.

You might be able to work around the problem.  For example, you could 
write your gadgetfs driver program using multiple threads and dedicate 
one thread to polling the endpoint buffer.  Then if there's no data and 
the read() blocks, only one thread will be affected; the rest of your 
program will continue to work.

Or you could try using asynchronous I/O.  Doesn't the usb.c example 
code show how to do that?

Alan Stern

--
To unsubscribe from this list: send the line "unsubscribe linux-usb" in
the body of a message to majordomo-u79uwXL29TY76Z2rM5mHXA&lt; at &gt;public.gmane.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html

</description>
    <dc:creator>Alan Stern</dc:creator>
    <dc:date>2008-12-01T21:41:20</dc:date>
  </item>
  <item rdf:about="http://permalink.gmane.org/gmane.linux.usb.general/12468">
    <title>Re: [PATCH 2.6.27] usb isp1760: initialize port 1 of ISP1761</title>
    <link>http://permalink.gmane.org/gmane.linux.usb.general/12468</link>
    <description>* Nate Case | 2008-12-01 12:29:27 [-0600]:


Okay. So we could get rid of the port disable thing or might be there a
reason why someone would like to have this port disabled?


Sebastian
--
To unsubscribe from this list: send the line "unsubscribe linux-usb" in
the body of a message to majordomo-u79uwXL29TY76Z2rM5mHXA&lt; at &gt;public.gmane.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html

</description>
    <dc:creator>Sebastian Andrzej Siewior</dc:creator>
    <dc:date>2008-12-01T21:36:28</dc:date>
  </item>
  <item rdf:about="http://permalink.gmane.org/gmane.linux.usb.general/12467">
    <title>Re: [PATCH] USB: skip Set-Interface(0) if already in altsetting 0</title>
    <link>http://permalink.gmane.org/gmane.linux.usb.general/12467</link>
    <description>

Well, _I_ can follow it.  What does that make me?  Maybe I better not 
ask...  :-)

Alan Stern

--
To unsubscribe from this list: send the line "unsubscribe linux-usb" in
the body of a message to majordomo-u79uwXL29TY76Z2rM5mHXA&lt; at &gt;public.gmane.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html

</description>
    <dc:creator>Alan Stern</dc:creator>
    <dc:date>2008-12-01T21:10:46</dc:date>
  </item>
  <item rdf:about="http://permalink.gmane.org/gmane.linux.usb.general/12466">
    <title>Re: [PATCH] USB: skip Set-Interface(0) if already in altsetting 0</title>
    <link>http://permalink.gmane.org/gmane.linux.usb.general/12466</link>
    <description>Am Montag, 1. Dezember 2008 17:37:56 schrieb Alan Stern:

This code should be shot. Put in some curly braces to make it clear. No
sane human can follow it.

Regards
Oliver
--
To unsubscribe from this list: send the line "unsubscribe linux-usb" in
the body of a message to majordomo-u79uwXL29TY76Z2rM5mHXA&lt; at &gt;public.gmane.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html

</description>
    <dc:creator>Oliver Neukum</dc:creator>
    <dc:date>2008-12-01T20:49:53</dc:date>
  </item>
  <item rdf:about="http://permalink.gmane.org/gmane.linux.usb.general/12465">
    <title>Re: [patch 2.6.28-rc] usb: musb: fix bug in musb_schedule</title>
    <link>http://permalink.gmane.org/gmane.linux.usb.general/12465</link>
    <description>





    Moreover, we can't call musb_giveback() if qh is not currectly active (or 
we risk corrupting the save toggle state, etc.) -- we can only call 
__musb_giveback() and then list_del()/kfree() when the USB list drains.
    Looks like I have finally come with a final fix for that issue, along with 
musb_urb_dequeue() forgetting to kfree() already invalid qh iff endpoint URB 
list happen empty (Ajay, you've correctly noticed this issue but your fix was 
incorrect).
    Hoping to post thep atches RSN -- I keep being overloaded during the past 
weeks...

WBR, Sergei
--
To unsubscribe from this list: send the line "unsubscribe linux-usb" in
the body of a message to majordomo-u79uwXL29TY76Z2rM5mHXA&lt; at &gt;public.gmane.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html

</description>
    <dc:creator>Sergei Shtylyov</dc:creator>
    <dc:date>2008-12-01T19:56:56</dc:date>
  </item>
  <item rdf:about="http://permalink.gmane.org/gmane.linux.usb.general/12464">
    <title>RE: [PATCH 2.6.27] usb isp1760: initialize port 1 of ISP1761</title>
    <link>http://permalink.gmane.org/gmane.linux.usb.general/12464</link>
    <description>
Thomas is correct.  At first glance, it seemed like special
initialization would be required to use Port 1 in host mode on the 1761
(because the datasheet calls 0x374 "OTG Control" register, and shows
completely different bit definitions for it compared to the 1760).  But,
like Thomas says, the foot note does say that the same sequence can be
written to this register to use it in host mode.

So, aside from the whitespace/linewrap issues:

Acked-by: Nate Case &lt;ncase-AQeFf1F/bRxBDgjK7y7TUQ&lt; at &gt;public.gmane.org&gt;

</description>
    <dc:creator>Nate Case</dc:creator>
    <dc:date>2008-12-01T18:29:27</dc:date>
  </item>
  <item rdf:about="http://permalink.gmane.org/gmane.linux.usb.general/12463">
    <title>Re: [PATCH] USB: skip Set-Interface(0) if already in altsetting 0</title>
    <link>http://permalink.gmane.org/gmane.linux.usb.general/12463</link>
    <description>

Because your suggestion is wrong.  Let's look at more of the context:

if (intf-&gt;cur_altsetting-&gt;desc.bAlternateSetting == 0)
;/* Already in altsetting 0 so skip Set-Interface */
else if (!error &amp;&amp; intf-&gt;dev.power.status == DPM_ON)
usb_set_interface(udev, intf-&gt;altsetting[0].
desc.bInterfaceNumber, 0);
else
intf-&gt;needs_altsetting0 = 1;

Now, what happens when desc.bAlternateSetting is 0?  With my code, 
nothing happens.  With your code, intf-&gt;needs_altsetting0 gets set to 
1.  That would be a bug.

Alan Stern

--
To unsubscribe from this list: send the line "unsubscribe linux-usb" in
the body of a message to majordomo-u79uwXL29TY76Z2rM5mHXA&lt; at &gt;public.gmane.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html

</description>
    <dc:creator>Alan Stern</dc:creator>
    <dc:date>2008-12-01T16:37:56</dc:date>
  </item>
  <item rdf:about="http://permalink.gmane.org/gmane.linux.usb.general/12462">
    <title>Re: OHCI bad entry problem</title>
    <link>http://permalink.gmane.org/gmane.linux.usb.general/12462</link>
    <description>

I doubt this will help you to solve the problem...



Why should this be a bad entry?  It was allocated five lines earlier.  
Maybe you need to debug td_fill instead of td_alloc.



Did you notice that these timestamps aren't monotonically increasing?  
Even if you ignore the submissions and look at just the completions.  
Something strange is going on with your system.

Alan Stern

--
To unsubscribe from this list: send the line "unsubscribe linux-usb" in
the body of a message to majordomo-u79uwXL29TY76Z2rM5mHXA&lt; at &gt;public.gmane.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html

</description>
    <dc:creator>Alan Stern</dc:creator>
    <dc:date>2008-12-01T16:33:08</dc:date>
  </item>
  <item rdf:about="http://permalink.gmane.org/gmane.linux.usb.general/12461">
    <title>Re: [PATCH] USB: skip Set-Interface(0) if already in altsetting 0</title>
    <link>http://permalink.gmane.org/gmane.linux.usb.general/12461</link>
    <description>Hello.

Alan Stern wrote:





    Ugh, why not:

if (intf-&gt;cur_altsetting-&gt;desc.bAlternateSetting != 0 &amp;&amp;
    !error &amp;&amp; intf-&gt;dev.power.status == DPM_ON)

WBR, Sergei
--
To unsubscribe from this list: send the line "unsubscribe linux-usb" in
the body of a message to majordomo-u79uwXL29TY76Z2rM5mHXA&lt; at &gt;public.gmane.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html

</description>
    <dc:creator>Sergei Shtylyov</dc:creator>
    <dc:date>2008-12-01T16:04:50</dc:date>
  </item>
  <item rdf:about="http://permalink.gmane.org/gmane.linux.usb.general/12460">
    <title>Fwd: Re: Bluetooth and "IRQ 19 and nobody cared" on a HP 8510w with Debian 2.6.24 or 2.6.26</title>
    <link>http://permalink.gmane.org/gmane.linux.usb.general/12460</link>
    <description>As suggested, I'm forwarding this to you "usb guys".  : )

I still have to try the btusb driver as Marcel suggested (it does not appear 
to be built in the standard Debian kernel, so this might take awhile).

If the the problem persists with it, I'll send a follow up email.

Thanks!  -Tyson

PS:  By the way Marcel, thanks for the follow up.

----------  Forwarded Message  ----------

From: Marcel Holtmann
To: Tyson Whitehead

Hi Tyson,


start using the btusb driver instead of hci_usb. And even while you
think this might be caused by Bluetooth, you should report it to the USB
guys since the USB host controller is responsible for that interrupt.

Regards

Marcel

-------------------------------------------------------

Bus 004 Device 001: ID 0000:0000  
Device Descriptor:
  bLength                18
  bDescriptorType         1
  bcdUSB               2.00
  bDeviceClass            9 Hub
  bDeviceSubClass         0 Unused
  bDeviceProtocol         1 Single TT
  bMaxPacketSize0        64
  idVendor           0x0000 
  idProduct          0x0000 
  bcdDevice            2.06
  iManufacturer           3 Linux 2.6.24-etchnhalf.1-amd64 ehci_hcd
  iProduct                2 EHCI Host Controller
  iSerial                 1 0000:00:1d.7
  bNumConfigurations      1
  Configuration Descriptor:
    bLength                 9
    bDescriptorType         2
    wTotalLength           25
    bNumInterfaces          1
    bConfigurationValue     1
    iConfiguration          0 
    bmAttributes         0xe0
      Self Powered
      Remote Wakeup
    MaxPower                0mA
    Interface Descriptor:
      bLength                 9
      bDescriptorType         4
      bInterfaceNumber        0
      bAlternateSetting       0
      bNumEndpoints           1
      bInterfaceClass         9 Hub
      bInterfaceSubClass      0 Unused
      bInterfaceProtocol      0 Full speed (or root) hub
      iInterface              0 
      Endpoint Descriptor:
        bLength                 7
        bDescriptorType         5
        bEndpointAddress     0x81  EP 1 IN
        bmAttributes            3
          Transfer Type            Interrupt
          Synch Type               None
          Usage Type               Data
        wMaxPacketSize     0x0004  1x 4 bytes
        bInterval              12
Hub Descriptor:
  bLength               9
  bDescriptorType      41
  nNbrPorts             6
  wHubCharacteristic 0x000a
    No power switching (usb 1.0)
    Per-port overcurrent protection
    TT think time 8 FS bits
  bPwrOn2PwrGood       10 * 2 milli seconds
  bHubContrCurrent      0 milli Ampere
  DeviceRemovable    0x00
  PortPwrCtrlMask    0xff
 Hub Port Status:
   Port 1: 0000.0100 power
   Port 2: 0000.0100 power
   Port 3: 0000.0100 power
   Port 4: 0000.0100 power
   Port 5: 0000.0100 power
   Port 6: 0000.0100 power
Device Status:     0x0003
  Self Powered
  Remote Wakeup Enabled

Bus 003 Device 001: ID 0000:0000  
Device Descriptor:
  bLength                18
  bDescriptorType         1
  bcdUSB               2.00
  bDeviceClass            9 Hub
  bDeviceSubClass         0 Unused
  bDeviceProtocol         1 Single TT
  bMaxPacketSize0        64
  idVendor           0x0000 
  idProduct          0x0000 
  bcdDevice            2.06
  iManufacturer           3 Linux 2.6.24-etchnhalf.1-amd64 ehci_hcd
  iProduct                2 EHCI Host Controller
  iSerial                 1 0000:00:1a.7
  bNumConfigurations      1
  Configuration Descriptor:
    bLength                 9
    bDescriptorType         2
    wTotalLength           25
    bNumInterfaces          1
    bConfigurationValue     1
    iConfiguration          0 
    bmAttributes         0xe0
      Self Powered
      Remote Wakeup
    MaxPower                0mA
    Interface Descriptor:
      bLength                 9
      bDescriptorType         4
      bInterfaceNumber        0
      bAlternateSetting       0
      bNumEndpoints           1
      bInterfaceClass         9 Hub
      bInterfaceSubClass      0 Unused
      bInterfaceProtocol      0 Full speed (or root) hub
      iInterface              0 
      Endpoint Descriptor:
        bLength                 7
        bDescriptorType         5
        bEndpointAddress     0x81  EP 1 IN
        bmAttributes            3
          Transfer Type            Interrupt
          Synch Type               None
          Usage Type               Data
        wMaxPacketSize     0x0004  1x 4 bytes
        bInterval              12
Hub Descriptor:
  bLength               9
  bDescriptorType      41
  nNbrPorts             4
  wHubCharacteristic 0x000a
    No power switching (usb 1.0)
    Per-port overcurrent protection
    TT think time 8 FS bits
  bPwrOn2PwrGood       10 * 2 milli seconds
  bHubContrCurrent      0 milli Ampere
  DeviceRemovable    0x00
  PortPwrCtrlMask    0xff
 Hub Port Status:
   Port 1: 0000.0100 power
   Port 2: 0000.0100 power
   Port 3: 0000.0100 power
   Port 4: 0000.0100 power
Device Status:     0x0003
  Self Powered
  Remote Wakeup Enabled

Bus 007 Device 001: ID 0000:0000  
Device Descriptor:
  bLength                18
  bDescriptorType         1
  bcdUSB               1.10
  bDeviceClass            9 Hub
  bDeviceSubClass         0 Unused
  bDeviceProtocol         0 Full speed (or root) hub
  bMaxPacketSize0        64
  idVendor           0x0000 
  idProduct          0x0000 
  bcdDevice            2.06
  iManufacturer           3 Linux 2.6.24-etchnhalf.1-amd64 uhci_hcd
  iProduct                2 UHCI Host Controller
  iSerial                 1 0000:00:1d.2
  bNumConfigurations      1
  Configuration Descriptor:
    bLength                 9
    bDescriptorType         2
    wTotalLength           25
    bNumInterfaces          1
    bConfigurationValue     1
    iConfiguration          0 
    bmAttributes         0xe0
      Self Powered
      Remote Wakeup
    MaxPower                0mA
    Interface Descriptor:
      bLength                 9
      bDescriptorType         4
      bInterfaceNumber        0
      bAlternateSetting       0
      bNumEndpoints           1
      bInterfaceClass         9 Hub
      bInterfaceSubClass      0 Unused
      bInterfaceProtocol      0 Full speed (or root) hub
      iInterface              0 
      Endpoint Descriptor:
        bLength                 7
        bDescriptorType         5
        bEndpointAddress     0x81  EP 1 IN
        bmAttributes            3
          Transfer Type            Interrupt
          Synch Type               None
          Usage Type               Data
        wMaxPacketSize     0x0002  1x 2 bytes
        bInterval             255
Hub Descriptor:
  bLength               9
  bDescriptorType      41
  nNbrPorts             2
  wHubCharacteristic 0x000a
    No power switching (usb 1.0)
    Per-port overcurrent protection
  bPwrOn2PwrGood        1 * 2 milli seconds
  bHubContrCurrent      0 milli Ampere
  DeviceRemovable    0x00
  PortPwrCtrlMask    0xff
 Hub Port Status:
   Port 1: 0000.0100 power
   Port 2: 0000.0100 power
Device Status:     0x0003
  Self Powered
  Remote Wakeup Enabled

Bus 006 Device 001: ID 0000:0000  
Device Descriptor:
  bLength                18
  bDescriptorType         1
  bcdUSB               1.10
  bDeviceClass            9 Hub
  bDeviceSubClass         0 Unused
  bDeviceProtocol         0 Full speed (or root) hub
  bMaxPacketSize0        64
  idVendor           0x0000 
  idProduct          0x0000 
  bcdDevice            2.06
  iManufacturer           3 Linux 2.6.24-etchnhalf.1-amd64 uhci_hcd
  iProduct                2 UHCI Host Controller
  iSerial                 1 0000:00:1d.1
  bNumConfigurations      1
  Configuration Descriptor:
    bLength                 9
    bDescriptorType         2
    wTotalLength           25
    bNumInterfaces          1
    bConfigurationValue     1
    iConfiguration          0 
    bmAttributes         0xe0
      Self Powered
      Remote Wakeup
    MaxPower                0mA
    Interface Descriptor:
      bLength                 9
      bDescriptorType         4
      bInterfaceNumber        0
      bAlternateSetting       0
      bNumEndpoints           1
      bInterfaceClass         9 Hub
      bInterfaceSubClass      0 Unused
      bInterfaceProtocol      0 Full speed (or root) hub
      iInterface              0 
      Endpoint Descriptor:
        bLength                 7
        bDescriptorType         5
        bEndpointAddress     0x81  EP 1 IN
        bmAttributes            3
          Transfer Type            Interrupt
          Synch Type               None
          Usage Type               Data
        wMaxPacketSize     0x0002  1x 2 bytes
        bInterval             255
Hub Descriptor:
  bLength               9
  bDescriptorType      41
  nNbrPorts             2
  wHubCharacteristic 0x000a
    No power switching (usb 1.0)
    Per-port overcurrent protection
  bPwrOn2PwrGood        1 * 2 milli seconds
  bHubContrCurrent      0 milli Ampere
  DeviceRemovable    0x00
  PortPwrCtrlMask    0xff
 Hub Port Status:
   Port 1: 0000.0100 power
   Port 2: 0000.0100 power
Device Status:     0x0003
  Self Powered
  Remote Wakeup Enabled

Bus 005 Device 003: ID 08ff:2580 AuthenTec, Inc. AES2501 Fingerprint Sensor
Device Descriptor:
  bLength                18
  bDescriptorType         1
  bcdUSB               1.10
  bDeviceClass          255 Vendor Specific Class
  bDeviceSubClass       255 Vendor Specific Subclass
  bDeviceProtocol       255 Vendor Specific Protocol
  bMaxPacketSize0         8
  idVendor           0x08ff AuthenTec, Inc.
  idProduct          0x2580 AES2501 Fingerprint Sensor
  bcdDevice            6.23
  iManufacturer           0 
  iProduct                1 Fingerprint Sensor
  iSerial                 0 
  bNumConfigurations      1
  Configuration Descriptor:
    bLength                 9
    bDescriptorType         2
    wTotalLength           32
    bNumInterfaces          1
    bConfigurationValue     1
    iConfiguration          0 
    bmAttributes         0xa0
      (Bus Powered)
      Remote Wakeup
    MaxPower              100mA
    Interface Descriptor:
      bLength                 9
      bDescriptorType         4
      bInterfaceNumber        0
      bAlternateSetting       0
      bNumEndpoints           2
      bInterfaceClass       255 Vendor Specific Class
      bInterfaceSubClass    255 Vendor Specific Subclass
      bInterfaceProtocol    255 Vendor Specific Protocol
      iInterface              0 
      Endpoint Descriptor:
        bLength                 7
        bDescriptorType         5
        bEndpointAddress     0x81  EP 1 IN
        bmAttributes            2
          Transfer Type            Bulk
          Synch Type               None
          Usage Type               Data
        wMaxPacketSize     0x0020  1x 32 bytes
        bInterval               0
      Endpoint Descriptor:
        bLength                 7
        bDescriptorType         5
        bEndpointAddress     0x02  EP 2 OUT
        bmAttributes            2
          Transfer Type            Bulk
          Synch Type               None
          Usage Type               Data
        wMaxPacketSize     0x0008  1x 8 bytes
        bInterval               0
Device Status:     0x0000
  (Bus Powered)

Bus 005 Device 001: ID 0000:0000  
Device Descriptor:
  bLength                18
  bDescriptorType         1
  bcdUSB               1.10
  bDeviceClass            9 Hub
  bDeviceSubClass         0 Unused
  bDeviceProtocol         0 Full speed (or root) hub
  bMaxPacketSize0        64
  idVendor           0x0000 
  idProduct          0x0000 
  bcdDevice            2.06
  iManufacturer           3 Linux 2.6.24-etchnhalf.1-amd64 uhci_hcd
  iProduct                2 UHCI Host Controller
  iSerial                 1 0000:00:1d.0
  bNumConfigurations      1
  Configuration Descriptor:
    bLength                 9
    bDescriptorType         2
    wTotalLength           25
    bNumInterfaces          1
    bConfigurationValue     1
    iConfiguration          0 
    bmAttributes         0xe0
      Self Powered
      Remote Wakeup
    MaxPower                0mA
    Interface Descriptor:
      bLength                 9
      bDescriptorType         4
      bInterfaceNumber        0
      bAlternateSetting       0
      bNumEndpoints           1
      bInterfaceClass         9 Hub
      bInterfaceSubClass      0 Unused
      bInterfaceProtocol      0 Full speed (or root) hub
      iInterface              0 
      Endpoint Descriptor:
        bLength                 7
        bDescriptorType         5
        bEndpointAddress     0x81  EP 1 IN
        bmAttributes            3
          Transfer Type            Interrupt
          Synch Type               None
          Usage Type               Data
        wMaxPacketSize     0x0002  1x 2 bytes
        bInterval             255
Hub Descriptor:
  bLength               9
  bDescriptorType      41
  nNbrPorts             2
  wHubCharacteristic 0x000a
    No power switching (usb 1.0)
    Per-port overcurrent protection
  bPwrOn2PwrGood        1 * 2 milli seconds
  bHubContrCurrent      0 milli Ampere
  DeviceRemovable    0x00
  PortPwrCtrlMask    0xff
 Hub Port Status:
   Port 1: 0000.0100 power
   Port 2: 0000.0103 power enable connect
Device Status:     0x0003
  Self Powered
  Remote Wakeup Enabled

Bus 002 Device 001: ID 0000:0000  
Device Descriptor:
  bLength                18
  bDescriptorType         1
  bcdUSB               1.10
  bDeviceClass            9 Hub
  bDeviceSubClass         0 Unused
  bDeviceProtocol         0 Full speed (or root) hub
  bMaxPacketSize0        64
  idVendor           0x0000 
  idProduct          0x0000 
  bcdDevice            2.06
  iManufacturer           3 Linux 2.6.24-etchnhalf.1-amd64 uhci_hcd
  iProduct                2 UHCI Host Controller
  iSerial                 1 0000:00:1a.1
  bNumConfigurations      1
  Configuration Descriptor:
    bLength                 9
    bDescriptorType         2
    wTotalLength           25
    bNumInterfaces          1
    bConfigurationValue     1
    iConfiguration          0 
    bmAttributes         0xe0
      Self Powered
      Remote Wakeup
    MaxPower                0mA
    Interface Descriptor:
      bLength                 9
      bDescriptorType         4
      bInterfaceNumber        0
      bAlternateSetting       0
      bNumEndpoints           1
      bInterfaceClass         9 Hub
      bInterfaceSubClass      0 Unused
      bInterfaceProtocol      0 Full speed (or root) hub
      iInterface              0 
      Endpoint Descriptor:
        bLength                 7
        bDescriptorType         5
        bEndpointAddress     0x81  EP 1 IN
        bmAttributes            3
          Transfer Type            Interrupt
          Synch Type               None
          Usage Type               Data
        wMaxPacketSize     0x0002  1x 2 bytes
        bInterval             255
Hub Descriptor:
  bLength               9
  bDescriptorType      41
  nNbrPorts             2
  wHubCharacteristic 0x000a
    No power switching (usb 1.0)
    Per-port overcurrent protection
  bPwrOn2PwrGood        1 * 2 milli seconds
  bHubContrCurrent      0 milli Ampere
  DeviceRemovable    0x00
  PortPwrCtrlMask    0xff
 Hub Port Status:
   Port 1: 0000.0100 power
   Port 2: 0000.0100 power
Device Status:     0x0003
  Self Powered
  Remote Wakeup Enabled

Bus 001 Device 004: ID 03f0:171d Hewlett-Packard Wireless (Bluetooth + WLAN) Interface [Integrated Module]
Device Descriptor:
  bLength                18
  bDescriptorType         1
  bcdUSB               2.00
  bDeviceClass          224 Wireless
  bDeviceSubClass         1 Radio Frequency
  bDeviceProtocol         1 Bluetooth
  bMaxPacketSize0        64
  idVendor           0x03f0 Hewlett-Packard
  idProduct          0x171d Wireless (Bluetooth + WLAN) Interface [Integrated Module]
  bcdDevice            1.00
  iManufacturer           1 Broadcom Corp
  iProduct                2 HP Integrated Module
  iSerial                 0 
  bNumConfigurations      1
  Configuration Descriptor:
    bLength                 9
    bDescriptorType         2
    wTotalLength          216
    bNumInterfaces          4
    bConfigurationValue     1
    iConfiguration          0 
    bmAttributes         0xe0
      Self Powered
      Remote Wakeup
    MaxPower                0mA
    Interface Descriptor:
      bLength                 9
      bDescriptorType         4
      bInterfaceNumber        0
      bAlternateSetting       0
      bNumEndpoints           3
      bInterfaceClass       224 Wireless
      bInterfaceSubClass      1 Radio Frequency
      bInterfaceProtocol      1 Bluetooth
      iInterface              0 
      Endpoint Descriptor:
        bLength                 7
        bDescriptorType         5
        bEndpointAddress     0x81  EP 1 IN
        bmAttributes            3
          Transfer Type            Interrupt
          Synch Type               None
          Usage Type               Data
        wMaxPacketSize     0x0010  1x 16 bytes
        bInterval               1
      Endpoint Descriptor:
        bLength                 7
        bDescriptorType         5
        bEndpointAddress     0x82  EP 2 IN
        bmAttributes            2
          Transfer Type            Bulk
          Synch Type               None
          Usage Type               Data
        wMaxPacketSize     0x0040  1x 64 bytes
        bInterval               1
      Endpoint Descriptor:
        bLength                 7
        bDescriptorType         5
        bEndpointAddress     0x02  EP 2 OUT
        bmAttributes            2
          Transfer Type            Bulk
          Synch Type               None
          Usage Type               Data
        wMaxPacketSize     0x0040  1x 64 bytes
        bInterval               1
    Interface Descriptor:
      bLength                 9
      bDescriptorType         4
      bInterfaceNumber        1
      bAlternateSetting       0
      bNumEndpoints           2
      bInterfaceClass       224 Wireless
      bInterfaceSubClass      1 Radio Frequency
      bInterfaceProtocol      1 Bluetooth
      iInterface              0 
      Endpoint Descriptor:
        bLength                 7
        bDescriptorType         5
        bEndpointAddress     0x83  EP 3 IN
        bmAttributes            1
          Transfer Type            Isochronous
          Synch Type               None
          Usage Type               Data
        wMaxPacketSize     0x0000  1x 0 bytes
        bInterval               1
      Endpoint Descriptor:
        bLength                 7
        bDescriptorType         5
        bEndpointAddress     0x03  EP 3 OUT
        bmAttributes            1
          Transfer Type            Isochronous
          Synch Type               None
          Usage Type               Data
        wMaxPacketSize     0x0000  1x 0 bytes
        bInterval               1
    Interface Descriptor:
      bLength                 9
      bDescriptorType         4
      bInterfaceNumber        1
      bAlternateSetting       1
      bNumEndpoints           2
      bInterfaceClass       224 Wireless
      bInterfaceSubClass      1 Radio Frequency
      bInterfaceProtocol      1 Bluetooth
      iInterface              0 
      Endpoint Descriptor:
        bLength                 7
        bDescriptorType         5
        bEndpointAddress     0x83  EP 3 IN
        bmAttributes            1
          Transfer Type            Isochronous
          Synch Type               None
          Usage Type               Data
        wMaxPacketSize     0x0009  1x 9 bytes
        bInterval               1
      Endpoint Descriptor:
        bLength                 7
        bDescriptorType         5
        bEndpointAddress     0x03  EP 3 OUT
        bmAttributes            1
          Transfer Type            Isochronous
          Synch Type               None
          Usage Type               Data
        wMaxPacketSize     0x0009  1x 9 bytes
        bInterval               1
    Interface Descriptor:
      bLength                 9
      bDescriptorType         4
      bInterfaceNumber        1
      bAlternateSetting       2
      bNumEndpoints           2
      bInterfaceClass       224 Wireless
      bInterfaceSubClass      1 Radio Frequency
      bInterfaceProtocol      1 Bluetooth
      iInterface              0 
      Endpoint Descriptor:
        bLength                 7
        bDescriptorType         5
        bEndpointAddress     0x83  EP 3 IN
        bmAttributes            1
          Transfer Type            Isochronous
          Synch Type               None
          Usage Type               Data
        wMaxPacketSize     0x0011  1x 17 bytes
        bInterval               1
      Endpoint Descriptor:
        bLength                 7
        bDescriptorType         5
        bEndpointAddress     0x03  EP 3 OUT
        bmAttributes            1
          Transfer Type            Isochronous
          Synch Type               None
          Usage Type               Data
        wMaxPacketSize     0x0011  1x 17 bytes
        bInterval               1
    Interface Descriptor:
      bLength                 9
      bDescriptorType         4
      bInterfaceNumber        1
      bAlternateSetting       3
      bNumEndpoints           2
      bInterfaceClass       224 Wireless
      bInterfaceSubClass      1 Radio Frequency
      bInterfaceProtocol      1 Bluetooth
      iInterface              0 
      Endpoint Descriptor:
        bLength                 7
        bDescriptorType         5
        bEndpointAddress     0x83  EP 3 IN
        bmAttributes            1
          Transfer Type            Isochronous
          Synch Type               None
          Usage Type               Data
        wMaxPacketSize     0x0020  1x 32 bytes
        bInterval               1
      Endpoint Descriptor:
        bLength                 7
        bDescriptorType         5
        bEndpointAddress     0x03  EP 3 OUT
        bmAttributes            1
          Transfer Type            Isochronous
          Synch Type               None
          Usage Type               Data
        wMaxPacketSize     0x0020  1x 32 bytes
        bInterval               1
    Interface Descriptor:
      bLength                 9
      bDescriptorType         4
      bInterfaceNumber        1
      bAlternateSetting       4
      bNumEndpoints           2
      bInterfaceClass       224 Wireless
      bInterfaceSubClass      1 Radio Frequency
      bInterfaceProtocol      1 Bluetooth
      iInterface              0 
      Endpoint Descriptor:
        bLength                 7
        bDescriptorType         5
        bEndpointAddress     0x83  EP 3 IN
        bmAttributes            1
          Transfer Type            Isochronous
          Synch Type               None
          Usage Type               Data
        wMaxPacketSize     0x0040  1x 64 bytes
        bInterval               1
      Endpoint Descriptor:
        bLength                 7
        bDescriptorType         5
        bEndpointAddress     0x03  EP 3 OUT
        bmAttributes            1
          Transfer Type            Isochronous
          Synch Type               None
          Usage Type               Data
        wMaxPacketSize     0x0040  1x 64 bytes
        bInterval               1
    Interface Descriptor:
      bLength                 9
      bDescriptorType         4
      bInterfaceNumber        1
      bAlternateSetting       5
      bNumEndpoints           2
      bInterfaceClass       224 Wireless
      bInterfaceSubClass      1 Radio Frequency
      bInterfaceProtocol      1 Bluetooth
      iInterface              0 
      Endpoint Descriptor:
        bLength                 7
        bDescriptorType         5
        bEndpointAddress     0x83  EP 3 IN
        bmAttributes            1
          Transfer Type            Isochronous
          Synch Type               None
          Usage Type               Data
        wMaxPacketSize     0x0040  1x 64 bytes
        bInterval               1
      Endpoint Descriptor:
        bLength                 7
        bDescriptorType         5
        bEndpointAddress     0x03  EP 3 OUT
        bmAttributes            1
          Transfer Type            Isochronous
          Synch Type               None
          Usage Type               Data
        wMaxPacketSize     0x0040  1x 64 bytes
        bInterval               1
    Interface Descriptor:
      bLength                 9
      bDescriptorType         4
      bInterfaceNumber        2
      bAlternateSetting       0
      bNumEndpoints           2
      bInterfaceClass       255 Vendor Specific Class
      bInterfaceSubClass    255 Vendor Specific Subclass
      bInterfaceProtocol    255 Vendor Specific Protocol
      iInterface              0 
      Endpoint Descriptor:
        bLength                 7
        bDescriptorType         5
        bEndpointAddress     0x84  EP 4 IN
        bmAttributes            2
          Transfer Type            Bulk
          Synch Type               None
          Usage Type               Data
        wMaxPacketSize     0x0020  1x 32 bytes
        bInterval               1
      Endpoint Descriptor:
        bLength                 7
        bDescriptorType         5
        bEndpointAddress     0x04  EP 4 OUT
        bmAttributes            2
          Transfer Type            Bulk
          Synch Type               None
          Usage Type               Data
        wMaxPacketSize     0x0020  1x 32 bytes
        bInterval               1
    Interface Descriptor:
      bLength                 9
      bDescriptorType         4
      bInterfaceNumber        3
      bAlternateSetting       0
      bNumEndpoints           0
      bInterfaceClass       254 Application Specific Interface
      bInterfaceSubClass      1 Device Firmware Update
      bInterfaceProtocol      0 
      iInterface              0 
      ** UNRECOGNIZED:  07 21 07 88 13 40 00
Device Status:     0x0001
  Self Powered

Bus 001 Device 001: ID 0000:0000  
Device Descriptor:
  bLength                18
  bDescriptorType         1
  bcdUSB               1.10
  bDeviceClass            9 Hub
  bDeviceSubClass         0 Unused
  bDeviceProtocol         0 Full speed (or root) hub
  bMaxPacketSize0        64
  idVendor           0x0000 
  idProduct          0x0000 
  bcdDevice            2.06
  iManufacturer           3 Linux 2.6.24-etchnhalf.1-amd64 uhci_hcd
  iProduct                2 UHCI Host Controller
  iSerial                 1 0000:00:1a.0
  bNumConfigurations      1
  Configuration Descriptor:
    bLength                 9
    bDescriptorType         2
    wTotalLength           25
    bNumInterfaces          1
    bConfigurationValue     1
    iConfiguration          0 
    bmAttributes         0xe0
      Self Powered
      Remote Wakeup
    MaxPower                0mA
    Interface Descriptor:
      bLength                 9
      bDescriptorType         4
      bInterfaceNumber        0
      bAlternateSetting       0
      bNumEndpoints           1
      bInterfaceClass         9 Hub
      bInterfaceSubClass      0 Unused
      bInterfaceProtocol      0 Full speed (or root) hub
      iInterface              0 
      Endpoint Descriptor:
        bLength                 7
        bDescriptorType         5
        bEndpointAddress     0x81  EP 1 IN
        bmAttributes            3
          Transfer Type            Interrupt
          Synch Type               None
          Usage Type               Data
        wMaxPacketSize     0x0002  1x 2 bytes
        bInterval             255
Hub Descriptor:
  bLength               9
  bDescriptorType      41
  nNbrPorts             2
  wHubCharacteristic 0x000a
    No power switching (usb 1.0)
    Per-port overcurrent protection
  bPwrOn2PwrGood        1 * 2 milli seconds
  bHubContrCurrent      0 milli Ampere
  DeviceRemovable    0x00
  PortPwrCtrlMask    0xff
 Hub Port Status:
   Port 1: 0000.0103 power enable connect
   Port 2: 0000.0100 power
Device Status:     0x0003
  Self Powered
  Remote Wakeup Enabled
</description>
    <dc:creator>Tyson Whitehead</dc:creator>
    <dc:date>2008-12-01T15:38:27</dc:date>
  </item>
  <item rdf:about="http://permalink.gmane.org/gmane.linux.usb.general/12459">
    <title>[PATCH] USB: skip Set-Interface(0) if already in altsetting 0</title>
    <link>http://permalink.gmane.org/gmane.linux.usb.general/12459</link>
    <description>When a driver unbinds from an interface, usbcore always sends a
Set-Interface request to reinstall altsetting 0.  Unforunately, quite
a few devices have buggy firmware that crashes when it receives this
request.

To avoid such problems, this patch (as1180) arranges to send the
Set-Interface request only when the interface is not already in
altsetting 0.

Signed-off-by: Alan Stern &lt;stern-nwvwT67g6+6dFdvTe/nMLpVzexx5G7lz&lt; at &gt;public.gmane.org&gt;

---

Index: usb-2.6/drivers/usb/core/driver.c
===================================================================
--- usb-2.6.orig/drivers/usb/core/driver.c
+++ usb-2.6/drivers/usb/core/driver.c
&lt; at &gt;&lt; at &gt; -295,7 +295,9 &lt; at &gt;&lt; at &gt; static int usb_unbind_interface(struct d
  * altsetting means creating new endpoint device entries).
  * When either of these happens, defer the Set-Interface.
  */
-if (!error &amp;&amp; intf-&gt;dev.power.status == DPM_ON)
+if (intf-&gt;cur_altsetting-&gt;desc.bAlternateSetting == 0)
+;/* Already in altsetting 0 so skip Set-Interface */
+else if (!error &amp;&amp; intf-&gt;dev.power.status == DPM_ON)
 usb_set_interface(udev, intf-&gt;altsetting[0].
 desc.bInterfaceNumber, 0);
 else

--
To unsubscribe from this list: send the line "unsubscribe linux-usb" in
the body of a message to majordomo-u79uwXL29TY76Z2rM5mHXA&lt; at &gt;public.gmane.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html

</description>
    <dc:creator>Alan Stern</dc:creator>
    <dc:date>2008-12-01T15:24:41</dc:date>
  </item>
  <item rdf:about="http://permalink.gmane.org/gmane.linux.usb.general/12458">
    <title>[PATCH] USB: fix comment about endianness of descriptors</title>
    <link>http://permalink.gmane.org/gmane.linux.usb.general/12458</link>
    <description>From: Phil Endecott &lt;usb_endian_patch-wZDNlLIRyE5g9hUCZPvPmw&lt; at &gt;public.gmane.org&gt;

This patch fixes a comment and clarifies the documentation about the 
endianness of descriptors. The current policy is that descriptors 
will be little-endian at the API even on big-endian systems; however 
the /proc/bus/usb API predates this policy and presents descriptors 
with some multibyte fields byte-swapped.

Signed-off-by: Phil Endecott &lt;usb_endian_patch-wZDNlLIRyE5g9hUCZPvPmw&lt; at &gt;public.gmane.org&gt;
Signed-off-by: Alan Stern &lt;stern-nwvwT67g6+6dFdvTe/nMLpVzexx5G7lz&lt; at &gt;public.gmane.org&gt;

---

Index: usb-2.6/Documentation/usb/proc_usb_info.txt
===================================================================
--- usb-2.6.orig/Documentation/usb/proc_usb_info.txt
+++ usb-2.6/Documentation/usb/proc_usb_info.txt
&lt; at &gt;&lt; at &gt; -49,8 +49,10 &lt; at &gt;&lt; at &gt; it and 002/048 sometime later.
 
 These files can be read as binary data.  The binary data consists
 of first the device descriptor, then the descriptors for each
-configuration of the device.  That information is also shown in
-text form by the /proc/bus/usb/devices file, described later.
+configuration of the device.  Multi-byte fields in the device and
+configuration descriptors, but not other descriptors, are converted
+to host endianness by the kernel.  This information is also shown
+in text form by the /proc/bus/usb/devices file, described later.
 
 These files may also be used to write user-level drivers for the USB
 devices.  You would open the /proc/bus/usb/BBB/DDD file read/write,
Index: usb-2.6/include/linux/usb/ch9.h
===================================================================
--- usb-2.6.orig/include/linux/usb/ch9.h
+++ usb-2.6/include/linux/usb/ch9.h
&lt; at &gt;&lt; at &gt; -158,8 +158,12 &lt; at &gt;&lt; at &gt; struct usb_ctrlrequest {
  * (rarely) accepted by SET_DESCRIPTOR.
  *
  * Note that all multi-byte values here are encoded in little endian
- * byte order "on the wire".  But when exposed through Linux-USB APIs,
- * they've been converted to cpu byte order.
+ * byte order "on the wire".  Within the kernel and when exposed
+ * through the Linux-USB APIs, they are not converted to cpu byte
+ * order; it is the responsibility of the client code to do this.
+ * The single exception is when device and configuration descriptors (but
+ * not other descriptors) are read from usbfs (i.e. /proc/bus/usb/BBB/DDD);
+ * in this case the fields are converted to host endianness by the kernel.
  */
 
 /*

--
To unsubscribe from this list: send the line "unsubscribe linux-usb" in
the body of a message to majordomo-u79uwXL29TY76Z2rM5mHXA&lt; at &gt;public.gmane.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html

</description>
    <dc:creator>Alan Stern</dc:creator>
    <dc:date>2008-12-01T15:22:33</dc:date>
  </item>
  <item rdf:about="http://permalink.gmane.org/gmane.linux.usb.general/12457">
    <title>Re: [PATCH] gadget: Add support for OTG controller on i.MX31 SoCs in device mode</title>
    <link>http://permalink.gmane.org/gmane.linux.usb.general/12457</link>
    <description>On Mon, Dec 1, 2008 at 7:41 PM, Dmitry Krivoschekov
&lt;dmitry.krivoschekov-Re5JQEeQqe8AvxtiuMwx3w&lt; at &gt;public.gmane.org&gt; wrote:

But all current in-tree users of this driver are all Freescale
silicons.  We can't prove it's working for chips from other vendors
unless they say so.  When they do it's a good time to change it to a
more general name.

- Leo
--
To unsubscribe from this list: send the line "unsubscribe linux-usb" in
the body of a message to majordomo-u79uwXL29TY76Z2rM5mHXA&lt; at &gt;public.gmane.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html

</description>
    <dc:creator>Li Yang</dc:creator>
    <dc:date>2008-12-01T11:59:22</dc:date>
  </item>
  <item rdf:about="http://permalink.gmane.org/gmane.linux.usb.general/12456">
    <title>Re: [PATCH] gadget: Add support for OTG controller on i.MX31 SoCs in device mode</title>
    <link>http://permalink.gmane.org/gmane.linux.usb.general/12456</link>
    <description>I think the names "fsl_usb2_udc.c" and "ehci-fsl.c" are a bit misleading.
It's better to have a common recognizable name for the ARC IP.

As an example, there is a musb driver for Mentor USB IP core which is
shared between
ARM (OMAP) and Blackfin archs.


Dmitry

--
To unsubscribe from this list: send the line "unsubscribe linux-usb" in
the body of a message to majordomo-u79uwXL29TY76Z2rM5mHXA&lt; at &gt;public.gmane.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html

</description>
    <dc:creator>Dmitry Krivoschekov</dc:creator>
    <dc:date>2008-12-01T11:41:30</dc:date>
  </item>
  <item rdf:about="http://permalink.gmane.org/gmane.linux.usb.general/12455">
    <title>Re: [PATCH] gadget: Add support for OTG controller on i.MX31 SoCs in device mode</title>
    <link>http://permalink.gmane.org/gmane.linux.usb.general/12455</link>
    <description>
I cc'ed the maintainer of the iMX31 driver in Freescale.  He could be
a better person to answer this question.

- Leo
--
To unsubscribe from this list: send the line "unsubscribe linux-usb" in
the body of a message to majordomo-u79uwXL29TY76Z2rM5mHXA&lt; at &gt;public.gmane.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html

</description>
    <dc:creator>Li Yang</dc:creator>
    <dc:date>2008-12-01T11:39:37</dc:date>
  </item>
  <item rdf:about="http://permalink.gmane.org/gmane.linux.usb.general/12454">
    <title>Re: [PATCH] gadget: Add support for OTG controller on i.MX31 SoCs in device mode</title>
    <link>http://permalink.gmane.org/gmane.linux.usb.general/12454</link>
    <description>
I think that the i.MX31 udc code was forked from the fsl_usb2_udc
driver.  We didn't merge the two drivers because we only need to
support one board in one BSP.  And also the powerpc BSP and ARM BSP
are maintained by different teams.  It will be great if you can merge
the changes for i.MX31 back to the fsl_usb2_udc driver.

- Leo
--
To unsubscribe from this list: send the line "unsubscribe linux-usb" in
the body of a message to majordomo-u79uwXL29TY76Z2rM5mHXA&lt; at &gt;public.gmane.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html

</description>
    <dc:creator>Li Yang</dc:creator>
    <dc:date>2008-12-01T11:32:18</dc:date>
  </item>
  <item rdf:about="http://permalink.gmane.org/gmane.linux.usb.general/12453">
    <title>Re: [PATCH] gadget: Add support for OTG controller on i.MX31 SoCs in device mode</title>
    <link>http://permalink.gmane.org/gmane.linux.usb.general/12453</link>
    <description>

Do you know then why a separate arcotg driver has been created in the 
Freescale git tree?

Thanks
Guennadi
---
Guennadi Liakhovetski, Ph.D.

DENX Software Engineering GmbH,     MD: Wolfgang Denk &amp; Detlev Zundel
HRB 165235 Munich, Office: Kirchenstr.5, D-82194 Groebenzell, Germany
Phone: +49-8142-66989-0 Fax: +49-8142-66989-80  Email: office-ynQEQJNshbs&lt; at &gt;public.gmane.org
--
To unsubscribe from this list: send the line "unsubscribe linux-usb" in
the body of a message to majordomo-u79uwXL29TY76Z2rM5mHXA&lt; at &gt;public.gmane.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html

</description>
    <dc:creator>Guennadi Liakhovetski</dc:creator>
    <dc:date>2008-12-01T11:26:53</dc:date>
  </item>
  <item rdf:about="http://permalink.gmane.org/gmane.linux.usb.general/12452">
    <title>Re: [PATCH] gadget: Add support for OTG controller on i.MX31 SoCs in device mode</title>
    <link>http://permalink.gmane.org/gmane.linux.usb.general/12452</link>
    <description>On Mon, Dec 1, 2008 at 7:03 PM, Dmitry Krivoschekov
&lt;dmitry.krivoschekov-Re5JQEeQqe8AvxtiuMwx3w&lt; at &gt;public.gmane.org&gt; wrote:

Yes, they use the same controller with minor tweaks.  The fsl_usb2_udc
driver was designed with portability in mind.  It can be easily
modified to use on iMX31 and other Freescale SoCs.  It can even be
used on SoCs from other silicon vendors using the same ARC IP core.  I
agree we should reuse that code.

- Leo
--
To unsubscribe from this list: send the line "unsubscribe linux-usb" in
the body of a message to majordomo-u79uwXL29TY76Z2rM5mHXA&lt; at &gt;public.gmane.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html

</description>
    <dc:creator>Li Yang</dc:creator>
    <dc:date>2008-12-01T11:20:25</dc:date>
  </item>
  <item rdf:about="http://permalink.gmane.org/gmane.linux.usb.general/12451">
    <title>Re: [PATCH] gadget: Add support for OTG controller on i.MX31 SoCs in device mode</title>
    <link>http://permalink.gmane.org/gmane.linux.usb.general/12451</link>
    <description>

I didn't check the fsl_usb2_udc.c driver or respective datasheets for 
compatibility with i.MX31, the reason I started a new driver was simple - 
because that's what is done in Freescale tree, so, I guess, they wouldn't 
have done that if the fsl_usb2_udc.c driver could be re-used.


Thanks
Guennadi
---
Guennadi Liakhovetski, Ph.D.

DENX Software Engineering GmbH,     MD: Wolfgang Denk &amp; Detlev Zundel
HRB 165235 Munich, Office: Kirchenstr.5, D-82194 Groebenzell, Germany
Phone: +49-8142-66989-0 Fax: +49-8142-66989-80  Email: office-ynQEQJNshbs&lt; at &gt;public.gmane.org
--
To unsubscribe from this list: send the line "unsubscribe linux-usb" in
the body of a message to majordomo-u79uwXL29TY76Z2rM5mHXA&lt; at &gt;public.gmane.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html

</description>
    <dc:creator>Guennadi Liakhovetski</dc:creator>
    <dc:date>2008-12-01T11:16:45</dc:date>
  </item>
  <item rdf:about="http://permalink.gmane.org/gmane.linux.usb.general/12450">
    <title>Re: [PATCH] gadget: Add support for OTG controller on i.MX31 SoCs in device mode</title>
    <link>http://permalink.gmane.org/gmane.linux.usb.general/12450</link>
    <description>Hi,

IIRC, Freescale uses(d) the same ARC OTG IP core for theirs both PPC and
ARM i.MX chip families. I remember seeing old Freescale's BSP where this
driver had something like "#ifdef ARM" or "ifdef" PPC, i.e. it was
supposed to build for different archs. So I wonder if existing
fsl_usb2_udc.c driver is a successor of that old driver? Or, in other
words, if  MPC8349E/MPC8313E cpus have the same USB IP core as iMX.31
has? If so, it's better to re-use already existing code.

Guennadi Liakhovetski wrote:
I'm adding author of original Freescale's driver to CC-list, he might
have comments regarding your version of the driver and also can clarify
the issue above, I guess.


Dmitry


--
To unsubscribe from this list: send the line "unsubscribe linux-usb" in
the body of a message to majordomo-u79uwXL29TY76Z2rM5mHXA&lt; at &gt;public.gmane.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html

</description>
    <dc:creator>Dmitry Krivoschekov</dc:creator>
    <dc:date>2008-12-01T11:03:37</dc:date>
  </item>
  <item rdf:about="http://permalink.gmane.org/gmane.linux.usb.general/12449">
    <title>[PATCH] usb/isp1760: Fix probe in PCI glue code</title>
    <link>http://permalink.gmane.org/gmane.linux.usb.general/12449</link>
    <description>From: Karl Bongers &lt;kbongers-wFMhOh20Q84&lt; at &gt;public.gmane.org&gt;

Contains fixes so probe on x86 PCI runs, apparently I'm first to try
this. Several fixes to memory access to probe host scratch register.
Previously would bug check on chip_addr var used uninitialized.
Scratch reg write failed in one instance due to 16-bit initial access
mode, so added "&amp; 0x0000ffff" to the readl as fix.
Includes some general cleanup - remove global vars, organize memory map
resource use.

Cc: stable-DgEjT+Ai2ygdnm+yROfE0A&lt; at &gt;public.gmane.org
Signed-off-by: Karl Bongers &lt;kbongers-wFMhOh20Q84&lt; at &gt;public.gmane.org&gt;
Signed-off-by: Sebastian Andrzej Siewior &lt;bigeasy-hfZtesqFncYOwBW4kG4KsQ&lt; at &gt;public.gmane.org&gt;
---
 drivers/usb/host/isp1760-if.c |   97 +++++++++++++++++++++++------------------
 1 files changed, 55 insertions(+), 42 deletions(-)

diff --git a/drivers/usb/host/isp1760-if.c b/drivers/usb/host/isp1760-if.c
index b87ca7c..f7be4aa 100644
--- a/drivers/usb/host/isp1760-if.c
+++ b/drivers/usb/host/isp1760-if.c
&lt; at &gt;&lt; at &gt; -129,23 +129,23 &lt; at &gt;&lt; at &gt; static struct of_platform_driver isp1760_of_driver = {
 #endif
 
 #ifdef CONFIG_PCI
-static u32 nxp_pci_io_base;
-static u32 iolength;
-static u32 pci_mem_phy0;
-static u32 length;
-static u8 __iomem *chip_addr;
-static u8 __iomem *iobase;
-
 static int __devinit isp1761_pci_probe(struct pci_dev *dev,
 const struct pci_device_id *id)
 {
 u8 latency, limit;
 __u32 reg_data;
 int retry_count;
-int length;
-int status = 1;
 struct usb_hcd *hcd;
 unsigned int devflags = 0;
+int ret_status = 0;
+
+resource_size_t pci_mem_phy0;
+resource_size_t memlength;
+
+u8 __iomem *chip_addr;
+u8 __iomem *iobase;
+resource_size_t nxp_pci_io_base;
+resource_size_t iolength;
 
 if (usb_disabled())
 return -ENODEV;
&lt; at &gt;&lt; at &gt; -168,26 +168,30 &lt; at &gt;&lt; at &gt; static int __devinit isp1761_pci_probe(struct pci_dev *dev,
 iobase = ioremap_nocache(nxp_pci_io_base, iolength);
 if (!iobase) {
 printk(KERN_ERR "ioremap #1\n");
-release_mem_region(nxp_pci_io_base, iolength);
-return -ENOMEM;
+ret_status = -ENOMEM;
+goto cleanup1;
 }
 /* Grab the PLX PCI shared memory of the ISP 1761 we need  */
 pci_mem_phy0 = pci_resource_start(dev, 3);
-length = pci_resource_len(dev, 3);
-
-if (length &lt; 0xffff) {
-printk(KERN_ERR "memory length for this resource is less than "
-"required\n");
-release_mem_region(nxp_pci_io_base, iolength);
-iounmap(iobase);
-return  -ENOMEM;
+memlength = pci_resource_len(dev, 3);
+if (memlength &lt; 0xffff) {
+printk(KERN_ERR "memory length for this resource is wrong\n");
+ret_status = -ENOMEM;
+goto cleanup2;
 }
 
-if (!request_mem_region(pci_mem_phy0, length, "ISP-PCI")) {
+if (!request_mem_region(pci_mem_phy0, memlength, "ISP-PCI")) {
 printk(KERN_ERR "host controller already in use\n");
-release_mem_region(nxp_pci_io_base, iolength);
-iounmap(iobase);
-return -EBUSY;
+ret_status = -EBUSY;
+goto cleanup2;
+}
+
+/* map available memory */
+chip_addr = ioremap_nocache(pci_mem_phy0,memlength);
+if (!chip_addr) {
+printk(KERN_ERR "Error ioremap failed\n");
+ret_status = -ENOMEM;
+goto cleanup3;
 }
 
 /* bad pci latencies can contribute to overruns */
&lt; at &gt;&lt; at &gt; -210,39 +214,54 &lt; at &gt;&lt; at &gt; static int __devinit isp1761_pci_probe(struct pci_dev *dev,
  * */
 writel(0xface, chip_addr + HC_SCRATCH_REG);
 udelay(100);
-reg_data = readl(chip_addr + HC_SCRATCH_REG);
+reg_data = readl(chip_addr + HC_SCRATCH_REG) &amp; 0x0000ffff;
 retry_count--;
 }
 
+iounmap(chip_addr);
+
 /* Host Controller presence is detected by writing to scratch register
  * and reading back and checking the contents are same or not
  */
 if (reg_data != 0xFACE) {
 dev_err(&amp;dev-&gt;dev, "scratch register mismatch %x\n", reg_data);
-goto clean;
+ret_status = -ENOMEM;
+goto cleanup3;
 }
 
 pci_set_master(dev);
 
-status = readl(iobase + 0x68);
-status |= 0x900;
-writel(status, iobase + 0x68);
+/* configure PLX PCI chip to pass interrupts */
+#define PLX_INT_CSR_REG 0x68
+reg_data = readl(iobase + PLX_INT_CSR_REG);
+reg_data |= 0x900;
+writel(reg_data, iobase + PLX_INT_CSR_REG);
 
 dev-&gt;dev.dma_mask = NULL;
-hcd = isp1760_register(pci_mem_phy0, length, dev-&gt;irq,
+hcd = isp1760_register(pci_mem_phy0, memlength, dev-&gt;irq,
 IRQF_SHARED | IRQF_DISABLED, &amp;dev-&gt;dev, dev_name(&amp;dev-&gt;dev),
 devflags);
-if (!IS_ERR(hcd)) {
-pci_set_drvdata(dev, hcd);
-return 0;
+if (IS_ERR(hcd)) {
+ret_status = -ENODEV;
+goto cleanup3;
 }
-clean:
-status = -ENODEV;
+
+/* done with PLX IO access */
 iounmap(iobase);
-release_mem_region(pci_mem_phy0, length);
 release_mem_region(nxp_pci_io_base, iolength);
-return status;
+
+pci_set_drvdata(dev, hcd);
+return 0;
+
+cleanup3:
+release_mem_region(pci_mem_phy0, memlength);
+cleanup2:
+iounmap(iobase);
+cleanup1:
+release_mem_region(nxp_pci_io_base, iolength);
+return ret_status;
 }
+
 static void isp1761_pci_remove(struct pci_dev *dev)
 {
 struct usb_hcd *hcd;
&lt; at &gt;&lt; at &gt; -255,12 +274,6 &lt; at &gt;&lt; at &gt; static void isp1761_pci_remove(struct pci_dev *dev)
 usb_put_hcd(hcd);
 
 pci_disable_device(dev);
-
-iounmap(iobase);
-iounmap(chip_addr);
</description>
    <dc:creator>Sebastian Andrzej Siewior</dc:creator>
    <dc:date>2008-12-01T10:47:40</dc:date>
  </item>
  <textinput rdf:about="http://search.gmane.org/?group=$group=gmane.linux.usb.general">
    <title>Search Engine</title>
    <description>Search the mailing list at Gmane</description>
    <name>query</name>
    <link>http://search.gmane.org/?group=$group=gmane.linux.usb.general</link>
  </textinput>
</rdf:RDF>
