Hi,
we are using an ARM PXA300 based device with SoC devices. The code is completely upstream, our platform is defined in sound/soc/pxa/raumfeld.c
I've recently tried to update our kernel to 2.6.37, but it looks like there have been some changes in the Linux kernel that cause our sound hardware not to be recognized or initialised correctly any longer.
This is the output when booting Linux 2.6.36.3:
[ 26.909242] Asahi Kasei AK4104 ALSA SoC Codec Driver [ 26.915118] No device for DAI ak4104 [ 26.918680] ak4104 spi0.0: SPI device initialized [ 26.923870] Cirrus Logic CS4270 ALSA SoC Codec Driver [ 26.929471] cs4270 0-0048: found device at i2c address 48 [ 26.934935] cs4270 0-0048: hardware revision 3 [ 26.941557] No device for DAI pxa2xx-ssp1 [ 26.945554] No device for DAI pxa2xx-ssp2 [ 26.949533] No device for DAI pxa2xx-ssp3 [ 26.953590] No device for DAI pxa2xx-ssp4 [ 26.959814] asoc: cs4270 <-> pxa2xx-ssp1 mapping ok [ 26.970007] asoc: ak4104 <-> pxa2xx-ssp2 mapping ok [ 27.080719] ALSA device list: [ 27.083690] #0: Raumfeld analog (CS4270) [ 27.087750] #1: Raumfeld S/PDIF (ak4104)
And here are the relevant lines from booting 2.6.37:
[ 26.927802] Asahi Kasei AK4104 ALSA SoC Codec Driver [ 26.933269] Cirrus Logic CS4270 ALSA SoC Codec Driver [ 26.938886] cs4270-codec 0-0048: found device at i2c address 48 [ 26.944774] cs4270-codec 0-0048: hardware revision 3 [ 27.058972] ALSA device list: [ 27.061933] No soundcards found.
Based on this output I've done a git bisect. Unfortunately there is a larger series of commits that don't even compile, so I have not been able to find out the exact commit that broke it, but I've boiled it down to a number of commits:
There are only 'skip'ped commits left to test. The first bad commit could be any of: 5dcba5d6741d4533e0ef696507f93f2a4c738efb cf7af01aa77ec1b17687f5328ce0a598709efd59 54d8d0aeb96e677c129918b391b9e74d48e65294 a6d14342dc46f0ef94cccf323fd9481de84b458f 48bd3472d6512c74257706f7c38ad10a7117bac7 960d0697919aef453273e3a0ccc87daf52d808ac 381ac990db3f4fdfbe91e3a636cab03edf293b9c 38445af3bc0658615fd9a724fbcb67148eac2cd3 13cb61f8c261ca6a218f83f4ee9c3bd5cfc223a5 af3751a0bfe4d461e0567961dc06448f2128e26f 26e277d7151abcef8efa1e6f1f0d1420d4ed17c6 6ba6c9c3414b95c3ed50d529fb0efa744ed45761 10e2f11326e0a263f0336686454be67efb2b56dc ff71334a46844d0ae6ff0055c549790bcd27bb10 87a0632b29410bab5c1783d7eb979c8d942d4209 dd99a4524bd9f82358e9a20a44c5e784baa4e702 1a3c5a491af6756dbba6ee166a9dee72bb414ba8 f5d1e5ed58dc0178e1678db63156772999379d49 6e6f66226f0092a39526f8d6f02ebb447d995be2 6f341d14811550d863ba804ce6ec7757a7145081 eaae183f4b3f25522cd13ebf30162c1cb863b1f1 9d37e8947c613190b7b92c63830e638ffdb08e48 e231cab0a4b5844ae13a9584433ca3b9b204629e f51582fd8d9b1196d58cd94c2b4b759cc1baf57a 3782a528974c9607bde03ec265bbebd2dc300ea1 698cb111f44d81dd3a604ba2a7f3f865b66b9ddf 8ef339df25ed424e7430fd411a52840c6af368c6 9a76f1ff6e299fbb04149fe15aff061351fd0dab c5607d8e7a4c30d2ff62b8eefe3f977d5c71d2fe f0fba2ad1b6b53d5360125c41953b7afcd6deff0 ba2772edbe1f03a695029ca82844615fe41d28fc We cannot bisect more!
As far as I can see these patches are all part of the introduction of ASoC Multi-Component Support. Perhaps someone who's been working on this could have a look and give me some hints on how to proceed further?
I've already tried 2.6.38-rc2 with same results as with 2.6.37.
Thanks, Sven