[alsa-devel] [PATCH 0/2] ALSA: pcm: remove unused local commands
Hi,
A callback of 'struct snd_pcm_ops.ioctl' is internally used for ALSA pcm core to communicate to each drivers for some purposes; e.g. ask the size of FIFO in handled devices. However, in 'include/sound/pcm.h', there're some commands for the callback, which has never been used.
This commit removes the unused commands to prevent developers from undocumented and unreferenced features.
Takashi Sakamoto (2): ALSA: pcm: remove SNDRV_PCM_IOCTL1_INFO internal command ALSA: pcm: remove SNDRV_PCM_IOCTL1_GSTATE internal command
include/sound/pcm.h | 4 ++-- sound/core/pcm_lib.c | 2 -- sound/core/pcm_native.c | 6 +----- 3 files changed, 3 insertions(+), 9 deletions(-)
Drivers can implement 'struct snd_pcm_ops.ioctl' to handle some requests from ALSA PCM core. These requests are internal purpose in kernel land. Usually common set of operations are used for it.
SNDRV_PCM_IOCTL1_INFO is one of the requests. According to code comment, it has been obsoleted in the old days.
We can see old releases in ftp.alsa-project.org. The command was firstly introduced in v0.5.0 release as SND_PCM_IOCTL1_INFO, to allow drivers to fill data of 'struct snd_pcm_channel_info' type. In v0.9.0 release, this was obsoleted by the other commands for ioctl(2) such as SNDRV_PCM_IOCTL_CHANNEL_INFO.
This commit removes the long-abandoned command, bye.
Signed-off-by: Takashi Sakamoto o-takashi@sakamocchi.jp --- include/sound/pcm.h | 2 +- sound/core/pcm_lib.c | 2 -- sound/core/pcm_native.c | 6 +----- 3 files changed, 2 insertions(+), 8 deletions(-)
diff --git a/include/sound/pcm.h b/include/sound/pcm.h index c24f85f12b71..48e3eecac86d 100644 --- a/include/sound/pcm.h +++ b/include/sound/pcm.h @@ -102,7 +102,7 @@ struct snd_pcm_ops { #endif
#define SNDRV_PCM_IOCTL1_RESET 0 -#define SNDRV_PCM_IOCTL1_INFO 1 +/* 1 is absent slot. */ #define SNDRV_PCM_IOCTL1_CHANNEL_INFO 2 #define SNDRV_PCM_IOCTL1_GSTATE 3 #define SNDRV_PCM_IOCTL1_FIFO_SIZE 4 diff --git a/sound/core/pcm_lib.c b/sound/core/pcm_lib.c index 75308ddc54ca..631cd598ba6c 100644 --- a/sound/core/pcm_lib.c +++ b/sound/core/pcm_lib.c @@ -1787,8 +1787,6 @@ int snd_pcm_lib_ioctl(struct snd_pcm_substream *substream, unsigned int cmd, void *arg) { switch (cmd) { - case SNDRV_PCM_IOCTL1_INFO: - return 0; case SNDRV_PCM_IOCTL1_RESET: return snd_pcm_lib_ioctl_reset(substream, arg); case SNDRV_PCM_IOCTL1_CHANNEL_INFO: diff --git a/sound/core/pcm_native.c b/sound/core/pcm_native.c index 05858c91c0ea..7e8f3656b695 100644 --- a/sound/core/pcm_native.c +++ b/sound/core/pcm_native.c @@ -212,11 +212,7 @@ int snd_pcm_info(struct snd_pcm_substream *substream, struct snd_pcm_info *info) info->subdevices_avail = pstr->substream_count - pstr->substream_opened; strlcpy(info->subname, substream->name, sizeof(info->subname)); runtime = substream->runtime; - /* AB: FIXME!!! This is definitely nonsense */ - if (runtime) { - info->sync = runtime->sync; - substream->ops->ioctl(substream, SNDRV_PCM_IOCTL1_INFO, info); - } + return 0; }
SNDRV_PCM_IOCTL1_GSTATE was firstly introduced in v0.9.0, however never be used and the purpose is missing.
This commit removes the long-abandoned command, bye.
Signed-off-by: Takashi Sakamoto o-takashi@sakamocchi.jp --- include/sound/pcm.h | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/include/sound/pcm.h b/include/sound/pcm.h index 48e3eecac86d..5a22075c5fcf 100644 --- a/include/sound/pcm.h +++ b/include/sound/pcm.h @@ -104,7 +104,7 @@ struct snd_pcm_ops { #define SNDRV_PCM_IOCTL1_RESET 0 /* 1 is absent slot. */ #define SNDRV_PCM_IOCTL1_CHANNEL_INFO 2 -#define SNDRV_PCM_IOCTL1_GSTATE 3 +/* 3 is absent slot. */ #define SNDRV_PCM_IOCTL1_FIFO_SIZE 4
#define SNDRV_PCM_TRIGGER_STOP 0
On Wed, 14 Jun 2017 12:30:02 +0200, Takashi Sakamoto wrote:
Hi,
A callback of 'struct snd_pcm_ops.ioctl' is internally used for ALSA pcm core to communicate to each drivers for some purposes; e.g. ask the size of FIFO in handled devices. However, in 'include/sound/pcm.h', there're some commands for the callback, which has never been used.
This commit removes the unused commands to prevent developers from undocumented and unreferenced features.
Takashi Sakamoto (2): ALSA: pcm: remove SNDRV_PCM_IOCTL1_INFO internal command ALSA: pcm: remove SNDRV_PCM_IOCTL1_GSTATE internal command
Applied both patches. Thanks.
Takashi
participants (2)
-
Takashi Iwai
-
Takashi Sakamoto