diff options
Diffstat (limited to 'sound/ppc/powermac.c')
-rw-r--r-- | sound/ppc/powermac.c | 23 |
1 files changed, 13 insertions, 10 deletions
diff --git a/sound/ppc/powermac.c b/sound/ppc/powermac.c index 5a4e263b5b0..210cafe0489 100644 --- a/sound/ppc/powermac.c +++ b/sound/ppc/powermac.c @@ -143,20 +143,25 @@ static int __devexit snd_pmac_remove(struct platform_device *devptr) return 0; } -#ifdef CONFIG_PM -static int snd_pmac_driver_suspend(struct platform_device *devptr, pm_message_t state) +#ifdef CONFIG_PM_SLEEP +static int snd_pmac_driver_suspend(struct device *dev) { - struct snd_card *card = platform_get_drvdata(devptr); + struct snd_card *card = dev_get_drvdata(dev); snd_pmac_suspend(card->private_data); return 0; } -static int snd_pmac_driver_resume(struct platform_device *devptr) +static int snd_pmac_driver_resume(struct device *dev) { - struct snd_card *card = platform_get_drvdata(devptr); + struct snd_card *card = dev_get_drvdata(dev); snd_pmac_resume(card->private_data); return 0; } + +static SIMPLE_DEV_PM_OPS(snd_pmac_pm, snd_pmac_driver_suspend, snd_pmac_driver_resume); +#define SND_PMAC_PM_OPS &snd_pmac_pm +#else +#define SND_PMAC_PM_OPS NULL #endif #define SND_PMAC_DRIVER "snd_powermac" @@ -164,12 +169,10 @@ static int snd_pmac_driver_resume(struct platform_device *devptr) static struct platform_driver snd_pmac_driver = { .probe = snd_pmac_probe, .remove = __devexit_p(snd_pmac_remove), -#ifdef CONFIG_PM - .suspend = snd_pmac_driver_suspend, - .resume = snd_pmac_driver_resume, -#endif .driver = { - .name = SND_PMAC_DRIVER + .name = SND_PMAC_DRIVER, + .owner = THIS_MODULE, + .pm = SND_PMAC_PM_OPS, }, }; |