Every 6-12 months it seems, my audio drivers break because of some update to the ASoC. It's that time again.
It appears that support for deferred probing isn't working for me. I turned on debug printks (and added a few of my own to my drivers), and here's the log:
It looks like everything is registering, but the audio device still doesn't exist. Can anyone give me a clue what's wrong?
bus: 'i2c': driver_probe_device: matched device 0-004f with driver cs4270 bus: 'i2c': really_probe: probing driver cs4270 with device 0-004f cs4270 0-004f: found device at i2c address 4F cs4270 0-004f: hardware revision 3 cs4270 0-004f: codec register 0-004f cs4270 0-004f: dai register 0-004f #1 cs4270 0-004f: Mapped DAI cs4270-hifi to CODEC cs4270.0-004f Registered DAI 'cs4270-hifi' Registered codec 'cs4270.0-004f' driver: '0-004f': driver_bound: bound to device 'cs4270' bus: 'i2c': really_probe: bound device 0-004f to driver cs4270 Freescale MPC8610 HPCD ALSA SoC machine driver bus: 'platform': driver_probe_device: matched device e0016000.ssi with driver fsl-ssi-dai bus: 'platform': really_probe: probing driver fsl-ssi-dai with device e0016000.ssi fsl-ssi-dai e0016000.ssi: probing fsl-ssi-dai e0016000.ssi: registering with ASoC fsl-ssi-dai e0016000.ssi: dai register e0016000.ssi Registered DAI 'e0016000.ssi' fsl-ssi-dai e0016000.ssi: AsoC registration complete fsl-ssi-dai e0016000.ssi: platform registration 'snd-soc-mpc8610hpcd' bus: 'platform': driver_probe_device: matched device snd-soc-mpc8610hpcd.0 with driver snd-soc-mpc8610hpcd bus: 'platform': really_probe: probing driver snd-soc-mpc8610hpcd with device snd-soc-mpc8610hpcd.0 bus: 'platform': driver_probe_device: matched device soc-audio with driver soc-audio bus: 'platform': really_probe: probing driver soc-audio with device soc-audio soc-audio soc-audio: ASoC machine snd-soc-mpc8610hpcd should use snd_soc_register_card() soc-audio soc-audio: binding playback at idx 0 soc-audio soc-audio: platform e0021100.dma-channel not registered platform soc-audio: Driver soc-audio requests probe deferral platform soc-audio: Added to deferred list driver: 'snd-soc-mpc8610hpcd.0': driver_bound: bound to device 'snd-soc-mpc8610hpcd' bus: 'platform': really_probe: bound device snd-soc-mpc8610hpcd.0 to driver snd-soc-mpc8610hpcd fsl-ssi-dai e0016000.ssi: probe successful driver: 'e0016000.ssi': driver_bound: bound to device 'fsl-ssi-dai' bus: 'platform': really_probe: bound device e0016000.ssi to driver fsl-ssi-dai bus: 'platform': driver_probe_device: matched device e0021100.dma-channel with driver fsl-pcm-audio bus: 'platform': really_probe: probing driver fsl-pcm-audio with device e0021100.dma-channel fsl-pcm-audio e0021100.dma-channel: probing fsl-pcm-audio e0021100.dma-channel: platform register e0021100.dma-channel Registered platform 'e0021100.dma-channel' fsl-pcm-audio e0021100.dma-channel: probe successful driver: 'e0021100.dma-channel': driver_bound: bound to device 'fsl-pcm-audio' bus: 'platform': really_probe: bound device e0021100.dma-channel to driver fsl-pcm-audio bus: 'platform': driver_probe_device: matched device e0021180.dma-channel with driver fsl-pcm-audio bus: 'platform': really_probe: probing driver fsl-pcm-audio with device e0021180.dma-channel fsl-pcm-audio e0021180.dma-channel: probing fsl-pcm-audio e0021180.dma-channel: platform register e0021180.dma-channel Registered platform 'e0021180.dma-channel' fsl-pcm-audio e0021180.dma-channel: probe successful driver: 'e0021180.dma-channel': driver_bound: bound to device 'fsl-pcm-audio' bus: 'platform': really_probe: bound device e0021180.dma-channel to driver fsl-pcm-audio ... ALSA device list: No soundcards found. platform soc-audio: Retrying from deferred list bus: 'platform': driver_probe_device: matched device soc-audio with driver soc-audio bus: 'platform': really_probe: probing driver soc-audio with device soc-audio soc-audio: probe of soc-audio failed with error -22
When I use speaker-test, I get this:
# speaker-test -t sine -c 2 -r 48000
speaker-test 1.0.11rc2
Playback device is default Stream parameters are 48000Hz, S16_BE, 2 channels Sine wave rate is 440.0000Hz ALSA lib confmisc.c:768:(parse_card) cannot find card '0' ALSA lib conf.c:3513:(_snd_config_evaluate) function snd_func_card_driver returned error: No such file or directory ALSA lib confmisc.c:392:(snd_func_concat) error evaluating strings ALSA lib conf.c:3513:(_snd_config_evaluate) function snd_func_concat returned error: No such file or directory ALSA lib confmisc.c:1251:(snd_func_refer) error evaluating name ALSA lib conf.c:3513:(_snd_config_evaluate) function snd_func_refer returned error: No such file or directory ALSA lib conf.c:3985:(snd_config_expand) Evaluate error: No such file or directory ALSA lib pcm.c:2202:(snd_pcm_open_noupdate) Unknown PCM default Playback open error: -2,No such file or directory