aboutsummaryrefslogtreecommitdiffstats
path: root/sound/ppc
diff options
context:
space:
mode:
authorJonathan Herman <hermanjl@cs.unc.edu>2013-01-17 16:15:55 -0500
committerJonathan Herman <hermanjl@cs.unc.edu>2013-01-17 16:15:55 -0500
commit8dea78da5cee153b8af9c07a2745f6c55057fe12 (patch)
treea8f4d49d63b1ecc92f2fddceba0655b2472c5bd9 /sound/ppc
parent406089d01562f1e2bf9f089fd7637009ebaad589 (diff)
Patched in Tegra support.
Diffstat (limited to 'sound/ppc')
-rw-r--r--sound/ppc/awacs.c54
-rw-r--r--sound/ppc/beep.c2
-rw-r--r--sound/ppc/burgundy.c22
-rw-r--r--sound/ppc/daca.c2
-rw-r--r--sound/ppc/keywest.c5
-rw-r--r--sound/ppc/pmac.c12
-rw-r--r--sound/ppc/powermac.c33
-rw-r--r--sound/ppc/snd_ps3.c18
-rw-r--r--sound/ppc/tumbler.c16
9 files changed, 80 insertions, 84 deletions
diff --git a/sound/ppc/awacs.c b/sound/ppc/awacs.c
index 5fbf5db2543..b36679384b2 100644
--- a/sound/ppc/awacs.c
+++ b/sound/ppc/awacs.c
@@ -477,7 +477,7 @@ static int snd_pmac_awacs_put_master_amp(struct snd_kcontrol *kcontrol,
477#define AMP_CH_SPK 0 477#define AMP_CH_SPK 0
478#define AMP_CH_HD 1 478#define AMP_CH_HD 1
479 479
480static struct snd_kcontrol_new snd_pmac_awacs_amp_vol[] = { 480static struct snd_kcontrol_new snd_pmac_awacs_amp_vol[] __devinitdata = {
481 { .iface = SNDRV_CTL_ELEM_IFACE_MIXER, 481 { .iface = SNDRV_CTL_ELEM_IFACE_MIXER,
482 .name = "Speaker Playback Volume", 482 .name = "Speaker Playback Volume",
483 .info = snd_pmac_awacs_info_volume_amp, 483 .info = snd_pmac_awacs_info_volume_amp,
@@ -514,7 +514,7 @@ static struct snd_kcontrol_new snd_pmac_awacs_amp_vol[] = {
514 }, 514 },
515}; 515};
516 516
517static struct snd_kcontrol_new snd_pmac_awacs_amp_hp_sw = { 517static struct snd_kcontrol_new snd_pmac_awacs_amp_hp_sw __devinitdata = {
518 .iface = SNDRV_CTL_ELEM_IFACE_MIXER, 518 .iface = SNDRV_CTL_ELEM_IFACE_MIXER,
519 .name = "Headphone Playback Switch", 519 .name = "Headphone Playback Switch",
520 .info = snd_pmac_boolean_stereo_info, 520 .info = snd_pmac_boolean_stereo_info,
@@ -523,7 +523,7 @@ static struct snd_kcontrol_new snd_pmac_awacs_amp_hp_sw = {
523 .private_value = AMP_CH_HD, 523 .private_value = AMP_CH_HD,
524}; 524};
525 525
526static struct snd_kcontrol_new snd_pmac_awacs_amp_spk_sw = { 526static struct snd_kcontrol_new snd_pmac_awacs_amp_spk_sw __devinitdata = {
527 .iface = SNDRV_CTL_ELEM_IFACE_MIXER, 527 .iface = SNDRV_CTL_ELEM_IFACE_MIXER,
528 .name = "Speaker Playback Switch", 528 .name = "Speaker Playback Switch",
529 .info = snd_pmac_boolean_stereo_info, 529 .info = snd_pmac_boolean_stereo_info,
@@ -595,46 +595,46 @@ static int snd_pmac_screamer_mic_boost_put(struct snd_kcontrol *kcontrol,
595/* 595/*
596 * lists of mixer elements 596 * lists of mixer elements
597 */ 597 */
598static struct snd_kcontrol_new snd_pmac_awacs_mixers[] = { 598static struct snd_kcontrol_new snd_pmac_awacs_mixers[] __devinitdata = {
599 AWACS_SWITCH("Master Capture Switch", 1, SHIFT_LOOPTHRU, 0), 599 AWACS_SWITCH("Master Capture Switch", 1, SHIFT_LOOPTHRU, 0),
600 AWACS_VOLUME("Master Capture Volume", 0, 4, 0), 600 AWACS_VOLUME("Master Capture Volume", 0, 4, 0),
601/* AWACS_SWITCH("Unknown Playback Switch", 6, SHIFT_PAROUT0, 0), */ 601/* AWACS_SWITCH("Unknown Playback Switch", 6, SHIFT_PAROUT0, 0), */
602}; 602};
603 603
604static struct snd_kcontrol_new snd_pmac_screamer_mixers_beige[] = { 604static struct snd_kcontrol_new snd_pmac_screamer_mixers_beige[] __devinitdata = {
605 AWACS_VOLUME("Master Playback Volume", 2, 6, 1), 605 AWACS_VOLUME("Master Playback Volume", 2, 6, 1),
606 AWACS_VOLUME("Play-through Playback Volume", 5, 6, 1), 606 AWACS_VOLUME("Play-through Playback Volume", 5, 6, 1),
607 AWACS_SWITCH("Line Capture Switch", 0, SHIFT_MUX_MIC, 0), 607 AWACS_SWITCH("Line Capture Switch", 0, SHIFT_MUX_MIC, 0),
608 AWACS_SWITCH("CD Capture Switch", 0, SHIFT_MUX_LINE, 0), 608 AWACS_SWITCH("CD Capture Switch", 0, SHIFT_MUX_LINE, 0),
609}; 609};
610 610
611static struct snd_kcontrol_new snd_pmac_screamer_mixers_lo[] = { 611static struct snd_kcontrol_new snd_pmac_screamer_mixers_lo[] __devinitdata = {
612 AWACS_VOLUME("Line out Playback Volume", 2, 6, 1), 612 AWACS_VOLUME("Line out Playback Volume", 2, 6, 1),
613}; 613};
614 614
615static struct snd_kcontrol_new snd_pmac_screamer_mixers_imac[] = { 615static struct snd_kcontrol_new snd_pmac_screamer_mixers_imac[] __devinitdata = {
616 AWACS_VOLUME("Play-through Playback Volume", 5, 6, 1), 616 AWACS_VOLUME("Play-through Playback Volume", 5, 6, 1),
617 AWACS_SWITCH("CD Capture Switch", 0, SHIFT_MUX_CD, 0), 617 AWACS_SWITCH("CD Capture Switch", 0, SHIFT_MUX_CD, 0),
618}; 618};
619 619
620static struct snd_kcontrol_new snd_pmac_screamer_mixers_g4agp[] = { 620static struct snd_kcontrol_new snd_pmac_screamer_mixers_g4agp[] __devinitdata = {
621 AWACS_VOLUME("Line out Playback Volume", 2, 6, 1), 621 AWACS_VOLUME("Line out Playback Volume", 2, 6, 1),
622 AWACS_VOLUME("Master Playback Volume", 5, 6, 1), 622 AWACS_VOLUME("Master Playback Volume", 5, 6, 1),
623 AWACS_SWITCH("CD Capture Switch", 0, SHIFT_MUX_CD, 0), 623 AWACS_SWITCH("CD Capture Switch", 0, SHIFT_MUX_CD, 0),
624 AWACS_SWITCH("Line Capture Switch", 0, SHIFT_MUX_MIC, 0), 624 AWACS_SWITCH("Line Capture Switch", 0, SHIFT_MUX_MIC, 0),
625}; 625};
626 626
627static struct snd_kcontrol_new snd_pmac_awacs_mixers_pmac7500[] = { 627static struct snd_kcontrol_new snd_pmac_awacs_mixers_pmac7500[] __devinitdata = {
628 AWACS_VOLUME("Line out Playback Volume", 2, 6, 1), 628 AWACS_VOLUME("Line out Playback Volume", 2, 6, 1),
629 AWACS_SWITCH("CD Capture Switch", 0, SHIFT_MUX_CD, 0), 629 AWACS_SWITCH("CD Capture Switch", 0, SHIFT_MUX_CD, 0),
630 AWACS_SWITCH("Line Capture Switch", 0, SHIFT_MUX_MIC, 0), 630 AWACS_SWITCH("Line Capture Switch", 0, SHIFT_MUX_MIC, 0),
631}; 631};
632 632
633static struct snd_kcontrol_new snd_pmac_awacs_mixers_pmac5500[] = { 633static struct snd_kcontrol_new snd_pmac_awacs_mixers_pmac5500[] __devinitdata = {
634 AWACS_VOLUME("Headphone Playback Volume", 2, 6, 1), 634 AWACS_VOLUME("Headphone Playback Volume", 2, 6, 1),
635}; 635};
636 636
637static struct snd_kcontrol_new snd_pmac_awacs_mixers_pmac[] = { 637static struct snd_kcontrol_new snd_pmac_awacs_mixers_pmac[] __devinitdata = {
638 AWACS_VOLUME("Master Playback Volume", 2, 6, 1), 638 AWACS_VOLUME("Master Playback Volume", 2, 6, 1),
639 AWACS_SWITCH("CD Capture Switch", 0, SHIFT_MUX_CD, 0), 639 AWACS_SWITCH("CD Capture Switch", 0, SHIFT_MUX_CD, 0),
640}; 640};
@@ -642,34 +642,34 @@ static struct snd_kcontrol_new snd_pmac_awacs_mixers_pmac[] = {
642/* FIXME: is this correct order? 642/* FIXME: is this correct order?
643 * screamer (powerbook G3 pismo) seems to have different bits... 643 * screamer (powerbook G3 pismo) seems to have different bits...
644 */ 644 */
645static struct snd_kcontrol_new snd_pmac_awacs_mixers2[] = { 645static struct snd_kcontrol_new snd_pmac_awacs_mixers2[] __devinitdata = {
646 AWACS_SWITCH("Line Capture Switch", 0, SHIFT_MUX_LINE, 0), 646 AWACS_SWITCH("Line Capture Switch", 0, SHIFT_MUX_LINE, 0),
647 AWACS_SWITCH("Mic Capture Switch", 0, SHIFT_MUX_MIC, 0), 647 AWACS_SWITCH("Mic Capture Switch", 0, SHIFT_MUX_MIC, 0),
648}; 648};
649 649
650static struct snd_kcontrol_new snd_pmac_screamer_mixers2[] = { 650static struct snd_kcontrol_new snd_pmac_screamer_mixers2[] __devinitdata = {
651 AWACS_SWITCH("Line Capture Switch", 0, SHIFT_MUX_MIC, 0), 651 AWACS_SWITCH("Line Capture Switch", 0, SHIFT_MUX_MIC, 0),
652 AWACS_SWITCH("Mic Capture Switch", 0, SHIFT_MUX_LINE, 0), 652 AWACS_SWITCH("Mic Capture Switch", 0, SHIFT_MUX_LINE, 0),
653}; 653};
654 654
655static struct snd_kcontrol_new snd_pmac_awacs_mixers2_pmac5500[] = { 655static struct snd_kcontrol_new snd_pmac_awacs_mixers2_pmac5500[] __devinitdata = {
656 AWACS_SWITCH("CD Capture Switch", 0, SHIFT_MUX_CD, 0), 656 AWACS_SWITCH("CD Capture Switch", 0, SHIFT_MUX_CD, 0),
657}; 657};
658 658
659static struct snd_kcontrol_new snd_pmac_awacs_master_sw = 659static struct snd_kcontrol_new snd_pmac_awacs_master_sw __devinitdata =
660AWACS_SWITCH("Master Playback Switch", 1, SHIFT_HDMUTE, 1); 660AWACS_SWITCH("Master Playback Switch", 1, SHIFT_HDMUTE, 1);
661 661
662static struct snd_kcontrol_new snd_pmac_awacs_master_sw_imac = 662static struct snd_kcontrol_new snd_pmac_awacs_master_sw_imac __devinitdata =
663AWACS_SWITCH("Line out Playback Switch", 1, SHIFT_HDMUTE, 1); 663AWACS_SWITCH("Line out Playback Switch", 1, SHIFT_HDMUTE, 1);
664 664
665static struct snd_kcontrol_new snd_pmac_awacs_master_sw_pmac5500 = 665static struct snd_kcontrol_new snd_pmac_awacs_master_sw_pmac5500 __devinitdata =
666AWACS_SWITCH("Headphone Playback Switch", 1, SHIFT_HDMUTE, 1); 666AWACS_SWITCH("Headphone Playback Switch", 1, SHIFT_HDMUTE, 1);
667 667
668static struct snd_kcontrol_new snd_pmac_awacs_mic_boost[] = { 668static struct snd_kcontrol_new snd_pmac_awacs_mic_boost[] __devinitdata = {
669 AWACS_SWITCH("Mic Boost Capture Switch", 0, SHIFT_GAINLINE, 0), 669 AWACS_SWITCH("Mic Boost Capture Switch", 0, SHIFT_GAINLINE, 0),
670}; 670};
671 671
672static struct snd_kcontrol_new snd_pmac_screamer_mic_boost[] = { 672static struct snd_kcontrol_new snd_pmac_screamer_mic_boost[] __devinitdata = {
673 { .iface = SNDRV_CTL_ELEM_IFACE_MIXER, 673 { .iface = SNDRV_CTL_ELEM_IFACE_MIXER,
674 .name = "Mic Boost Capture Volume", 674 .name = "Mic Boost Capture Volume",
675 .info = snd_pmac_screamer_mic_boost_info, 675 .info = snd_pmac_screamer_mic_boost_info,
@@ -678,34 +678,34 @@ static struct snd_kcontrol_new snd_pmac_screamer_mic_boost[] = {
678 }, 678 },
679}; 679};
680 680
681static struct snd_kcontrol_new snd_pmac_awacs_mic_boost_pmac7500[] = 681static struct snd_kcontrol_new snd_pmac_awacs_mic_boost_pmac7500[] __devinitdata =
682{ 682{
683 AWACS_SWITCH("Line Boost Capture Switch", 0, SHIFT_GAINLINE, 0), 683 AWACS_SWITCH("Line Boost Capture Switch", 0, SHIFT_GAINLINE, 0),
684}; 684};
685 685
686static struct snd_kcontrol_new snd_pmac_screamer_mic_boost_beige[] = 686static struct snd_kcontrol_new snd_pmac_screamer_mic_boost_beige[] __devinitdata =
687{ 687{
688 AWACS_SWITCH("Line Boost Capture Switch", 0, SHIFT_GAINLINE, 0), 688 AWACS_SWITCH("Line Boost Capture Switch", 0, SHIFT_GAINLINE, 0),
689 AWACS_SWITCH("CD Boost Capture Switch", 6, SHIFT_MIC_BOOST, 0), 689 AWACS_SWITCH("CD Boost Capture Switch", 6, SHIFT_MIC_BOOST, 0),
690}; 690};
691 691
692static struct snd_kcontrol_new snd_pmac_screamer_mic_boost_imac[] = 692static struct snd_kcontrol_new snd_pmac_screamer_mic_boost_imac[] __devinitdata =
693{ 693{
694 AWACS_SWITCH("Line Boost Capture Switch", 0, SHIFT_GAINLINE, 0), 694 AWACS_SWITCH("Line Boost Capture Switch", 0, SHIFT_GAINLINE, 0),
695 AWACS_SWITCH("Mic Boost Capture Switch", 6, SHIFT_MIC_BOOST, 0), 695 AWACS_SWITCH("Mic Boost Capture Switch", 6, SHIFT_MIC_BOOST, 0),
696}; 696};
697 697
698static struct snd_kcontrol_new snd_pmac_awacs_speaker_vol[] = { 698static struct snd_kcontrol_new snd_pmac_awacs_speaker_vol[] __devinitdata = {
699 AWACS_VOLUME("Speaker Playback Volume", 4, 6, 1), 699 AWACS_VOLUME("Speaker Playback Volume", 4, 6, 1),
700}; 700};
701 701
702static struct snd_kcontrol_new snd_pmac_awacs_speaker_sw = 702static struct snd_kcontrol_new snd_pmac_awacs_speaker_sw __devinitdata =
703AWACS_SWITCH("Speaker Playback Switch", 1, SHIFT_SPKMUTE, 1); 703AWACS_SWITCH("Speaker Playback Switch", 1, SHIFT_SPKMUTE, 1);
704 704
705static struct snd_kcontrol_new snd_pmac_awacs_speaker_sw_imac1 = 705static struct snd_kcontrol_new snd_pmac_awacs_speaker_sw_imac1 __devinitdata =
706AWACS_SWITCH("Speaker Playback Switch", 1, SHIFT_PAROUT1, 1); 706AWACS_SWITCH("Speaker Playback Switch", 1, SHIFT_PAROUT1, 1);
707 707
708static struct snd_kcontrol_new snd_pmac_awacs_speaker_sw_imac2 = 708static struct snd_kcontrol_new snd_pmac_awacs_speaker_sw_imac2 __devinitdata =
709AWACS_SWITCH("Speaker Playback Switch", 1, SHIFT_PAROUT1, 0); 709AWACS_SWITCH("Speaker Playback Switch", 1, SHIFT_PAROUT1, 0);
710 710
711 711
@@ -872,7 +872,7 @@ static void snd_pmac_awacs_update_automute(struct snd_pmac *chip, int do_notify)
872/* 872/*
873 * initialize chip 873 * initialize chip
874 */ 874 */
875int 875int __devinit
876snd_pmac_awacs_init(struct snd_pmac *chip) 876snd_pmac_awacs_init(struct snd_pmac *chip)
877{ 877{
878 int pm7500 = IS_PM7500; 878 int pm7500 = IS_PM7500;
diff --git a/sound/ppc/beep.c b/sound/ppc/beep.c
index 0040f048221..a9d350789f5 100644
--- a/sound/ppc/beep.c
+++ b/sound/ppc/beep.c
@@ -215,7 +215,7 @@ static struct snd_kcontrol_new snd_pmac_beep_mixer = {
215}; 215};
216 216
217/* Initialize beep stuff */ 217/* Initialize beep stuff */
218int snd_pmac_attach_beep(struct snd_pmac *chip) 218int __devinit snd_pmac_attach_beep(struct snd_pmac *chip)
219{ 219{
220 struct pmac_beep *beep; 220 struct pmac_beep *beep;
221 struct input_dev *input_dev; 221 struct input_dev *input_dev;
diff --git a/sound/ppc/burgundy.c b/sound/ppc/burgundy.c
index cb4f0a5e984..00e2d5166d0 100644
--- a/sound/ppc/burgundy.c
+++ b/sound/ppc/burgundy.c
@@ -467,7 +467,7 @@ static int snd_pmac_burgundy_put_switch_b(struct snd_kcontrol *kcontrol,
467/* 467/*
468 * Burgundy mixers 468 * Burgundy mixers
469 */ 469 */
470static struct snd_kcontrol_new snd_pmac_burgundy_mixers[] = { 470static struct snd_kcontrol_new snd_pmac_burgundy_mixers[] __devinitdata = {
471 BURGUNDY_VOLUME_W("Master Playback Volume", 0, 471 BURGUNDY_VOLUME_W("Master Playback Volume", 0,
472 MASK_ADDR_BURGUNDY_MASTER_VOLUME, 8), 472 MASK_ADDR_BURGUNDY_MASTER_VOLUME, 8),
473 BURGUNDY_VOLUME_W("CD Capture Volume", 0, 473 BURGUNDY_VOLUME_W("CD Capture Volume", 0,
@@ -495,7 +495,7 @@ static struct snd_kcontrol_new snd_pmac_burgundy_mixers[] = {
495 */ BURGUNDY_SWITCH_B("PCM Capture Switch", 0, 495 */ BURGUNDY_SWITCH_B("PCM Capture Switch", 0,
496 MASK_ADDR_BURGUNDY_HOSTIFEH, 0x01, 0, 0) 496 MASK_ADDR_BURGUNDY_HOSTIFEH, 0x01, 0, 0)
497}; 497};
498static struct snd_kcontrol_new snd_pmac_burgundy_mixers_imac[] = { 498static struct snd_kcontrol_new snd_pmac_burgundy_mixers_imac[] __devinitdata = {
499 BURGUNDY_VOLUME_W("Line in Capture Volume", 0, 499 BURGUNDY_VOLUME_W("Line in Capture Volume", 0,
500 MASK_ADDR_BURGUNDY_VOLLINE, 16), 500 MASK_ADDR_BURGUNDY_VOLLINE, 16),
501 BURGUNDY_VOLUME_W("Mic Capture Volume", 0, 501 BURGUNDY_VOLUME_W("Mic Capture Volume", 0,
@@ -521,7 +521,7 @@ static struct snd_kcontrol_new snd_pmac_burgundy_mixers_imac[] = {
521 BURGUNDY_SWITCH_B("Mic Boost Capture Switch", 0, 521 BURGUNDY_SWITCH_B("Mic Boost Capture Switch", 0,
522 MASK_ADDR_BURGUNDY_INPBOOST, 0x40, 0x80, 1) 522 MASK_ADDR_BURGUNDY_INPBOOST, 0x40, 0x80, 1)
523}; 523};
524static struct snd_kcontrol_new snd_pmac_burgundy_mixers_pmac[] = { 524static struct snd_kcontrol_new snd_pmac_burgundy_mixers_pmac[] __devinitdata = {
525 BURGUNDY_VOLUME_W("Line in Capture Volume", 0, 525 BURGUNDY_VOLUME_W("Line in Capture Volume", 0,
526 MASK_ADDR_BURGUNDY_VOLMIC, 16), 526 MASK_ADDR_BURGUNDY_VOLMIC, 16),
527 BURGUNDY_VOLUME_B("Line in Gain Capture Volume", 0, 527 BURGUNDY_VOLUME_B("Line in Gain Capture Volume", 0,
@@ -537,33 +537,33 @@ static struct snd_kcontrol_new snd_pmac_burgundy_mixers_pmac[] = {
537/* BURGUNDY_SWITCH_B("Line in Boost Capture Switch", 0, 537/* BURGUNDY_SWITCH_B("Line in Boost Capture Switch", 0,
538 * MASK_ADDR_BURGUNDY_INPBOOST, 0x40, 0x80, 1) */ 538 * MASK_ADDR_BURGUNDY_INPBOOST, 0x40, 0x80, 1) */
539}; 539};
540static struct snd_kcontrol_new snd_pmac_burgundy_master_sw_imac = 540static struct snd_kcontrol_new snd_pmac_burgundy_master_sw_imac __devinitdata =
541BURGUNDY_SWITCH_B("Master Playback Switch", 0, 541BURGUNDY_SWITCH_B("Master Playback Switch", 0,
542 MASK_ADDR_BURGUNDY_MORE_OUTPUTENABLES, 542 MASK_ADDR_BURGUNDY_MORE_OUTPUTENABLES,
543 BURGUNDY_OUTPUT_LEFT | BURGUNDY_LINEOUT_LEFT | BURGUNDY_HP_LEFT, 543 BURGUNDY_OUTPUT_LEFT | BURGUNDY_LINEOUT_LEFT | BURGUNDY_HP_LEFT,
544 BURGUNDY_OUTPUT_RIGHT | BURGUNDY_LINEOUT_RIGHT | BURGUNDY_HP_RIGHT, 1); 544 BURGUNDY_OUTPUT_RIGHT | BURGUNDY_LINEOUT_RIGHT | BURGUNDY_HP_RIGHT, 1);
545static struct snd_kcontrol_new snd_pmac_burgundy_master_sw_pmac = 545static struct snd_kcontrol_new snd_pmac_burgundy_master_sw_pmac __devinitdata =
546BURGUNDY_SWITCH_B("Master Playback Switch", 0, 546BURGUNDY_SWITCH_B("Master Playback Switch", 0,
547 MASK_ADDR_BURGUNDY_MORE_OUTPUTENABLES, 547 MASK_ADDR_BURGUNDY_MORE_OUTPUTENABLES,
548 BURGUNDY_OUTPUT_INTERN 548 BURGUNDY_OUTPUT_INTERN
549 | BURGUNDY_OUTPUT_LEFT, BURGUNDY_OUTPUT_RIGHT, 1); 549 | BURGUNDY_OUTPUT_LEFT, BURGUNDY_OUTPUT_RIGHT, 1);
550static struct snd_kcontrol_new snd_pmac_burgundy_speaker_sw_imac = 550static struct snd_kcontrol_new snd_pmac_burgundy_speaker_sw_imac __devinitdata =
551BURGUNDY_SWITCH_B("Speaker Playback Switch", 0, 551BURGUNDY_SWITCH_B("Speaker Playback Switch", 0,
552 MASK_ADDR_BURGUNDY_MORE_OUTPUTENABLES, 552 MASK_ADDR_BURGUNDY_MORE_OUTPUTENABLES,
553 BURGUNDY_OUTPUT_LEFT, BURGUNDY_OUTPUT_RIGHT, 1); 553 BURGUNDY_OUTPUT_LEFT, BURGUNDY_OUTPUT_RIGHT, 1);
554static struct snd_kcontrol_new snd_pmac_burgundy_speaker_sw_pmac = 554static struct snd_kcontrol_new snd_pmac_burgundy_speaker_sw_pmac __devinitdata =
555BURGUNDY_SWITCH_B("Speaker Playback Switch", 0, 555BURGUNDY_SWITCH_B("Speaker Playback Switch", 0,
556 MASK_ADDR_BURGUNDY_MORE_OUTPUTENABLES, 556 MASK_ADDR_BURGUNDY_MORE_OUTPUTENABLES,
557 BURGUNDY_OUTPUT_INTERN, 0, 0); 557 BURGUNDY_OUTPUT_INTERN, 0, 0);
558static struct snd_kcontrol_new snd_pmac_burgundy_line_sw_imac = 558static struct snd_kcontrol_new snd_pmac_burgundy_line_sw_imac __devinitdata =
559BURGUNDY_SWITCH_B("Line out Playback Switch", 0, 559BURGUNDY_SWITCH_B("Line out Playback Switch", 0,
560 MASK_ADDR_BURGUNDY_MORE_OUTPUTENABLES, 560 MASK_ADDR_BURGUNDY_MORE_OUTPUTENABLES,
561 BURGUNDY_LINEOUT_LEFT, BURGUNDY_LINEOUT_RIGHT, 1); 561 BURGUNDY_LINEOUT_LEFT, BURGUNDY_LINEOUT_RIGHT, 1);
562static struct snd_kcontrol_new snd_pmac_burgundy_line_sw_pmac = 562static struct snd_kcontrol_new snd_pmac_burgundy_line_sw_pmac __devinitdata =
563BURGUNDY_SWITCH_B("Line out Playback Switch", 0, 563BURGUNDY_SWITCH_B("Line out Playback Switch", 0,
564 MASK_ADDR_BURGUNDY_MORE_OUTPUTENABLES, 564 MASK_ADDR_BURGUNDY_MORE_OUTPUTENABLES,
565 BURGUNDY_OUTPUT_LEFT, BURGUNDY_OUTPUT_RIGHT, 1); 565 BURGUNDY_OUTPUT_LEFT, BURGUNDY_OUTPUT_RIGHT, 1);
566static struct snd_kcontrol_new snd_pmac_burgundy_hp_sw_imac = 566static struct snd_kcontrol_new snd_pmac_burgundy_hp_sw_imac __devinitdata =
567BURGUNDY_SWITCH_B("Headphone Playback Switch", 0, 567BURGUNDY_SWITCH_B("Headphone Playback Switch", 0,
568 MASK_ADDR_BURGUNDY_MORE_OUTPUTENABLES, 568 MASK_ADDR_BURGUNDY_MORE_OUTPUTENABLES,
569 BURGUNDY_HP_LEFT, BURGUNDY_HP_RIGHT, 1); 569 BURGUNDY_HP_LEFT, BURGUNDY_HP_RIGHT, 1);
@@ -617,7 +617,7 @@ static void snd_pmac_burgundy_update_automute(struct snd_pmac *chip, int do_noti
617/* 617/*
618 * initialize burgundy 618 * initialize burgundy
619 */ 619 */
620int snd_pmac_burgundy_init(struct snd_pmac *chip) 620int __devinit snd_pmac_burgundy_init(struct snd_pmac *chip)
621{ 621{
622 int imac = of_machine_is_compatible("iMac"); 622 int imac = of_machine_is_compatible("iMac");
623 int i, err; 623 int i, err;
diff --git a/sound/ppc/daca.c b/sound/ppc/daca.c
index b86526223e4..24200b7bdac 100644
--- a/sound/ppc/daca.c
+++ b/sound/ppc/daca.c
@@ -244,7 +244,7 @@ static void daca_cleanup(struct snd_pmac *chip)
244} 244}
245 245
246/* exported */ 246/* exported */
247int snd_pmac_daca_init(struct snd_pmac *chip) 247int __devinit snd_pmac_daca_init(struct snd_pmac *chip)
248{ 248{
249 int i, err; 249 int i, err;
250 struct pmac_daca *mix; 250 struct pmac_daca *mix;
diff --git a/sound/ppc/keywest.c b/sound/ppc/keywest.c
index 01aecc2b507..8f064c7ce74 100644
--- a/sound/ppc/keywest.c
+++ b/sound/ppc/keywest.c
@@ -82,6 +82,7 @@ static int keywest_attach_adapter(struct i2c_adapter *adapter)
82 82
83static int keywest_remove(struct i2c_client *client) 83static int keywest_remove(struct i2c_client *client)
84{ 84{
85 i2c_set_clientdata(client, NULL);
85 if (! keywest_ctx) 86 if (! keywest_ctx)
86 return 0; 87 return 0;
87 if (client == keywest_ctx->client) 88 if (client == keywest_ctx->client)
@@ -115,7 +116,7 @@ void snd_pmac_keywest_cleanup(struct pmac_keywest *i2c)
115 } 116 }
116} 117}
117 118
118int snd_pmac_tumbler_post_init(void) 119int __devinit snd_pmac_tumbler_post_init(void)
119{ 120{
120 int err; 121 int err;
121 122
@@ -130,7 +131,7 @@ int snd_pmac_tumbler_post_init(void)
130} 131}
131 132
132/* exported */ 133/* exported */
133int snd_pmac_keywest_init(struct pmac_keywest *i2c) 134int __devinit snd_pmac_keywest_init(struct pmac_keywest *i2c)
134{ 135{
135 int err; 136 int err;
136 137
diff --git a/sound/ppc/pmac.c b/sound/ppc/pmac.c
index c93fbbb201f..ab96cde7417 100644
--- a/sound/ppc/pmac.c
+++ b/sound/ppc/pmac.c
@@ -702,7 +702,7 @@ static struct snd_pcm_ops snd_pmac_capture_ops = {
702 .pointer = snd_pmac_capture_pointer, 702 .pointer = snd_pmac_capture_pointer,
703}; 703};
704 704
705int snd_pmac_pcm_new(struct snd_pmac *chip) 705int __devinit snd_pmac_pcm_new(struct snd_pmac *chip)
706{ 706{
707 struct snd_pcm *pcm; 707 struct snd_pcm *pcm;
708 int err; 708 int err;
@@ -907,7 +907,7 @@ static int snd_pmac_dev_free(struct snd_device *device)
907 * check the machine support byteswap (little-endian) 907 * check the machine support byteswap (little-endian)
908 */ 908 */
909 909
910static void detect_byte_swap(struct snd_pmac *chip) 910static void __devinit detect_byte_swap(struct snd_pmac *chip)
911{ 911{
912 struct device_node *mio; 912 struct device_node *mio;
913 913
@@ -933,7 +933,7 @@ static void detect_byte_swap(struct snd_pmac *chip)
933/* 933/*
934 * detect a sound chip 934 * detect a sound chip
935 */ 935 */
936static int snd_pmac_detect(struct snd_pmac *chip) 936static int __devinit snd_pmac_detect(struct snd_pmac *chip)
937{ 937{
938 struct device_node *sound; 938 struct device_node *sound;
939 struct device_node *dn; 939 struct device_node *dn;
@@ -1146,7 +1146,7 @@ static int pmac_hp_detect_get(struct snd_kcontrol *kcontrol,
1146 return 0; 1146 return 0;
1147} 1147}
1148 1148
1149static struct snd_kcontrol_new auto_mute_controls[] = { 1149static struct snd_kcontrol_new auto_mute_controls[] __devinitdata = {
1150 { .iface = SNDRV_CTL_ELEM_IFACE_MIXER, 1150 { .iface = SNDRV_CTL_ELEM_IFACE_MIXER,
1151 .name = "Auto Mute Switch", 1151 .name = "Auto Mute Switch",
1152 .info = snd_pmac_boolean_mono_info, 1152 .info = snd_pmac_boolean_mono_info,
@@ -1161,7 +1161,7 @@ static struct snd_kcontrol_new auto_mute_controls[] = {
1161 }, 1161 },
1162}; 1162};
1163 1163
1164int snd_pmac_add_automute(struct snd_pmac *chip) 1164int __devinit snd_pmac_add_automute(struct snd_pmac *chip)
1165{ 1165{
1166 int err; 1166 int err;
1167 chip->auto_mute = 1; 1167 chip->auto_mute = 1;
@@ -1178,7 +1178,7 @@ int snd_pmac_add_automute(struct snd_pmac *chip)
1178/* 1178/*
1179 * create and detect a pmac chip record 1179 * create and detect a pmac chip record
1180 */ 1180 */
1181int snd_pmac_new(struct snd_card *card, struct snd_pmac **chip_return) 1181int __devinit snd_pmac_new(struct snd_card *card, struct snd_pmac **chip_return)
1182{ 1182{
1183 struct snd_pmac *chip; 1183 struct snd_pmac *chip;
1184 struct device_node *np; 1184 struct device_node *np;
diff --git a/sound/ppc/powermac.c b/sound/ppc/powermac.c
index 09fc848d32e..a2b69b8cff4 100644
--- a/sound/ppc/powermac.c
+++ b/sound/ppc/powermac.c
@@ -21,7 +21,7 @@
21#include <linux/init.h> 21#include <linux/init.h>
22#include <linux/err.h> 22#include <linux/err.h>
23#include <linux/platform_device.h> 23#include <linux/platform_device.h>
24#include <linux/module.h> 24#include <linux/moduleparam.h>
25#include <sound/core.h> 25#include <sound/core.h>
26#include <sound/initval.h> 26#include <sound/initval.h>
27#include "pmac.h" 27#include "pmac.h"
@@ -36,7 +36,7 @@ MODULE_LICENSE("GPL");
36 36
37static int index = SNDRV_DEFAULT_IDX1; /* Index 0-MAX */ 37static int index = SNDRV_DEFAULT_IDX1; /* Index 0-MAX */
38static char *id = SNDRV_DEFAULT_STR1; /* ID for this card */ 38static char *id = SNDRV_DEFAULT_STR1; /* ID for this card */
39static bool enable_beep = 1; 39static int enable_beep = 1;
40 40
41module_param(index, int, 0444); 41module_param(index, int, 0444);
42MODULE_PARM_DESC(index, "Index value for " CHIP_NAME " soundchip."); 42MODULE_PARM_DESC(index, "Index value for " CHIP_NAME " soundchip.");
@@ -51,7 +51,7 @@ static struct platform_device *device;
51/* 51/*
52 */ 52 */
53 53
54static int snd_pmac_probe(struct platform_device *devptr) 54static int __devinit snd_pmac_probe(struct platform_device *devptr)
55{ 55{
56 struct snd_card *card; 56 struct snd_card *card;
57 struct snd_pmac *chip; 57 struct snd_pmac *chip;
@@ -136,43 +136,40 @@ __error:
136} 136}
137 137
138 138
139static int snd_pmac_remove(struct platform_device *devptr) 139static int __devexit snd_pmac_remove(struct platform_device *devptr)
140{ 140{
141 snd_card_free(platform_get_drvdata(devptr)); 141 snd_card_free(platform_get_drvdata(devptr));
142 platform_set_drvdata(devptr, NULL); 142 platform_set_drvdata(devptr, NULL);
143 return 0; 143 return 0;
144} 144}
145 145
146#ifdef CONFIG_PM_SLEEP 146#ifdef CONFIG_PM
147static int snd_pmac_driver_suspend(struct device *dev) 147static int snd_pmac_driver_suspend(struct platform_device *devptr, pm_message_t state)
148{ 148{
149 struct snd_card *card = dev_get_drvdata(dev); 149 struct snd_card *card = platform_get_drvdata(devptr);
150 snd_pmac_suspend(card->private_data); 150 snd_pmac_suspend(card->private_data);
151 return 0; 151 return 0;
152} 152}
153 153
154static int snd_pmac_driver_resume(struct device *dev) 154static int snd_pmac_driver_resume(struct platform_device *devptr)
155{ 155{
156 struct snd_card *card = dev_get_drvdata(dev); 156 struct snd_card *card = platform_get_drvdata(devptr);
157 snd_pmac_resume(card->private_data); 157 snd_pmac_resume(card->private_data);
158 return 0; 158 return 0;
159} 159}
160
161static SIMPLE_DEV_PM_OPS(snd_pmac_pm, snd_pmac_driver_suspend, snd_pmac_driver_resume);
162#define SND_PMAC_PM_OPS &snd_pmac_pm
163#else
164#define SND_PMAC_PM_OPS NULL
165#endif 160#endif
166 161
167#define SND_PMAC_DRIVER "snd_powermac" 162#define SND_PMAC_DRIVER "snd_powermac"
168 163
169static struct platform_driver snd_pmac_driver = { 164static struct platform_driver snd_pmac_driver = {
170 .probe = snd_pmac_probe, 165 .probe = snd_pmac_probe,
171 .remove = snd_pmac_remove, 166 .remove = __devexit_p(snd_pmac_remove),
167#ifdef CONFIG_PM
168 .suspend = snd_pmac_driver_suspend,
169 .resume = snd_pmac_driver_resume,
170#endif
172 .driver = { 171 .driver = {
173 .name = SND_PMAC_DRIVER, 172 .name = SND_PMAC_DRIVER
174 .owner = THIS_MODULE,
175 .pm = SND_PMAC_PM_OPS,
176 }, 173 },
177}; 174};
178 175
diff --git a/sound/ppc/snd_ps3.c b/sound/ppc/snd_ps3.c
index 8c7dcbe0118..bc823a54755 100644
--- a/sound/ppc/snd_ps3.c
+++ b/sound/ppc/snd_ps3.c
@@ -24,7 +24,6 @@
24#include <linux/init.h> 24#include <linux/init.h>
25#include <linux/interrupt.h> 25#include <linux/interrupt.h>
26#include <linux/io.h> 26#include <linux/io.h>
27#include <linux/module.h>
28 27
29#include <sound/asound.h> 28#include <sound/asound.h>
30#include <sound/control.h> 29#include <sound/control.h>
@@ -786,7 +785,7 @@ static struct snd_pcm_ops snd_ps3_pcm_spdif_ops = {
786}; 785};
787 786
788 787
789static int snd_ps3_map_mmio(void) 788static int __devinit snd_ps3_map_mmio(void)
790{ 789{
791 the_card.mapped_mmio_vaddr = 790 the_card.mapped_mmio_vaddr =
792 ioremap(the_card.ps3_dev->m_region->bus_addr, 791 ioremap(the_card.ps3_dev->m_region->bus_addr,
@@ -808,7 +807,7 @@ static void snd_ps3_unmap_mmio(void)
808 the_card.mapped_mmio_vaddr = NULL; 807 the_card.mapped_mmio_vaddr = NULL;
809} 808}
810 809
811static int snd_ps3_allocate_irq(void) 810static int __devinit snd_ps3_allocate_irq(void)
812{ 811{
813 int ret; 812 int ret;
814 u64 lpar_addr, lpar_size; 813 u64 lpar_addr, lpar_size;
@@ -846,7 +845,7 @@ static int snd_ps3_allocate_irq(void)
846 return ret; 845 return ret;
847 } 846 }
848 847
849 ret = request_irq(the_card.irq_no, snd_ps3_interrupt, 0, 848 ret = request_irq(the_card.irq_no, snd_ps3_interrupt, IRQF_DISABLED,
850 SND_PS3_DRIVER_NAME, &the_card); 849 SND_PS3_DRIVER_NAME, &the_card);
851 if (ret) { 850 if (ret) {
852 pr_info("%s: request_irq failed (%d)\n", __func__, ret); 851 pr_info("%s: request_irq failed (%d)\n", __func__, ret);
@@ -866,7 +865,7 @@ static void snd_ps3_free_irq(void)
866 ps3_irq_plug_destroy(the_card.irq_no); 865 ps3_irq_plug_destroy(the_card.irq_no);
867} 866}
868 867
869static void snd_ps3_audio_set_base_addr(uint64_t ioaddr_start) 868static void __devinit snd_ps3_audio_set_base_addr(uint64_t ioaddr_start)
870{ 869{
871 uint64_t val; 870 uint64_t val;
872 int ret; 871 int ret;
@@ -876,13 +875,13 @@ static void snd_ps3_audio_set_base_addr(uint64_t ioaddr_start)
876 (0x0fUL << 12) | 875 (0x0fUL << 12) |
877 (PS3_AUDIO_IOID); 876 (PS3_AUDIO_IOID);
878 877
879 ret = lv1_gpu_attribute(0x100, 0x007, val); 878 ret = lv1_gpu_attribute(0x100, 0x007, val, 0, 0);
880 if (ret) 879 if (ret)
881 pr_info("%s: gpu_attribute failed %d\n", __func__, 880 pr_info("%s: gpu_attribute failed %d\n", __func__,
882 ret); 881 ret);
883} 882}
884 883
885static void snd_ps3_audio_fixup(struct snd_ps3_card_info *card) 884static void __devinit snd_ps3_audio_fixup(struct snd_ps3_card_info *card)
886{ 885{
887 /* 886 /*
888 * avsetting driver seems to never change the followings 887 * avsetting driver seems to never change the followings
@@ -906,7 +905,7 @@ static void snd_ps3_audio_fixup(struct snd_ps3_card_info *card)
906 PS3_AUDIO_AO_3WMCTRL_ASOPLRCK_DEFAULT); 905 PS3_AUDIO_AO_3WMCTRL_ASOPLRCK_DEFAULT);
907} 906}
908 907
909static int snd_ps3_init_avsetting(struct snd_ps3_card_info *card) 908static int __devinit snd_ps3_init_avsetting(struct snd_ps3_card_info *card)
910{ 909{
911 int ret; 910 int ret;
912 pr_debug("%s: start\n", __func__); 911 pr_debug("%s: start\n", __func__);
@@ -928,7 +927,7 @@ static int snd_ps3_init_avsetting(struct snd_ps3_card_info *card)
928 return ret; 927 return ret;
929} 928}
930 929
931static int snd_ps3_driver_probe(struct ps3_system_bus_device *dev) 930static int __devinit snd_ps3_driver_probe(struct ps3_system_bus_device *dev)
932{ 931{
933 int i, ret; 932 int i, ret;
934 u64 lpar_addr, lpar_size; 933 u64 lpar_addr, lpar_size;
@@ -1040,7 +1039,6 @@ static int snd_ps3_driver_probe(struct ps3_system_bus_device *dev)
1040 GFP_KERNEL); 1039 GFP_KERNEL);
1041 if (!the_card.null_buffer_start_vaddr) { 1040 if (!the_card.null_buffer_start_vaddr) {
1042 pr_info("%s: nullbuffer alloc failed\n", __func__); 1041 pr_info("%s: nullbuffer alloc failed\n", __func__);
1043 ret = -ENOMEM;
1044 goto clean_preallocate; 1042 goto clean_preallocate;
1045 } 1043 }
1046 pr_debug("%s: null vaddr=%p dma=%#llx\n", __func__, 1044 pr_debug("%s: null vaddr=%p dma=%#llx\n", __func__,
diff --git a/sound/ppc/tumbler.c b/sound/ppc/tumbler.c
index b23354a4cec..9cea84c3e0c 100644
--- a/sound/ppc/tumbler.c
+++ b/sound/ppc/tumbler.c
@@ -844,7 +844,7 @@ static int snapper_put_capture_source(struct snd_kcontrol *kcontrol,
844 844
845/* 845/*
846 */ 846 */
847static struct snd_kcontrol_new tumbler_mixers[] = { 847static struct snd_kcontrol_new tumbler_mixers[] __devinitdata = {
848 { .iface = SNDRV_CTL_ELEM_IFACE_MIXER, 848 { .iface = SNDRV_CTL_ELEM_IFACE_MIXER,
849 .name = "Master Playback Volume", 849 .name = "Master Playback Volume",
850 .info = tumbler_info_master_volume, 850 .info = tumbler_info_master_volume,
@@ -868,7 +868,7 @@ static struct snd_kcontrol_new tumbler_mixers[] = {
868 }, 868 },
869}; 869};
870 870
871static struct snd_kcontrol_new snapper_mixers[] = { 871static struct snd_kcontrol_new snapper_mixers[] __devinitdata = {
872 { .iface = SNDRV_CTL_ELEM_IFACE_MIXER, 872 { .iface = SNDRV_CTL_ELEM_IFACE_MIXER,
873 .name = "Master Playback Volume", 873 .name = "Master Playback Volume",
874 .info = tumbler_info_master_volume, 874 .info = tumbler_info_master_volume,
@@ -901,7 +901,7 @@ static struct snd_kcontrol_new snapper_mixers[] = {
901 }, 901 },
902}; 902};
903 903
904static struct snd_kcontrol_new tumbler_hp_sw = { 904static struct snd_kcontrol_new tumbler_hp_sw __devinitdata = {
905 .iface = SNDRV_CTL_ELEM_IFACE_MIXER, 905 .iface = SNDRV_CTL_ELEM_IFACE_MIXER,
906 .name = "Headphone Playback Switch", 906 .name = "Headphone Playback Switch",
907 .info = snd_pmac_boolean_mono_info, 907 .info = snd_pmac_boolean_mono_info,
@@ -909,7 +909,7 @@ static struct snd_kcontrol_new tumbler_hp_sw = {
909 .put = tumbler_put_mute_switch, 909 .put = tumbler_put_mute_switch,
910 .private_value = TUMBLER_MUTE_HP, 910 .private_value = TUMBLER_MUTE_HP,
911}; 911};
912static struct snd_kcontrol_new tumbler_speaker_sw = { 912static struct snd_kcontrol_new tumbler_speaker_sw __devinitdata = {
913 .iface = SNDRV_CTL_ELEM_IFACE_MIXER, 913 .iface = SNDRV_CTL_ELEM_IFACE_MIXER,
914 .name = "Speaker Playback Switch", 914 .name = "Speaker Playback Switch",
915 .info = snd_pmac_boolean_mono_info, 915 .info = snd_pmac_boolean_mono_info,
@@ -917,7 +917,7 @@ static struct snd_kcontrol_new tumbler_speaker_sw = {
917 .put = tumbler_put_mute_switch, 917 .put = tumbler_put_mute_switch,
918 .private_value = TUMBLER_MUTE_AMP, 918 .private_value = TUMBLER_MUTE_AMP,
919}; 919};
920static struct snd_kcontrol_new tumbler_lineout_sw = { 920static struct snd_kcontrol_new tumbler_lineout_sw __devinitdata = {
921 .iface = SNDRV_CTL_ELEM_IFACE_MIXER, 921 .iface = SNDRV_CTL_ELEM_IFACE_MIXER,
922 .name = "Line Out Playback Switch", 922 .name = "Line Out Playback Switch",
923 .info = snd_pmac_boolean_mono_info, 923 .info = snd_pmac_boolean_mono_info,
@@ -925,7 +925,7 @@ static struct snd_kcontrol_new tumbler_lineout_sw = {
925 .put = tumbler_put_mute_switch, 925 .put = tumbler_put_mute_switch,
926 .private_value = TUMBLER_MUTE_LINE, 926 .private_value = TUMBLER_MUTE_LINE,
927}; 927};
928static struct snd_kcontrol_new tumbler_drc_sw = { 928static struct snd_kcontrol_new tumbler_drc_sw __devinitdata = {
929 .iface = SNDRV_CTL_ELEM_IFACE_MIXER, 929 .iface = SNDRV_CTL_ELEM_IFACE_MIXER,
930 .name = "DRC Switch", 930 .name = "DRC Switch",
931 .info = snd_pmac_boolean_mono_info, 931 .info = snd_pmac_boolean_mono_info,
@@ -1276,7 +1276,7 @@ static void tumbler_resume(struct snd_pmac *chip)
1276#endif 1276#endif
1277 1277
1278/* initialize tumbler */ 1278/* initialize tumbler */
1279static int tumbler_init(struct snd_pmac *chip) 1279static int __devinit tumbler_init(struct snd_pmac *chip)
1280{ 1280{
1281 int irq; 1281 int irq;
1282 struct pmac_tumbler *mix = chip->mixer_data; 1282 struct pmac_tumbler *mix = chip->mixer_data;
@@ -1349,7 +1349,7 @@ static void tumbler_cleanup(struct snd_pmac *chip)
1349} 1349}
1350 1350
1351/* exported */ 1351/* exported */
1352int snd_pmac_tumbler_init(struct snd_pmac *chip) 1352int __devinit snd_pmac_tumbler_init(struct snd_pmac *chip)
1353{ 1353{
1354 int i, err; 1354 int i, err;
1355 struct pmac_tumbler *mix; 1355 struct pmac_tumbler *mix;