Lines Matching refs:musb
20 struct platform_device *musb; member
28 struct musb *musb = __hci; in jz4740_musb_interrupt() local
30 spin_lock_irqsave(&musb->lock, flags); in jz4740_musb_interrupt()
32 musb->int_usb = musb_readb(musb->mregs, MUSB_INTRUSB); in jz4740_musb_interrupt()
33 musb->int_tx = musb_readw(musb->mregs, MUSB_INTRTX); in jz4740_musb_interrupt()
34 musb->int_rx = musb_readw(musb->mregs, MUSB_INTRRX); in jz4740_musb_interrupt()
41 musb->int_usb &= MUSB_INTR_SUSPEND | MUSB_INTR_RESUME | in jz4740_musb_interrupt()
44 if (musb->int_usb || musb->int_tx || musb->int_rx) in jz4740_musb_interrupt()
45 retval = musb_interrupt(musb); in jz4740_musb_interrupt()
47 spin_unlock_irqrestore(&musb->lock, flags); in jz4740_musb_interrupt()
74 static int jz4740_musb_init(struct musb *musb) in jz4740_musb_init() argument
77 musb->xceiv = usb_get_phy(USB_PHY_TYPE_USB2); in jz4740_musb_init()
78 if (IS_ERR(musb->xceiv)) { in jz4740_musb_init()
80 return PTR_ERR(musb->xceiv); in jz4740_musb_init()
86 musb->dyn_fifo = true; in jz4740_musb_init()
88 musb->isr = jz4740_musb_interrupt; in jz4740_musb_init()
93 static int jz4740_musb_exit(struct musb *musb) in jz4740_musb_exit() argument
95 usb_put_phy(musb->xceiv); in jz4740_musb_exit()
114 struct platform_device *musb; in jz4740_probe() local
123 musb = platform_device_alloc("musb-hdrc", PLATFORM_DEVID_AUTO); in jz4740_probe()
124 if (!musb) { in jz4740_probe()
142 musb->dev.parent = &pdev->dev; in jz4740_probe()
145 glue->musb = musb; in jz4740_probe()
152 ret = platform_device_add_resources(musb, pdev->resource, in jz4740_probe()
159 ret = platform_device_add_data(musb, pdata, sizeof(*pdata)); in jz4740_probe()
165 ret = platform_device_add(musb); in jz4740_probe()
176 platform_device_put(musb); in jz4740_probe()
184 platform_device_unregister(glue->musb); in jz4740_remove()