aboutsummaryrefslogtreecommitdiffstats
path: root/sound/pci/hda
diff options
context:
space:
mode:
authorTakashi Iwai <tiwai@suse.de>2012-07-02 09:20:37 -0400
committerTakashi Iwai <tiwai@suse.de>2012-07-03 02:23:03 -0400
commit68cb2b559278858ef9f3a7722f95df88797c7840 (patch)
tree3dd568aac5e1004ffd1e8400aa5a50ca6a11ad01 /sound/pci/hda
parent284e7ca75f96a18f182cce38ba76ee724fb97e16 (diff)
ALSA: Convert to new pm_ops for PCI drivers
Straightforward conversion to the new pm_ops from the legacy suspend/resume ops. Since we change vx222, vx_core and vxpocket have to be converted, too. Signed-off-by: Takashi Iwai <tiwai@suse.de>
Diffstat (limited to 'sound/pci/hda')
-rw-r--r--sound/pci/hda/hda_codec.c2
-rw-r--r--sound/pci/hda/hda_codec.h2
-rw-r--r--sound/pci/hda/hda_intel.c29
-rw-r--r--sound/pci/hda/patch_analog.c2
-rw-r--r--sound/pci/hda/patch_cirrus.c2
-rw-r--r--sound/pci/hda/patch_conexant.c2
-rw-r--r--sound/pci/hda/patch_realtek.c2
-rw-r--r--sound/pci/hda/patch_sigmatel.c2
-rw-r--r--sound/pci/hda/patch_via.c2
9 files changed, 26 insertions, 19 deletions
diff --git a/sound/pci/hda/hda_codec.c b/sound/pci/hda/hda_codec.c
index 51cb2a2e4fce..f4c274c5144b 100644
--- a/sound/pci/hda/hda_codec.c
+++ b/sound/pci/hda/hda_codec.c
@@ -3545,7 +3545,7 @@ static inline void hda_exec_init_verbs(struct hda_codec *codec) {}
3545static void hda_call_codec_suspend(struct hda_codec *codec) 3545static void hda_call_codec_suspend(struct hda_codec *codec)
3546{ 3546{
3547 if (codec->patch_ops.suspend) 3547 if (codec->patch_ops.suspend)
3548 codec->patch_ops.suspend(codec, PMSG_SUSPEND); 3548 codec->patch_ops.suspend(codec);
3549 hda_cleanup_all_streams(codec); 3549 hda_cleanup_all_streams(codec);
3550 hda_set_power_state(codec, 3550 hda_set_power_state(codec,
3551 codec->afg ? codec->afg : codec->mfg, 3551 codec->afg ? codec->afg : codec->mfg,
diff --git a/sound/pci/hda/hda_codec.h b/sound/pci/hda/hda_codec.h
index 2fdaadbb4326..5aab408dcb6a 100644
--- a/sound/pci/hda/hda_codec.h
+++ b/sound/pci/hda/hda_codec.h
@@ -703,7 +703,7 @@ struct hda_codec_ops {
703 void (*set_power_state)(struct hda_codec *codec, hda_nid_t fg, 703 void (*set_power_state)(struct hda_codec *codec, hda_nid_t fg,
704 unsigned int power_state); 704 unsigned int power_state);
705#ifdef CONFIG_PM 705#ifdef CONFIG_PM
706 int (*suspend)(struct hda_codec *codec, pm_message_t state); 706 int (*suspend)(struct hda_codec *codec);
707 int (*resume)(struct hda_codec *codec); 707 int (*resume)(struct hda_codec *codec);
708#endif 708#endif
709#ifdef CONFIG_SND_HDA_POWER_SAVE 709#ifdef CONFIG_SND_HDA_POWER_SAVE
diff --git a/sound/pci/hda/hda_intel.c b/sound/pci/hda/hda_intel.c
index 7757536b9d5f..a69ec7448714 100644
--- a/sound/pci/hda/hda_intel.c
+++ b/sound/pci/hda/hda_intel.c
@@ -2403,9 +2403,10 @@ static void azx_power_notify(struct hda_bus *bus)
2403 * power management 2403 * power management
2404 */ 2404 */
2405 2405
2406static int azx_suspend(struct pci_dev *pci, pm_message_t state) 2406static int azx_suspend(struct device *dev)
2407{ 2407{
2408 struct snd_card *card = pci_get_drvdata(pci); 2408 struct pci_dev *pci = to_pci_dev(dev);
2409 struct snd_card *card = dev_get_drvdata(dev);
2409 struct azx *chip = card->private_data; 2410 struct azx *chip = card->private_data;
2410 struct azx_pcm *p; 2411 struct azx_pcm *p;
2411 2412
@@ -2424,13 +2425,14 @@ static int azx_suspend(struct pci_dev *pci, pm_message_t state)
2424 pci_disable_msi(chip->pci); 2425 pci_disable_msi(chip->pci);
2425 pci_disable_device(pci); 2426 pci_disable_device(pci);
2426 pci_save_state(pci); 2427 pci_save_state(pci);
2427 pci_set_power_state(pci, pci_choose_state(pci, state)); 2428 pci_set_power_state(pci, PCI_D3hot);
2428 return 0; 2429 return 0;
2429} 2430}
2430 2431
2431static int azx_resume(struct pci_dev *pci) 2432static int azx_resume(struct device *dev)
2432{ 2433{
2433 struct snd_card *card = pci_get_drvdata(pci); 2434 struct pci_dev *pci = to_pci_dev(dev);
2435 struct snd_card *card = dev_get_drvdata(dev);
2434 struct azx *chip = card->private_data; 2436 struct azx *chip = card->private_data;
2435 2437
2436 pci_set_power_state(pci, PCI_D0); 2438 pci_set_power_state(pci, PCI_D0);
@@ -2455,6 +2457,12 @@ static int azx_resume(struct pci_dev *pci)
2455 snd_power_change_state(card, SNDRV_CTL_POWER_D0); 2457 snd_power_change_state(card, SNDRV_CTL_POWER_D0);
2456 return 0; 2458 return 0;
2457} 2459}
2460static SIMPLE_DEV_PM_OPS(azx_pm, azx_suspend, azx_resume);
2461#define AZX_PM_OPS &azx_pm
2462#else
2463#define azx_suspend(dev)
2464#define azx_resume(dev)
2465#define AZX_PM_OPS NULL
2458#endif /* CONFIG_PM */ 2466#endif /* CONFIG_PM */
2459 2467
2460 2468
@@ -2521,13 +2529,13 @@ static void azx_vs_set_state(struct pci_dev *pci,
2521 disabled ? "Disabling" : "Enabling", 2529 disabled ? "Disabling" : "Enabling",
2522 pci_name(chip->pci)); 2530 pci_name(chip->pci));
2523 if (disabled) { 2531 if (disabled) {
2524 azx_suspend(pci, PMSG_FREEZE); 2532 azx_suspend(&pci->dev);
2525 chip->disabled = true; 2533 chip->disabled = true;
2526 snd_hda_lock_devices(chip->bus); 2534 snd_hda_lock_devices(chip->bus);
2527 } else { 2535 } else {
2528 snd_hda_unlock_devices(chip->bus); 2536 snd_hda_unlock_devices(chip->bus);
2529 chip->disabled = false; 2537 chip->disabled = false;
2530 azx_resume(pci); 2538 azx_resume(&pci->dev);
2531 } 2539 }
2532 } 2540 }
2533} 2541}
@@ -3398,10 +3406,9 @@ static struct pci_driver azx_driver = {
3398 .id_table = azx_ids, 3406 .id_table = azx_ids,
3399 .probe = azx_probe, 3407 .probe = azx_probe,
3400 .remove = __devexit_p(azx_remove), 3408 .remove = __devexit_p(azx_remove),
3401#ifdef CONFIG_PM 3409 .driver = {
3402 .suspend = azx_suspend, 3410 .pm = AZX_PM_OPS,
3403 .resume = azx_resume, 3411 },
3404#endif
3405}; 3412};
3406 3413
3407module_pci_driver(azx_driver); 3414module_pci_driver(azx_driver);
diff --git a/sound/pci/hda/patch_analog.c b/sound/pci/hda/patch_analog.c
index d8b2d6dee986..0208fa121e5a 100644
--- a/sound/pci/hda/patch_analog.c
+++ b/sound/pci/hda/patch_analog.c
@@ -642,7 +642,7 @@ static void ad198x_free(struct hda_codec *codec)
642} 642}
643 643
644#ifdef CONFIG_PM 644#ifdef CONFIG_PM
645static int ad198x_suspend(struct hda_codec *codec, pm_message_t state) 645static int ad198x_suspend(struct hda_codec *codec)
646{ 646{
647 ad198x_shutup(codec); 647 ad198x_shutup(codec);
648 return 0; 648 return 0;
diff --git a/sound/pci/hda/patch_cirrus.c b/sound/pci/hda/patch_cirrus.c
index 9647ed4d7929..0c4c1a61b378 100644
--- a/sound/pci/hda/patch_cirrus.c
+++ b/sound/pci/hda/patch_cirrus.c
@@ -1892,7 +1892,7 @@ static int cs421x_parse_auto_config(struct hda_codec *codec)
1892 Manage PDREF, when transitioning to D3hot 1892 Manage PDREF, when transitioning to D3hot
1893 (DAC,ADC) -> D3, PDREF=1, AFG->D3 1893 (DAC,ADC) -> D3, PDREF=1, AFG->D3
1894*/ 1894*/
1895static int cs421x_suspend(struct hda_codec *codec, pm_message_t state) 1895static int cs421x_suspend(struct hda_codec *codec)
1896{ 1896{
1897 struct cs_spec *spec = codec->spec; 1897 struct cs_spec *spec = codec->spec;
1898 unsigned int coef; 1898 unsigned int coef;
diff --git a/sound/pci/hda/patch_conexant.c b/sound/pci/hda/patch_conexant.c
index 2bf99fc1cbf2..14361184ae1e 100644
--- a/sound/pci/hda/patch_conexant.c
+++ b/sound/pci/hda/patch_conexant.c
@@ -554,7 +554,7 @@ static int conexant_build_controls(struct hda_codec *codec)
554} 554}
555 555
556#ifdef CONFIG_SND_HDA_POWER_SAVE 556#ifdef CONFIG_SND_HDA_POWER_SAVE
557static int conexant_suspend(struct hda_codec *codec, pm_message_t state) 557static int conexant_suspend(struct hda_codec *codec)
558{ 558{
559 snd_hda_shutup_pins(codec); 559 snd_hda_shutup_pins(codec);
560 return 0; 560 return 0;
diff --git a/sound/pci/hda/patch_realtek.c b/sound/pci/hda/patch_realtek.c
index 5ccf10a4d593..ab2c729b88ea 100644
--- a/sound/pci/hda/patch_realtek.c
+++ b/sound/pci/hda/patch_realtek.c
@@ -2300,7 +2300,7 @@ static void alc_power_eapd(struct hda_codec *codec)
2300 alc_auto_setup_eapd(codec, false); 2300 alc_auto_setup_eapd(codec, false);
2301} 2301}
2302 2302
2303static int alc_suspend(struct hda_codec *codec, pm_message_t state) 2303static int alc_suspend(struct hda_codec *codec)
2304{ 2304{
2305 struct alc_spec *spec = codec->spec; 2305 struct alc_spec *spec = codec->spec;
2306 alc_shutup(codec); 2306 alc_shutup(codec);
diff --git a/sound/pci/hda/patch_sigmatel.c b/sound/pci/hda/patch_sigmatel.c
index 07675282015a..a1596a3b171c 100644
--- a/sound/pci/hda/patch_sigmatel.c
+++ b/sound/pci/hda/patch_sigmatel.c
@@ -4997,7 +4997,7 @@ static int stac92xx_resume(struct hda_codec *codec)
4997 return 0; 4997 return 0;
4998} 4998}
4999 4999
5000static int stac92xx_suspend(struct hda_codec *codec, pm_message_t state) 5000static int stac92xx_suspend(struct hda_codec *codec)
5001{ 5001{
5002 stac92xx_shutup(codec); 5002 stac92xx_shutup(codec);
5003 return 0; 5003 return 0;
diff --git a/sound/pci/hda/patch_via.c b/sound/pci/hda/patch_via.c
index 82b368068e08..90645560ed39 100644
--- a/sound/pci/hda/patch_via.c
+++ b/sound/pci/hda/patch_via.c
@@ -1748,7 +1748,7 @@ static void via_unsol_event(struct hda_codec *codec,
1748} 1748}
1749 1749
1750#ifdef CONFIG_PM 1750#ifdef CONFIG_PM
1751static int via_suspend(struct hda_codec *codec, pm_message_t state) 1751static int via_suspend(struct hda_codec *codec)
1752{ 1752{
1753 struct via_spec *spec = codec->spec; 1753 struct via_spec *spec = codec->spec;
1754 vt1708_stop_hp_work(spec); 1754 vt1708_stop_hp_work(spec);