OSDN Git Service

ctl: deprecate APIs of dimensional information
authorTakashi Sakamoto <o-takashi@sakamocchi.jp>
Mon, 13 Nov 2017 00:14:10 +0000 (09:14 +0900)
committerTakashi Iwai <tiwai@suse.de>
Mon, 13 Nov 2017 15:56:55 +0000 (16:56 +0100)
commit6d951ddf00cbc365a21bd7e39736b3d9a9b8012f
tree2e5dc0b6ec04f25ea1e0316162e1d42d004308bd
parent9f941cb1d7b7afce24922857017e89c4c76659a9
ctl: deprecate APIs of dimensional information

In ALSA control interface in asound.h, 'struct snd_ctl_elem_info' has
'dimen' member to deliver information for multi-dimensional array, however
there's no common way to handle the member. As a result, drivers can
force userspace applications to handle the information by inconsistent
ways.

This issue was reported by a commit 51db452df07b ('Revert "ALSA: echoaudio:
purge contradictions between dimension matrix members and total number of
members"') to Linux kernel. As a result of discussion at Linux
miniconference 2017, usage of 'dimen' member of 'struct snd_ctl_elem_info'
is going to be deprecated for future removal.

A removal of kernel interface can cause regression issues. However no ALSA
driver in kernel land except for 'echoaudio' series utilizes this feature.
Actually it's reasonable to assume that 'echomixer' program is an unique
consumer of the interface in user land and the removal rarely brings any
impact to user land.

This commit deprecates some APIs corresponding to the kernel interface. The
kernel interface is kept till Linux kernel v4.20 at least, but actual
timing of removal is not fixed yet. After that, these APIs may also be
removed at a reasonable timing.

Signed-off-by: Takashi Sakamoto <o-takashi@sakamocchi.jp>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
src/control/control.c