USB: add runtime frame_no quirk for big-endian OHCI
authorValentine Barshak <vbarshak@ru.mvista.com>
Tue, 9 Oct 2007 22:00:05 +0000 (15:00 -0700)
committerGreg Kroah-Hartman <gregkh@suse.de>
Fri, 12 Oct 2007 21:55:32 +0000 (14:55 -0700)
commit4f45426cfd6170311e116442ccd8ce0e31979237
treed62325f3cf5261230f7d4423603665c9b5adbc01
parentf621b8437d6ae502dde45797f56407e48c7a68b4
USB: add runtime frame_no quirk for big-endian OHCI

Add OHCI big endian frame_no quirk.  The frame_no value stored in the
HCCA is a 16 bit field at a specific offset, but since not all CPUs can
do 16-bit memory accesses it's used as a 32 bit field.  And that's why
big-endian OHCI must shift 16 bits ... unless the spec is not followed.

Currently there's one MPC52xx platform that doesn't need the shift. This
patch adds a new "big endian frame_no" quirk to control that at runtime.

Signed-off-by: Valentine Barshak <vbarshak@ru.mvista.com>
Acked-by: Dale Farnsworth <dale@farnsworth.org>
Signed-off-by: David Brownell <dbrownell@users.sourceforge.net>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
drivers/usb/host/ohci-ppc-of.c
drivers/usb/host/ohci-ppc-soc.c
drivers/usb/host/ohci.h