usb-control.h 1.1 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344
  1. /* arch/arm/plat-samsung/include/plat/usb-control.h
  2. *
  3. * Copyright (c) 2004 Simtec Electronics
  4. * Ben Dooks <ben@simtec.co.uk>
  5. *
  6. * S3C - USB host port information
  7. *
  8. * This program is free software; you can redistribute it and/or modify
  9. * it under the terms of the GNU General Public License version 2 as
  10. * published by the Free Software Foundation.
  11. */
  12. #ifndef __ASM_ARCH_USBCONTROL_H
  13. #define __ASM_ARCH_USBCONTROL_H
  14. #define S3C_HCDFLG_USED (1)
  15. struct s3c2410_hcd_port {
  16. unsigned char flags;
  17. unsigned char power;
  18. unsigned char oc_status;
  19. unsigned char oc_changed;
  20. };
  21. struct s3c2410_hcd_info {
  22. struct usb_hcd *hcd;
  23. struct s3c2410_hcd_port port[2];
  24. void (*power_control)(int port, int to);
  25. void (*enable_oc)(struct s3c2410_hcd_info *, int on);
  26. void (*report_oc)(struct s3c2410_hcd_info *, int ports);
  27. };
  28. static void inline s3c2410_usb_report_oc(struct s3c2410_hcd_info *info, int ports)
  29. {
  30. if (info->report_oc != NULL) {
  31. (info->report_oc)(info, ports);
  32. }
  33. }
  34. extern void s3c_ohci_set_platdata(struct s3c2410_hcd_info *info);
  35. #endif /*__ASM_ARCH_USBCONTROL_H */