| .. | .. |
|---|
| 1 | | -// SPDX-License-Identifier: GPL-2.0 |
|---|
| 1 | +/* SPDX-License-Identifier: GPL-2.0 */ |
|---|
| 2 | 2 | /* |
|---|
| 3 | 3 | * xhci-plat.h - xHCI host controller driver platform Bus Glue. |
|---|
| 4 | 4 | * |
|---|
| .. | .. |
|---|
| 12 | 12 | |
|---|
| 13 | 13 | struct xhci_plat_priv { |
|---|
| 14 | 14 | const char *firmware_name; |
|---|
| 15 | + unsigned long long quirks; |
|---|
| 16 | + struct xhci_vendor_data *vendor_data; |
|---|
| 17 | + int (*plat_setup)(struct usb_hcd *); |
|---|
| 15 | 18 | void (*plat_start)(struct usb_hcd *); |
|---|
| 16 | 19 | int (*init_quirk)(struct usb_hcd *); |
|---|
| 20 | + int (*suspend_quirk)(struct usb_hcd *); |
|---|
| 17 | 21 | int (*resume_quirk)(struct usb_hcd *); |
|---|
| 18 | 22 | }; |
|---|
| 19 | 23 | |
|---|
| 20 | 24 | #define hcd_to_xhci_priv(h) ((struct xhci_plat_priv *)hcd_to_xhci(h)->priv) |
|---|
| 25 | +#define xhci_to_priv(x) ((struct xhci_plat_priv *)(x)->priv) |
|---|
| 26 | + |
|---|
| 27 | +struct xhci_plat_priv_overwrite { |
|---|
| 28 | + struct xhci_vendor_ops *vendor_ops; |
|---|
| 29 | +}; |
|---|
| 30 | + |
|---|
| 31 | +int xhci_plat_register_vendor_ops(struct xhci_vendor_ops *vendor_ops); |
|---|
| 32 | + |
|---|
| 21 | 33 | #endif /* _XHCI_PLAT_H */ |
|---|