usb: musb: remove duplicated quirks flag
Both musb_io and musb_platform_ops in struct musb define a quirks flag for the same purpose. Let's remove the one in struct musb_io, and use that in struct musb_platform_ops instead. Signed-off-by: Bin Liu <b-liu@ti.com> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
This commit is contained in:
Родитель
113ad151cf
Коммит
dc8fca6c68
|
@ -1493,7 +1493,7 @@ static int musb_core_init(u16 musb_type, struct musb *musb)
|
|||
|
||||
hw_ep->fifo = musb->io.fifo_offset(i) + mbase;
|
||||
#if IS_ENABLED(CONFIG_USB_MUSB_TUSB6010)
|
||||
if (musb->io.quirks & MUSB_IN_TUSB) {
|
||||
if (musb->ops->quirks & MUSB_IN_TUSB) {
|
||||
hw_ep->fifo_async = musb->async + 0x400 +
|
||||
musb->io.fifo_offset(i);
|
||||
hw_ep->fifo_sync = musb->sync + 0x400 +
|
||||
|
@ -2176,11 +2176,9 @@ musb_init_controller(struct device *dev, int nIrq, void __iomem *ctrl)
|
|||
goto fail2;
|
||||
}
|
||||
|
||||
if (musb->ops->quirks)
|
||||
musb->io.quirks = musb->ops->quirks;
|
||||
|
||||
/* Most devices use indexed offset or flat offset */
|
||||
if (musb->io.quirks & MUSB_INDEXED_EP) {
|
||||
if (musb->ops->quirks & MUSB_INDEXED_EP) {
|
||||
musb->io.ep_offset = musb_indexed_ep_offset;
|
||||
musb->io.ep_select = musb_indexed_ep_select;
|
||||
} else {
|
||||
|
@ -2188,7 +2186,7 @@ musb_init_controller(struct device *dev, int nIrq, void __iomem *ctrl)
|
|||
musb->io.ep_select = musb_flat_ep_select;
|
||||
}
|
||||
|
||||
if (musb->io.quirks & MUSB_G_NO_SKB_RESERVE)
|
||||
if (musb->ops->quirks & MUSB_G_NO_SKB_RESERVE)
|
||||
musb->g.quirk_avoids_skb_reserve = 1;
|
||||
|
||||
/* At least tusb6010 has its own offsets */
|
||||
|
@ -2647,7 +2645,7 @@ static int musb_suspend(struct device *dev)
|
|||
;
|
||||
musb->flush_irq_work = false;
|
||||
|
||||
if (!(musb->io.quirks & MUSB_PRESERVE_SESSION))
|
||||
if (!(musb->ops->quirks & MUSB_PRESERVE_SESSION))
|
||||
musb_writeb(musb->mregs, MUSB_DEVCTL, 0);
|
||||
|
||||
WARN_ON(!list_empty(&musb->pending_list));
|
||||
|
|
|
@ -614,7 +614,7 @@ static int cppi41_dma_channel_abort(struct dma_channel *channel)
|
|||
}
|
||||
|
||||
/* DA8xx Advisory 2.3.27: wait 250 ms before to start the teardown */
|
||||
if (musb->io.quirks & MUSB_DA8XX)
|
||||
if (musb->ops->quirks & MUSB_DA8XX)
|
||||
mdelay(250);
|
||||
|
||||
tdbit = 1 << cppi41_channel->port_num;
|
||||
|
@ -773,7 +773,7 @@ cppi41_dma_controller_create(struct musb *musb, void __iomem *base)
|
|||
controller->controller.is_compatible = cppi41_is_compatible;
|
||||
controller->controller.musb = musb;
|
||||
|
||||
if (musb->io.quirks & MUSB_DA8XX) {
|
||||
if (musb->ops->quirks & MUSB_DA8XX) {
|
||||
controller->tdown_reg = DA8XX_USB_TEARDOWN;
|
||||
controller->autoreq_reg = DA8XX_USB_AUTOREQ;
|
||||
controller->set_dma_mode = da8xx_set_dma_mode;
|
||||
|
|
|
@ -44,31 +44,31 @@ struct musb_hw_ep;
|
|||
#endif
|
||||
|
||||
#ifdef CONFIG_USB_UX500_DMA
|
||||
#define musb_dma_ux500(musb) (musb->io.quirks & MUSB_DMA_UX500)
|
||||
#define musb_dma_ux500(musb) (musb->ops->quirks & MUSB_DMA_UX500)
|
||||
#else
|
||||
#define musb_dma_ux500(musb) 0
|
||||
#endif
|
||||
|
||||
#ifdef CONFIG_USB_TI_CPPI41_DMA
|
||||
#define musb_dma_cppi41(musb) (musb->io.quirks & MUSB_DMA_CPPI41)
|
||||
#define musb_dma_cppi41(musb) (musb->ops->quirks & MUSB_DMA_CPPI41)
|
||||
#else
|
||||
#define musb_dma_cppi41(musb) 0
|
||||
#endif
|
||||
|
||||
#ifdef CONFIG_USB_TI_CPPI_DMA
|
||||
#define musb_dma_cppi(musb) (musb->io.quirks & MUSB_DMA_CPPI)
|
||||
#define musb_dma_cppi(musb) (musb->ops->quirks & MUSB_DMA_CPPI)
|
||||
#else
|
||||
#define musb_dma_cppi(musb) 0
|
||||
#endif
|
||||
|
||||
#ifdef CONFIG_USB_TUSB_OMAP_DMA
|
||||
#define tusb_dma_omap(musb) (musb->io.quirks & MUSB_DMA_TUSB_OMAP)
|
||||
#define tusb_dma_omap(musb) (musb->ops->quirks & MUSB_DMA_TUSB_OMAP)
|
||||
#else
|
||||
#define tusb_dma_omap(musb) 0
|
||||
#endif
|
||||
|
||||
#ifdef CONFIG_USB_INVENTRA_DMA
|
||||
#define musb_dma_inventra(musb) (musb->io.quirks & MUSB_DMA_INVENTRA)
|
||||
#define musb_dma_inventra(musb) (musb->ops->quirks & MUSB_DMA_INVENTRA)
|
||||
#else
|
||||
#define musb_dma_inventra(musb) 0
|
||||
#endif
|
||||
|
|
|
@ -16,7 +16,6 @@
|
|||
|
||||
/**
|
||||
* struct musb_io - IO functions for MUSB
|
||||
* @quirks: platform specific flags
|
||||
* @ep_offset: platform specific function to get end point offset
|
||||
* @ep_select: platform specific function to select end point
|
||||
* @fifo_offset: platform specific function to get fifo offset
|
||||
|
@ -25,7 +24,6 @@
|
|||
* @busctl_offset: platform specific function to get busctl offset
|
||||
*/
|
||||
struct musb_io {
|
||||
u32 quirks;
|
||||
u32 (*ep_offset)(u8 epnum, u16 offset);
|
||||
void (*ep_select)(void __iomem *mbase, u8 epnum);
|
||||
u32 (*fifo_offset)(u8 epnum);
|
||||
|
|
Загрузка…
Ссылка в новой задаче