Lines Matching full:pci
3 // AMD Vangogh ACP PCI Driver
7 #include <linux/pci.h>
124 static int snd_acp5x_probe(struct pci_dev *pci, in snd_acp5x_probe() argument
137 flag = snd_amd_acp_find_config(pci); in snd_acp5x_probe()
143 if (pci->revision != 0x50) in snd_acp5x_probe()
146 if (pci_enable_device(pci)) { in snd_acp5x_probe()
147 dev_err(&pci->dev, "pci_enable_device failed\n"); in snd_acp5x_probe()
151 ret = pci_request_regions(pci, "AMD ACP5x audio"); in snd_acp5x_probe()
153 dev_err(&pci->dev, "pci_request_regions failed\n"); in snd_acp5x_probe()
157 adata = devm_kzalloc(&pci->dev, sizeof(struct acp5x_dev_data), in snd_acp5x_probe()
163 addr = pci_resource_start(pci, 0); in snd_acp5x_probe()
164 adata->acp5x_base = devm_ioremap(&pci->dev, addr, in snd_acp5x_probe()
165 pci_resource_len(pci, 0)); in snd_acp5x_probe()
170 pci_set_master(pci); in snd_acp5x_probe()
171 pci_set_drvdata(pci, adata); in snd_acp5x_probe()
179 adata->res = devm_kzalloc(&pci->dev, in snd_acp5x_probe()
204 adata->res[3].start = pci->irq; in snd_acp5x_probe()
212 pdevinfo[0].parent = &pci->dev; in snd_acp5x_probe()
220 pdevinfo[1].parent = &pci->dev; in snd_acp5x_probe()
226 pdevinfo[2].parent = &pci->dev; in snd_acp5x_probe()
232 pdevinfo[3].parent = &pci->dev; in snd_acp5x_probe()
237 dev_err(&pci->dev, "cannot register %s device\n", in snd_acp5x_probe()
245 dev_info(&pci->dev, "ACP audio mode : %d\n", val); in snd_acp5x_probe()
247 pm_runtime_set_autosuspend_delay(&pci->dev, 2000); in snd_acp5x_probe()
248 pm_runtime_use_autosuspend(&pci->dev); in snd_acp5x_probe()
249 pm_runtime_put_noidle(&pci->dev); in snd_acp5x_probe()
250 pm_runtime_allow(&pci->dev); in snd_acp5x_probe()
258 dev_err(&pci->dev, "ACP de-init failed\n"); in snd_acp5x_probe()
260 pci_release_regions(pci); in snd_acp5x_probe()
262 pci_disable_device(pci); in snd_acp5x_probe()
301 static void snd_acp5x_remove(struct pci_dev *pci) in snd_acp5x_remove() argument
306 adata = pci_get_drvdata(pci); in snd_acp5x_remove()
313 dev_err(&pci->dev, "ACP de-init failed\n"); in snd_acp5x_remove()
314 pm_runtime_forbid(&pci->dev); in snd_acp5x_remove()
315 pm_runtime_get_noresume(&pci->dev); in snd_acp5x_remove()
316 pci_release_regions(pci); in snd_acp5x_remove()
317 pci_disable_device(pci); in snd_acp5x_remove()
326 MODULE_DEVICE_TABLE(pci, snd_acp5x_ids);
341 MODULE_DESCRIPTION("AMD Vangogh ACP PCI driver");