Message ID | 1569539290-756-4-git-send-email-Vishnuvardhanrao.Ravulapati@amd.com (mailing list archive) |
---|---|
State | New, archived |
Headers | show |
Series | [1/5] ASoC: amd: Registering device endpoints using MFD framework | expand |
On Fri, Sep 27, 2019 at 04:37:38AM +0530, Ravulapati Vishnu vardhan rao wrote: > +static int snd_acp3x_suspend(struct device *dev) > +{ > + return 0; > +} > + > +static int snd_acp3x_resume(struct device *dev) > +{ > + return 0; > +} > + > +static const struct dev_pm_ops acp3x_pm = { > + .runtime_suspend = snd_acp3x_suspend, > + .runtime_resume = snd_acp3x_resume, > + .resume = snd_acp3x_resume, > + > +}; These operations are empty so they should just be removed.
Hi Mark, Thanks for your suggestions. Please ignore all the patches.I will address all the inputs shared by you and resend them. Thanks, Vishnu On 26/09/19 11:54 PM, Mark Brown wrote: > On Fri, Sep 27, 2019 at 04:37:38AM +0530, Ravulapati Vishnu vardhan rao wrote: > >> +static int snd_acp3x_suspend(struct device *dev) >> +{ >> + return 0; >> +} >> + >> +static int snd_acp3x_resume(struct device *dev) >> +{ >> + return 0; >> +} >> + >> +static const struct dev_pm_ops acp3x_pm = { >> + .runtime_suspend = snd_acp3x_suspend, >> + .runtime_resume = snd_acp3x_resume, >> + .resume = snd_acp3x_resume, >> + >> +}; > > These operations are empty so they should just be removed. >
diff --git a/sound/soc/amd/raven/pci-acp3x.c b/sound/soc/amd/raven/pci-acp3x.c index c0b8fad..6fbb720 100644 --- a/sound/soc/amd/raven/pci-acp3x.c +++ b/sound/soc/amd/raven/pci-acp3x.c @@ -170,6 +170,11 @@ static int snd_acp3x_probe(struct pci_dev *pci, ret = -ENODEV; goto unmap_mmio; } + pm_runtime_set_autosuspend_delay(&pci->dev, 10000); + pm_runtime_use_autosuspend(&pci->dev); + pm_runtime_set_active(&pci->dev); + pm_runtime_put_noidle(&pci->dev); + pm_runtime_enable(&pci->dev); return 0; unmap_mmio: @@ -189,6 +194,23 @@ static int snd_acp3x_probe(struct pci_dev *pci, return -ENODEV; } +static int snd_acp3x_suspend(struct device *dev) +{ + return 0; +} + +static int snd_acp3x_resume(struct device *dev) +{ + return 0; +} + +static const struct dev_pm_ops acp3x_pm = { + .runtime_suspend = snd_acp3x_suspend, + .runtime_resume = snd_acp3x_resume, + .resume = snd_acp3x_resume, + +}; + static void snd_acp3x_remove(struct pci_dev *pci) { struct acp3x_dev_data *adata = pci_get_drvdata(pci); @@ -196,6 +218,8 @@ static void snd_acp3x_remove(struct pci_dev *pci) kfree(adata->res); kfree(adata->cell); iounmap(adata->acp3x_base); + pm_runtime_disable(&pci->dev); + pm_runtime_get_noresume(&pci->dev); pci_disable_msi(pci); pci_release_regions(pci); pci_disable_device(pci); @@ -214,6 +238,9 @@ static struct pci_driver acp3x_driver = { .id_table = snd_acp3x_ids, .probe = snd_acp3x_probe, .remove = snd_acp3x_remove, + .driver = { + .pm = &acp3x_pm, + } }; module_pci_driver(acp3x_driver);