usb-control.h 1.1 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445
  1. /* linux/include/asm-arm/arch-s3c2410/usb-control.h
  2. *
  3. * (c) 2004 Simtec Electronics
  4. * Ben Dooks <ben@simtec.co.uk>
  5. *
  6. * S3C2410 - usb 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. * Changelog:
  13. * 11-Sep-2004 BJD Created file
  14. * 21-Sep-2004 BJD Updated port info
  15. */
  16. #ifndef __ASM_ARCH_USBCONTROL_H
  17. #define __ASM_ARCH_USBCONTROL_H "include/asm-arm/arch-s3c2410/usb-control.h"
  18. #define S3C_HCDFLG_USED (1)
  19. struct s3c2410_hcd_port {
  20. unsigned char flags;
  21. unsigned char power;
  22. unsigned char oc_status;
  23. unsigned char oc_changed;
  24. };
  25. struct s3c2410_hcd_info {
  26. struct usb_hcd *hcd;
  27. struct s3c2410_hcd_port port[2];
  28. void (*power_control)(int port, int to);
  29. void (*enable_oc)(struct s3c2410_hcd_info *, int on);
  30. void (*report_oc)(struct s3c2410_hcd_info *, int ports);
  31. };
  32. static void inline s3c2410_report_oc(struct s3c2410_hcd_info *info, int ports)
  33. {
  34. if (info->report_oc != NULL) {
  35. (info->report_oc)(info, ports);
  36. }
  37. }
  38. #endif /*__ASM_ARCH_USBCONTROL_H */