Lines Matching defs:pci
16 #include <linux/pci.h>
47 static int acp_pci_probe(struct pci_dev *pci, const struct pci_device_id *pci_id)
50 struct device *dev = &pci->dev;
57 flag = snd_amd_acp_find_config(pci);
61 chip = devm_kzalloc(&pci->dev, sizeof(*chip), GFP_KERNEL);
65 if (pci_enable_device(pci))
66 return dev_err_probe(&pci->dev, -ENODEV,
69 ret = pci_request_regions(pci, "AMD ACP3x audio");
71 dev_err(&pci->dev, "pci_request_regions failed\n");
76 pci_set_master(pci);
81 switch (pci->revision) {
91 dev_err(dev, "Unsupported device revision:0x%x\n", pci->revision);
103 addr = pci_resource_start(pci, 0);
104 chip->base = devm_ioremap(&pci->dev, addr, pci_resource_len(pci, 0));
111 res = devm_kcalloc(&pci->dev, num_res, sizeof(struct resource), GFP_KERNEL);
123 res[i].start = pci->irq;
132 pdevinfo.parent = &pci->dev;
140 dev_err(&pci->dev, "cannot register %s device\n", pdevinfo.name);
145 dev_set_drvdata(&pci->dev, chip);
146 pm_runtime_set_autosuspend_delay(&pci->dev, 2000);
147 pm_runtime_use_autosuspend(&pci->dev);
148 pm_runtime_put_noidle(&pci->dev);
149 pm_runtime_allow(&pci->dev);
155 pci_release_regions(pci);
157 pci_disable_device(pci);
197 static void acp_pci_remove(struct pci_dev *pci)
202 chip = pci_get_drvdata(pci);
203 pm_runtime_forbid(&pci->dev);
204 pm_runtime_get_noresume(&pci->dev);
211 dev_err(&pci->dev, "ACP de-init failed\n");
219 MODULE_DEVICE_TABLE(pci, acp_pci_ids);