Commit da96cfc1 authored by Ben Hutchings's avatar Ben Hutchings Committed by Felipe Balbi

usb: musb: fix order of conditions for assigning end point operations

Currently we always assign one of the two common implementations of
ep_offset and ep_select operations, overwriting any platform-specific
implementations.

Fixes: d026e9c7 ("usb: musb: Change end point selection to use ...")
Signed-off-by: default avatarBen Hutchings <ben@decadent.org.uk>
Signed-off-by: default avatarFelipe Balbi <balbi@ti.com>
parent ca4de53c
...@@ -2021,13 +2021,7 @@ musb_init_controller(struct device *dev, int nIrq, void __iomem *ctrl) ...@@ -2021,13 +2021,7 @@ musb_init_controller(struct device *dev, int nIrq, void __iomem *ctrl)
if (musb->ops->quirks) if (musb->ops->quirks)
musb->io.quirks = musb->ops->quirks; musb->io.quirks = musb->ops->quirks;
/* At least tusb6010 has it's own offsets.. */ /* Most devices use indexed offset or flat offset */
if (musb->ops->ep_offset)
musb->io.ep_offset = musb->ops->ep_offset;
if (musb->ops->ep_select)
musb->io.ep_select = musb->ops->ep_select;
/* ..and some devices use indexed offset or flat offset */
if (musb->io.quirks & MUSB_INDEXED_EP) { if (musb->io.quirks & MUSB_INDEXED_EP) {
musb->io.ep_offset = musb_indexed_ep_offset; musb->io.ep_offset = musb_indexed_ep_offset;
musb->io.ep_select = musb_indexed_ep_select; musb->io.ep_select = musb_indexed_ep_select;
...@@ -2036,6 +2030,12 @@ musb_init_controller(struct device *dev, int nIrq, void __iomem *ctrl) ...@@ -2036,6 +2030,12 @@ musb_init_controller(struct device *dev, int nIrq, void __iomem *ctrl)
musb->io.ep_select = musb_flat_ep_select; musb->io.ep_select = musb_flat_ep_select;
} }
/* At least tusb6010 has its own offsets */
if (musb->ops->ep_offset)
musb->io.ep_offset = musb->ops->ep_offset;
if (musb->ops->ep_select)
musb->io.ep_select = musb->ops->ep_select;
if (musb->ops->fifo_mode) if (musb->ops->fifo_mode)
fifo_mode = musb->ops->fifo_mode; fifo_mode = musb->ops->fifo_mode;
else else
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment