ohci_pdriver.h 1.0 KB

1234567891011121314151617181920212223242526272829303132333435
  1. // SPDX-License-Identifier: GPL-2.0+
  2. /*
  3. * Copyright (C) 2012 Hauke Mehrtens <[email protected]>
  4. */
  5. #ifndef __USB_CORE_OHCI_PDRIVER_H
  6. #define __USB_CORE_OHCI_PDRIVER_H
  7. /**
  8. * struct usb_ohci_pdata - platform_data for generic ohci driver
  9. *
  10. * @big_endian_desc: BE descriptors
  11. * @big_endian_mmio: BE registers
  12. * @no_big_frame_no: no big endian frame_no shift
  13. * @num_ports: number of ports
  14. *
  15. * These are general configuration options for the OHCI controller. All of
  16. * these options are activating more or less workarounds for some hardware.
  17. */
  18. struct usb_ohci_pdata {
  19. unsigned big_endian_desc:1;
  20. unsigned big_endian_mmio:1;
  21. unsigned no_big_frame_no:1;
  22. unsigned int num_ports;
  23. /* Turn on all power and clocks */
  24. int (*power_on)(struct platform_device *pdev);
  25. /* Turn off all power and clocks */
  26. void (*power_off)(struct platform_device *pdev);
  27. /* Turn on only VBUS suspend power and hotplug detection,
  28. * turn off everything else */
  29. void (*power_suspend)(struct platform_device *pdev);
  30. };
  31. #endif /* __USB_CORE_OHCI_PDRIVER_H */