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

[cdi-devel] [PATCH v4 0/4] USB support



The changes from v3 to v4 have not been tested, because it's more fun
this way.


v4:
- Less patches, because some have already been applied
- Patch 1:
  - Added cdi_usb_device_osdep
  - Added start_transaction() to cdi_usb_hcd
- Patch 2:
  - Replace fprintf(stderr, ...) by printf(...)
  - Rename retire_qtd() to retire_first_qtd() and take a QH instead of a
    qTD
  - Never call enter_qh() on QH that may currently be processed by the
    HC
  - Subsequently, do not call enter_async_qh() from
    ehci_create_transaction() (invoked by ehci_enqueue())
  - Implement ehci_start_transaction()
- Patch 3:
  - Replace fprintf(stderr, ...) by printf(...)
  - Call start_transaction() where necessary
  - Never try to assign addresses greater than 127 (fail instead)
  - Fix calloc() call
  - Explain why there are two reset calls in new_hub()
  - Clean up the USB hub driver by pulling out functions like
    SetPortFeature() (as hub_set_port_feature())
- Patch 4:
  - Copy cdi_usb_device instead of keeping the reference
  - Fix the bulk_in vs. bulk_out stuff
  - Use integers for the device names instead of characters (e.g. "msd0"
    instead of "msda")


git-backport-diff against v3:

Key:
[----] : patches are identical
[####] : number of functional differences between upstream/downstream patch
[down] : patch is downstream-only
The flags [FC] indicate (F)unctional and (C)ontextual differences, respectively

001/4:[0041] [FC] 'cdi/usb: Add headers'
002/4:[0056] [FC] 'ehci: Add EHCI driver'
003/4:[0172] [FC] 'usb: Add USB 2.0 bus driver'
004/4:[0035] [FC] 'usb-storage: Add USB mass storage driver'


Max Reitz (4):
  cdi/usb: Add headers
  ehci: Add EHCI driver
  usb: Add USB 2.0 bus driver
  usb-storage: Add USB mass storage driver

 ehci/ehci.c                  | 640 +++++++++++++++++++++++++++++++
 ehci/ehci.h                  | 292 ++++++++++++++
 ehci/main.c                  |  69 ++++
 include/cdi-osdep.h          |  21 +
 include/cdi/usb-structures.h | 174 +++++++++
 include/cdi/usb.h            | 211 ++++++++++
 include/cdi/usb_hcd.h        | 168 ++++++++
 usb-storage/main.c           |  76 ++++
 usb-storage/usb-storage.c    | 217 +++++++++++
 usb-storage/usb-storage.h    |  60 +++
 usb/main.c                   |  61 +++
 usb/usb-hubs.h               |  78 ++++
 usb/usb.c                    | 893 +++++++++++++++++++++++++++++++++++++++++++
 usb/usb.h                    |  86 +++++
 14 files changed, 3046 insertions(+)
 create mode 100644 ehci/ehci.c
 create mode 100644 ehci/ehci.h
 create mode 100644 ehci/main.c
 create mode 100644 include/cdi/usb-structures.h
 create mode 100644 include/cdi/usb.h
 create mode 100644 include/cdi/usb_hcd.h
 create mode 100644 usb-storage/main.c
 create mode 100644 usb-storage/usb-storage.c
 create mode 100644 usb-storage/usb-storage.h
 create mode 100644 usb/main.c
 create mode 100644 usb/usb-hubs.h
 create mode 100644 usb/usb.c
 create mode 100644 usb/usb.h

-- 
2.6.3