mirror of
https://mirrors.bfsu.edu.cn/git/linux.git
synced 2024-12-28 21:45:01 +08:00
ASoC: amd: ps: move irq handler registration
Move irq handler registration prior to platform device creation logic. This will avoid irq handling missing scenario when platform device raise interrrupts during it's probe sequence. Signed-off-by: Vijendar Mukunda <Vijendar.Mukunda@amd.com> Link: https://lore.kernel.org/r/20221221172855.1618766-4-Vijendar.Mukunda@amd.com Signed-off-by: Mark Brown <broonie@kernel.org>
This commit is contained in:
parent
9d327a4443
commit
966ef755d3
@ -286,6 +286,12 @@ static int snd_acp63_probe(struct pci_dev *pci,
|
||||
ret = acp63_init(adata->acp63_base, &pci->dev);
|
||||
if (ret)
|
||||
goto release_regions;
|
||||
ret = devm_request_irq(&pci->dev, pci->irq, acp63_irq_handler,
|
||||
irqflags, "ACP_PCI_IRQ", adata);
|
||||
if (ret) {
|
||||
dev_err(&pci->dev, "ACP PCI IRQ request failed\n");
|
||||
goto de_init;
|
||||
}
|
||||
val = acp63_readl(adata->acp63_base + ACP_PIN_CONFIG);
|
||||
get_acp63_device_config(val, pci, adata);
|
||||
ret = create_acp63_platform_devs(pci, adata, addr);
|
||||
@ -293,13 +299,6 @@ static int snd_acp63_probe(struct pci_dev *pci,
|
||||
dev_err(&pci->dev, "ACP platform devices creation failed\n");
|
||||
goto de_init;
|
||||
}
|
||||
ret = devm_request_irq(&pci->dev, pci->irq, acp63_irq_handler,
|
||||
irqflags, "ACP_PCI_IRQ", adata);
|
||||
if (ret) {
|
||||
dev_err(&pci->dev, "ACP PCI IRQ request failed\n");
|
||||
goto de_init;
|
||||
}
|
||||
|
||||
pm_runtime_set_autosuspend_delay(&pci->dev, ACP_SUSPEND_DELAY_MS);
|
||||
pm_runtime_use_autosuspend(&pci->dev);
|
||||
pm_runtime_put_noidle(&pci->dev);
|
||||
|
Loading…
Reference in New Issue
Block a user