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