On Thu, Jul 25, 2019 at 03:01:12PM +0200, Maxime Ripard wrote: > Since I have two codecs, I have two links (described through > simple-card) and thus two subdevices. However, the microphones > connected are really separate streams, so ideally (I guess?) we should > have 1 subdevice per microphone. > An alternative would be that we capture the whole 4 channels and use > dsnoop to demux them, but trying to use the device directly (using > arecord -D hw:0) results in the ioctl to change the number of channels > being rejected, I'm assuming because each codec only has 2 channels? > So I'm a bit lost at this point about how I should go and expose > this. I couldn't really find any similar setup either in the > kernel. Any preferred way of doing this? What is the actual hardware - what do the microphones physically look like in the system, what functional role do they play? My initial guess would be to combine them into a single PCM for userspace, there's some support for that but it's not surprising if that's broken somewhere along the line as it's very infrequently tested.