From: Eero Nurkkala <eero.nurkkala@xxxxxxxxxx> After this set, the apr.c should be far less complex and have less code. Everything should work as always after every commit. Patch 6/7 makes an assumption that all voice goes to (comes from) modem - thus PATCH/RFC. But that's how it looks: (but certainly it could break things if there's clients not included in the open source code) if (hdr->src_domain == APR_DOMAIN_MODEM) { src = APR_DEST_MODEM; if (svc == APR_SVC_MVS || svc == APR_SVC_MVM || svc == APR_SVC_CVS || svc == APR_SVC_CVP || svc == APR_SVC_TEST_CLIENT) -> clnt = APR_CLIENT_VOICE; else { pr_err("APR: Wrong svc :%d\n", svc); return; } } else if (hdr->src_domain == APR_DOMAIN_ADSP) { src = APR_DEST_QDSP6; if (svc == APR_SVC_AFE || svc == APR_SVC_ASM || svc == APR_SVC_ADM || svc == APR_SVC_ADSP_CORE || svc == APR_SVC_TEST_CLIENT || svc == APR_SVC_ADSP_MVM || svc == APR_SVC_ADSP_CVS || svc == APR_SVC_ADSP_CVP) -> clnt = APR_CLIENT_AUDIO; else { pr_err("APR: Wrong svc :%d\n", svc); return; } } else { Applies to android-msm-2.6.35 -branch. Summary: arch/arm/mach-msm/include/mach/qdsp6v2/apr.h | 35 +++- arch/arm/mach-msm/qdsp6v2/apr.c | 284 +++++--------------------- arch/arm/mach-msm/qdsp6v2/apr_tal.c | 2 +- arch/arm/mach-msm/qdsp6v2/apr_tal.h | 69 ------- arch/arm/mach-msm/qdsp6v2/apr_tal_debug.c | 21 ++- arch/arm/mach-msm/qdsp6v2/q6adm.c | 10 +- arch/arm/mach-msm/qdsp6v2/q6afe.c | 4 +- arch/arm/mach-msm/qdsp6v2/q6asm.c | 4 +- arch/arm/mach-msm/qdsp6v2/q6voice.c | 15 +- 9 files changed, 123 insertions(+), 321 deletions(-) Signed-off-by: Eero Nurkkala <eero.nurkkala@xxxxxxxxxx> -- To unsubscribe from this list: send the line "unsubscribe linux-arm-msm" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html