• Stefan Roese's avatar
    USB: EHCI support for big-endian descriptors · 6dbd682b
    Stefan Roese authored
    This patch implements supports for EHCI controllers whose in-memory
    data structures are represented in big-endian format. This is needed
    (unfortunately) for the AMCC PPC440EPx SoC EHCI controller; the EHCI
    spec doesn't specify little-endian format, although that's what most
    other implementations use.
    
    The guts of the patch are to introduce the hc32 type and change all
    references from le32 to hc32.  All access routines are converted from
    cpu_to_le32(...) to cpu_to_hc32(ehci, ...) and similar for the other
    "direction".  (This is the same approach used with OHCI.)
    
    David fixed:
    	Whitespace fixes; refresh against ehci cpufreq patch; move glue
    	for that PPC driver to the patch adding it; fix free symbol
    	capture bugs in modified "constant" macros; and make "hc32" etc
    	be "le32" unless we really need the BE options, so "sparse" can
    	do some real good.
    Signed-off-by: default avatarStefan Roese <sr@denx.de>
    Signed-off-by: default avatarDavid Brownell <dbrownell@users.sourceforge.net>
    Signed-off-by: default avatarGreg Kroah-Hartman <gregkh@suse.de>
    
    6dbd682b
ehci.h 26.1 KB