Lines Matching defs:dwc
148 static int dwc3_pci_quirks(struct dwc3_pci *dwc)
150 struct pci_dev *pdev = dwc->pci;
156 guid_parse(PCI_INTEL_BXT_DSM_GUID, &dwc->guid);
157 dwc->has_dsm_for_pm = true;
213 struct dwc3_pci *dwc = container_of(work, struct dwc3_pci, wakeup_work);
214 struct platform_device *dwc3 = dwc->dwc3;
231 struct dwc3_pci *dwc;
244 dwc = devm_kzalloc(dev, sizeof(*dwc), GFP_KERNEL);
245 if (!dwc)
248 dwc->dwc3 = platform_device_alloc("dwc3", PLATFORM_DEVID_AUTO);
249 if (!dwc->dwc3)
263 ret = platform_device_add_resources(dwc->dwc3, res, ARRAY_SIZE(res));
269 dwc->pci = pci;
270 dwc->dwc3->dev.parent = dev;
271 ACPI_COMPANION_SET(&dwc->dwc3->dev, ACPI_COMPANION(dev));
273 ret = platform_device_add_properties(dwc->dwc3, p);
277 ret = dwc3_pci_quirks(dwc);
281 ret = platform_device_add(dwc->dwc3);
288 pci_set_drvdata(pci, dwc);
291 INIT_WORK(&dwc->wakeup_work, dwc3_pci_resume_work);
296 platform_device_put(dwc->dwc3);
302 struct dwc3_pci *dwc = pci_get_drvdata(pci);
303 struct pci_dev *pdev = dwc->pci;
308 cancel_work_sync(&dwc->wakeup_work);
312 platform_device_unregister(dwc->dwc3);
386 static int dwc3_pci_dsm(struct dwc3_pci *dwc, int param)
392 if (!dwc->has_dsm_for_pm)
398 obj = acpi_evaluate_dsm(ACPI_HANDLE(&dwc->pci->dev), &dwc->guid,
401 dev_err(&dwc->pci->dev, "failed to evaluate _DSM\n");
414 struct dwc3_pci *dwc = dev_get_drvdata(dev);
417 return dwc3_pci_dsm(dwc, PCI_INTEL_BXT_STATE_D3);
424 struct dwc3_pci *dwc = dev_get_drvdata(dev);
427 ret = dwc3_pci_dsm(dwc, PCI_INTEL_BXT_STATE_D0);
431 queue_work(pm_wq, &dwc->wakeup_work);
440 struct dwc3_pci *dwc = dev_get_drvdata(dev);
442 return dwc3_pci_dsm(dwc, PCI_INTEL_BXT_STATE_D3);
447 struct dwc3_pci *dwc = dev_get_drvdata(dev);
449 return dwc3_pci_dsm(dwc, PCI_INTEL_BXT_STATE_D0);