Skip to contentSkip to conversation

Add support for PowerMac3,5 in snd-aoa ALSA sound module

PATCH In review Linux User #330250 2 participants 2 messages Feb 19, 2011 – Feb 20, 2011

lore
Share & tools
lore
#0 lore raw

PATCH 1/1 Add support for PowerMac3,5 in snd-aoa ALSA sound module

Hello!

About two years ago Johannes Berg wrote support for the PowerMac3,6 aka G4 = MDD=20
which I was using as a desktop computer then. Johannes wrote all the code, = and=20
I tested it.

I now have a PowerMac3,5 =E2=80=93 yes, an earlier model.

This patch makes the snd-aoa ALSA sound module support the TAS3001C codec o= f=20
my Apple Power Mac G4 "Quicksilver" (2001 model). I suppose it will also wo= rk=20
for the "Quicksilver 2002", since both identify as PowerMac3,5.

The patch also changes a few comments to name the exact Power Mac model mor= e=20
accurately in sound/aoa/fabrics/layout.c.

This is my first contribution to the linux kernel ever, so I hope you will = be=20
kind to me. I am not a programmer, but adding already supported devices was=
a=20
task even I could accomplish.

Thanks,
Andreas aka Linux User #330250

=2D--

diff -Naur linux-2.6.38-rc5-git2/sound/aoa/fabrics/layout.c linux-2.6.38-rc= 5-git2-aoa-PowerMac3,5/sound/aoa/fabrics/layout.c
=2D-- linux-2.6.38-rc5-git2/sound/aoa/fabrics/layout.c 2011-01-05 01:50:=
19.000000000 +0100
+++ linux-2.6.38-rc5-git2-aoa-PowerMac3,5/sound/aoa/fabrics/layout.c 201=
1-02-17 18:43:26.000000000 +0100
@@ -111,6 +111,7 @@
MODULE_ALIAS("sound-layout-100");
=20
MODULE_ALIAS("aoa-device-id-14");
+MODULE_ALIAS("aoa-device-id-21");
MODULE_ALIAS("aoa-device-id-22"); MODULE_ALIAS("aoa-device-id-35");
=20
@@ -333,14 +334,14 @@

                .connections =3D topaz_input,
          },
        },
=2D       /* Quad PowerMac (analog in, analog/digital out) */
+       /* PowerMac11,2 (G5 Dual-Core and Quad) (analog in, analog/digital =
out) */
        { .layout_id =3D 68,
          .codecs[0] =3D {
                .name =3D "onyx",
                .connections =3D onyx_connections_nomic,
          },
        },
=2D       /* Quad PowerMac (digital in) */
+       /* PowerMac11,2 (G5 Dual-Core and Quad) (digital in) */
        { .layout_id =3D 69,
          .codecs[0] =3D {
                .name =3D "topaz",
@@ -521,14 +522,21 @@
                .connections =3D onyx_connections_noheadphones,
          },
        },---
=2D       /* PowerMac3,4 */
+       /* PowerMac3,4 (Digital Audio) */
        { .device_id =3D 14,
          .codecs[0] =3D {
                .name =3D "tas",
                .connections =3D tas_connections_noline,
          },
        },

=2D /* PowerMac3,6 */
+ /* PowerMac3,5 (Quicksilver) */
+ { .device_id =3D 21,
+ .codecs[0] =3D {
+ .name =3D "tas",
+ .connections =3D tas_connections_noline,
+ },
+ },
+ /* PowerMac3,6 (Mirrored Drive Doors) */

        { .device_id =3D 22,
          .codecs[0] =3D {
                .name =3D "tas",

diff -Naur linux-2.6.38-rc5-git2/sound/aoa/soundbus/i2sbus/core.c linux-2.6= =2E38-rc5-git2-aoa-PowerMac3,5/sound/aoa/soundbus/i2sbus/core.c
=2D-- linux-2.6.38-rc5-git2/sound/aoa/soundbus/i2sbus/core.c 2011-01-0=
5 01:50:19.000000000 +0100
+++ linux-2.6.38-rc5-git2-aoa-PowerMac3,5/sound/aoa/soundbus/i2sbus/core.c =

     2011-02-17 18:44:36.000000000 +0100

@@ -200,7 +200,7 @@
* We probably cannot handle all device-id machines,
* so restrict to those we do handle for now. */
=2D if (id && (*id =3D=3D 22 || *id =3D=3D 14 || *id =
=3D=3D 35)) {
+ if (id && (*id =3D=3D 22 || *id =3D=3D 21 || *id =

=3D=3D 14 || *id =3D=3D 35)) {
                                snprintf(dev->sound.modalias, 32,
                                         "aoa-device-id-%d", *id);
                                ok =3D 1;
#1 lore raw

At Sat, 19 Feb 2011 15:53:46 +0100,

Quoted 13 lines · Linux User #330250 wrote:

Hello!

About two years ago Johannes Berg wrote support for the PowerMac3,6 aka G4 MDD which I was using as a desktop computer then. Johannes wrote all the code, and I tested it.

I now have a PowerMac3,5 – yes, an earlier model.

This patch makes the snd-aoa ALSA sound module support the TAS3001C codec of my Apple Power Mac G4 "Quicksilver" (2001 model). I suppose it will also work for the "Quicksilver 2002", since both identify as PowerMac3,5.

Quoted 6 lines

The patch also changes a few comments to name the exact Power Mac model more accurately in sound/aoa/fabrics/layout.c.

This is my first contribution to the linux kernel ever, so I hope you will be kind to me. I am not a programmer, but adding already supported devices was a task even I could accomplish.

Thanks for the patch. The changes look good to me.

The only missing piece is your sign-off. Could you give it? See $LINUX/Documentation/SubmittingPatches section "Sign your work" for details.

Takashi

Quoted 71 lines

Thanks,
Andreas aka Linux User #330250

---

diff -Naur linux-2.6.38-rc5-git2/sound/aoa/fabrics/layout.c linux-2.6.38-rc5-git2-aoa-PowerMac3,5/sound/aoa/fabrics/layout.c

sound/aoa/fabrics/layout.c 2011-02-17 18:43:26.000000000 +0100 renamed from sound/aoa/fabrics/layout.c 2011-01-05 01:50:19.000000000 +0100 +12 -4
@@ -111,6 +111,7 @@
 MODULE_ALIAS("sound-layout-100");
 
 MODULE_ALIAS("aoa-device-id-14");
+MODULE_ALIAS("aoa-device-id-21");
 MODULE_ALIAS("aoa-device-id-22");
 MODULE_ALIAS("aoa-device-id-35");
 
@@ -333,14 +334,14 @@
                .connections = topaz_input,
          },
        },
-       /* Quad PowerMac (analog in, analog/digital out) */
+       /* PowerMac11,2 (G5 Dual-Core and Quad) (analog in, analog/digital out) */
        { .layout_id = 68,
          .codecs[0] = {
                .name = "onyx",
                .connections = onyx_connections_nomic,
          },
        },
-       /* Quad PowerMac (digital in) */
+       /* PowerMac11,2 (G5 Dual-Core and Quad) (digital in) */
        { .layout_id = 69,
          .codecs[0] = {
                .name = "topaz",
@@ -521,14 +522,21 @@
                .connections = onyx_connections_noheadphones,
          },
        },---
-       /* PowerMac3,4 */
+       /* PowerMac3,4 (Digital Audio) */
        { .device_id = 14,
          .codecs[0] = {
                .name = "tas",
                .connections = tas_connections_noline,
          },
        },
-       /* PowerMac3,6 */
+       /* PowerMac3,5 (Quicksilver) */
+       { .device_id = 21,
+         .codecs[0] = {
+               .name = "tas",
+               .connections = tas_connections_noline,
+         },
+       },
+       /* PowerMac3,6 (Mirrored Drive Doors) */
        { .device_id = 22,
          .codecs[0] = {
                .name = "tas",

diff -Naur linux-2.6.38-rc5-git2/sound/aoa/soundbus/i2sbus/core.c linux-2.6.38-rc5-git2-aoa-PowerMac3,5/sound/aoa/soundbus/i2sbus/core.c

sound/aoa/soundbus/i2sbus/core.c 2011-02-17 18:44:36.000000000 +0100 renamed from sound/aoa/soundbus/i2sbus/core.c 2011-01-05 01:50:19.000000000 +0100 +1 -1
@@ -200,7 +200,7 @@
                         * We probably cannot handle all device-id machines,
                         * so restrict to those we do handle for now.
                         */
-                       if (id && (*id == 22 || *id == 14 || *id == 35)) {
+                       if (id && (*id == 22 || *id == 21 || *id == 14 || *id == 35)) {
                                snprintf(dev->sound.modalias, 32,
                                         "aoa-device-id-%d", *id);
                                ok = 1;