diff -Naur linux-5.15.98/sound/aoa/fabrics/layout.c linux-5.15.98-aoapatched/sound/aoa/fabrics/layout.c --- linux-5.15.98/sound/aoa/fabrics/layout.c 2021-11-01 07:53:10.000000000 +1100 +++ linux-5.15.98-aoapatched/sound/aoa/fabrics/layout.c 2023-03-26 10:26:44.164446653 +1100 @@ -112,6 +112,8 @@ MODULE_ALIAS("aoa-device-id-22"); MODULE_ALIAS("aoa-device-id-31"); MODULE_ALIAS("aoa-device-id-35"); +MODULE_ALIAS("aoa-device-id-38"); +MODULE_ALIAS("aoa-device-id-40"); MODULE_ALIAS("aoa-device-id-44"); /* onyx with all but microphone connected */ @@ -368,7 +370,20 @@ .connections = tas_connections_nolineout, }, }, + /* PowerBook6,4 */ + { .device_id = 40, + .codecs[0] = { + .name = "tas", + .connections = tas_connections_nolineout, + }, + }, /* PowerBook6,5 */ + { .device_id = 38, + .codecs[0] = { + .name = "tas", + .connections = tas_connections_all, + }, + }, { .device_id = 44, .codecs[0] = { .name = "tas", diff -Naur linux-5.15.98/sound/aoa/soundbus/i2sbus/core.c linux-5.15.98-aoapatched/sound/aoa/soundbus/i2sbus/core.c --- linux-5.15.98/sound/aoa/soundbus/i2sbus/core.c 2023-03-25 22:44:47.884607314 +1100 +++ linux-5.15.98-aoapatched/sound/aoa/soundbus/i2sbus/core.c 2023-03-25 22:57:44.774604351 +1100 @@ -197,8 +197,9 @@ * 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 || - *id == 31 || *id == 44)) { + if (id && (*id == 14 || *id == 22 || *id == 31 || + *id == 35 || *id == 38 || *id == 40 || + *id == 44)) { snprintf(dev->sound.modalias, 32, "aoa-device-id-%d", *id); ok = 1;