mirror of
https://github.com/alsa-project/alsa-lib.git
synced 2026-02-20 01:40:08 -05:00
control: ucm: add ioctl to retrieve full card components
The fixed-size components field in SNDRV_CTL_IOCTL_CARD_INFO can be too small on systems with many audio devices. The kernel [1] will provide a new ioctl to read the full string while truncating the original in card_info if it grows too big. Make sure the code falls back to original if the new ioctl is not supported. [1]: https://lore.kernel.org/all/20260122111249.67319-1-mstrozek@opensource.cirrus.com/ Signed-off-by: Maciej Strozek <mstrozek@opensource.cirrus.com>
This commit is contained in:
parent
75ed5f05ba
commit
d4cf5da490
17 changed files with 180 additions and 5 deletions
|
|
@ -647,6 +647,9 @@ static int ctl_shm_cmd(client_t *client)
|
|||
case SNDRV_CTL_IOCTL_CARD_INFO:
|
||||
ctrl->result = snd_ctl_card_info(ctl, &ctrl->u.card_info);
|
||||
break;
|
||||
case SNDRV_CTL_IOCTL_CARD_COMPONENTS:
|
||||
ctrl->result = snd_ctl_card_components(ctl, &ctrl->u.card_components);
|
||||
break;
|
||||
case SNDRV_CTL_IOCTL_ELEM_LIST:
|
||||
{
|
||||
size_t maxsize = CTL_SHM_DATA_MAXLEN;
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue