mtu3_dr.h 1.0 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152
  1. /* SPDX-License-Identifier: GPL-2.0 */
  2. /*
  3. * mtu3_dr.h - dual role switch and host glue layer header
  4. *
  5. * Copyright (C) 2016 MediaTek Inc.
  6. *
  7. * Author: Chunfeng Yun <chunfeng.yun@mediatek.com>
  8. */
  9. #ifndef _MTU3_DR_H_
  10. #define _MTU3_DR_H_
  11. #if IS_ENABLED(CONFIG_USB_MTU3_HOST)
  12. int ssusb_host_init(struct ssusb_mtk *ssusb);
  13. void ssusb_host_exit(struct ssusb_mtk *ssusb);
  14. #else
  15. static inline int ssusb_host_init(struct ssusb_mtk *ssusb)
  16. {
  17. return 0;
  18. }
  19. static inline void ssusb_host_exit(struct ssusb_mtk *ssusb)
  20. {}
  21. #endif
  22. #if IS_ENABLED(CONFIG_USB_MTU3_GADGET)
  23. int ssusb_gadget_init(struct ssusb_mtk *ssusb);
  24. void ssusb_gadget_exit(struct ssusb_mtk *ssusb);
  25. irqreturn_t mtu3_irq(int irq, void *data);
  26. #else
  27. static inline int ssusb_gadget_init(struct ssusb_mtk *ssusb)
  28. {
  29. return 0;
  30. }
  31. static inline void ssusb_gadget_exit(struct ssusb_mtk *ssusb)
  32. {}
  33. static inline irqreturn_t mtu3_irq(int irq, void *data)
  34. {
  35. return IRQ_NONE;
  36. }
  37. #endif
  38. void ssusb_set_force_mode(struct ssusb_mtk *ssusb,
  39. enum mtu3_dr_force_mode mode);
  40. #endif /* _MTU3_DR_H_ */