I had to make two little change to make it compile: snd_ep = msm_rpc_connect_compatible(snd_rpc_ids.prog, became: snd_ep = msm_rpc_connect(snd_rpc_ids.prog, and I also changed snd_rpc_ids.vers(with ifdefs) to a known and working magick number:
I also had to change from ARCH_MSM_ARM11 to ARCH_MSM in the configuration
it still has serious runtime problems such as: *Can produce kernel oops under theses conditions: start alsamixer and if the second bar is on 0 or 4, so it can play music with aplay,then increase the routing alsamixer bar to the max. Then decrease the routing bar to 4 or less Then It may have a null pointer problem That bug could be because it tries to route to route to speakers and handset at the same time(SND_DEVICE_HEADSET_AND_SPEAKER in android): that is to say it could be the same bug than here: http://gitorious.org/replicant/msm7k/commit/370d37a088368ca8cc478e76c928a1ce... but I need time to verify that *can pannick(reboots the phone) if you send things to /dev/dsp when the oss emulation is activated *only aplay works(mplayer,gstreamer don't work) for mplayer an ioctl didn't return...so it get stuck before playing. The explanation of the bug can be found here: http://mailman.alsa-project.org/pipermail/alsa-devel/2009-November/022697.ht...
Note the following things: *this patch depends on,and doesn't contain arch/arm/mach-msm/qdsp5 *I removed the support for more recents chips because of code-size issue in a mailing list
Signed-off-by: Denis 'GNUtoo' Carikli GNUtoo@no-log.org --- sound/soc/Kconfig | 1 + sound/soc/Makefile | 1 + sound/soc/msm/Kconfig | 23 ++ sound/soc/msm/Makefile | 11 + sound/soc/msm/msm-dai.c | 143 ++++++++++ sound/soc/msm/msm-pcm.c | 643 +++++++++++++++++++++++++++++++++++++++++++++ sound/soc/msm/msm-pcm.h | 200 ++++++++++++++ sound/soc/msm/msm7201.c | 337 ++++++++++++++++++++++++ sound/soc/msm/msm7k-pcm.c | 574 ++++++++++++++++++++++++++++++++++++++++ 9 files changed, 1933 insertions(+), 0 deletions(-) create mode 100644 sound/soc/msm/Kconfig create mode 100644 sound/soc/msm/Makefile create mode 100644 sound/soc/msm/msm-dai.c create mode 100644 sound/soc/msm/msm-pcm.c create mode 100644 sound/soc/msm/msm-pcm.h create mode 100644 sound/soc/msm/msm7201.c create mode 100644 sound/soc/msm/msm7k-pcm.c