Hi,
I'm currently writting a driver with up to 8 pcm devices, so I turned on "Dynamic device file minor numbers" option. But when I try to list devices through aplay or a record (which are calling ioctl with cmd SNDRV_CTL_IOCTL_PCM_NEXT_DEVICE) I can only list devices from 0 to 7. This is due to this code :
linux/sound/core/pcm.c l.64 ------------------------------ case SNDRV_CTL_IOCTL_PCM_NEXT_DEVICE: { int device;
if (get_user(device, (int __user *)arg)) return -EFAULT; mutex_lock(®ister_mutex); device = device < 0 ? 0 : device + 1; while (device < SNDRV_PCM_DEVICES) { if (snd_pcm_search(card, device)) break; device++; } if (device == SNDRV_PCM_DEVICES) device = -1; mutex_unlock(®ister_mutex); if (put_user(device, (int __user *)arg)) return -EFAULT; return 0; } ------------------------------ because SNDRV_PCM_DEVICES is defined to 8 and do not change even if I selected "Dynamic device file minor numbers" option.
Is there anything I missed ?