The TUSB6010 (MUSB) device is picking up some GPIO lines hardcoded by number and passing on to the TUSB6010 device when registering it. Instead of nasty workarounds, provide a GPIO descriptor table and then make the TUSB6010 MUSB glue driver pick up the GPIO lines directly, convert it to an IRQ and pass down to the MUSB driver. OMAP2 is the only system using the TUSB6010. Stash the GPIO descriptors in the glue layer and use then to power up and down the TUSB6010 on-demand, instead of using boardfile callbacks. Since the OMAP2 boards are the only boards using the .set_power() and .board_set_power() callbacks, we can just delete them as the power is now handled directly in the TUSB6010 glue code. Cc: Bin Liu <b-liu@ti.com> Cc: linux-usb@vger.kernel.org Fixes: 92bf78b33b0b ("gpio: omap: use dynamic allocation of base") Acked-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org> Signed-off-by: Linus Walleij <linus.walleij@linaro.org>
13 lines
326 B
C
13 lines
326 B
C
/* SPDX-License-Identifier: GPL-2.0 */
|
|
|
|
#ifndef __USB_TUSB6010_H
|
|
#define __USB_TUSB6010_H
|
|
|
|
extern int __init tusb6010_setup_interface(
|
|
struct musb_hdrc_platform_data *data,
|
|
unsigned int ps_refclk, unsigned int waitpin,
|
|
unsigned int async_cs, unsigned int sync_cs,
|
|
unsigned int dmachan);
|
|
|
|
#endif /* __USB_TUSB6010_H */
|