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. 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, 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 --- 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 2011-02-17 18:43:26.000000000 +0100 @@ -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 --- linux-2.6.38-rc5-git2/sound/aoa/soundbus/i2sbus/core.c 2011-01-05 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. */ - 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;
_______________________________________________ Linuxppc-dev mailing list Linuxppc-dev@lists.ozlabs.org https://lists.ozlabs.org/listinfo/linuxppc-dev