1 /* SPDX-License-Identifier: GPL-2.0 */ 2 /* 3 * glue.h - DesignWare USB3 DRD glue header 4 */ 5 6 #ifndef __DRIVERS_USB_DWC3_GLUE_H 7 #define __DRIVERS_USB_DWC3_GLUE_H 8 9 #include <linux/types.h> 10 #include "core.h" 11 12 /** 13 * dwc3_probe_data: Initialization parameters passed to dwc3_core_probe() 14 * @dwc: Reference to dwc3 context structure 15 * @res: resource for the DWC3 core mmio region 16 * @ignore_clocks_and_resets: clocks and resets defined for the device should 17 * be ignored by the DWC3 core, as they are managed by the glue 18 */ 19 struct dwc3_probe_data { 20 struct dwc3 *dwc; 21 struct resource *res; 22 bool ignore_clocks_and_resets; 23 }; 24 25 int dwc3_core_probe(const struct dwc3_probe_data *data); 26 void dwc3_core_remove(struct dwc3 *dwc); 27 28 int dwc3_runtime_suspend(struct dwc3 *dwc); 29 int dwc3_runtime_resume(struct dwc3 *dwc); 30 int dwc3_runtime_idle(struct dwc3 *dwc); 31 int dwc3_pm_suspend(struct dwc3 *dwc); 32 int dwc3_pm_resume(struct dwc3 *dwc); 33 void dwc3_pm_complete(struct dwc3 *dwc); 34 int dwc3_pm_prepare(struct dwc3 *dwc); 35 36 #endif 37