usb-ohci-s3c2410.h 941 B

12345678910111213141516171819202122232425262728293031323334353637383940
  1. /* SPDX-License-Identifier: GPL-2.0-only */
  2. /* arch/arm/plat-samsung/include/plat/usb-control.h
  3. *
  4. * Copyright (c) 2004 Simtec Electronics
  5. * Ben Dooks <[email protected]>
  6. *
  7. * S3C - USB host port information
  8. */
  9. #ifndef __ASM_ARCH_USBCONTROL_H
  10. #define __ASM_ARCH_USBCONTROL_H
  11. #define S3C_HCDFLG_USED (1)
  12. struct s3c2410_hcd_port {
  13. unsigned char flags;
  14. unsigned char power;
  15. unsigned char oc_status;
  16. unsigned char oc_changed;
  17. };
  18. struct s3c2410_hcd_info {
  19. struct usb_hcd *hcd;
  20. struct s3c2410_hcd_port port[2];
  21. void (*power_control)(int port, int to);
  22. void (*enable_oc)(struct s3c2410_hcd_info *, int on);
  23. void (*report_oc)(struct s3c2410_hcd_info *, int ports);
  24. };
  25. static inline void s3c2410_usb_report_oc(struct s3c2410_hcd_info *info, int ports)
  26. {
  27. if (info->report_oc != NULL) {
  28. (info->report_oc)(info, ports);
  29. }
  30. }
  31. extern void s3c_ohci_set_platdata(struct s3c2410_hcd_info *info);
  32. #endif /*__ASM_ARCH_USBCONTROL_H */