Re: [PATCH v3 02/22] uapi/media.h: Declare interface types for ALSA

From: Hans Verkuil
Date: Thu Mar 03 2016 - 10:00:11 EST


On 02/12/16 00:41, Shuah Khan wrote:
> Declare the interface types to be used on alsa for
> the new G_TOPOLOGY ioctl.
>
> Signed-off-by: Shuah Khan <shuahkh@xxxxxxxxxxxxxxx>
> ---
> drivers/media/media-entity.c | 16 ++++++++++++++++
> include/uapi/linux/media.h | 10 ++++++++++
> 2 files changed, 26 insertions(+)
>
> diff --git a/drivers/media/media-entity.c b/drivers/media/media-entity.c
> index f2e4360..6179543 100644
> --- a/drivers/media/media-entity.c
> +++ b/drivers/media/media-entity.c
> @@ -65,6 +65,22 @@ static inline const char *intf_type(struct media_interface *intf)
> return "v4l2-subdev";
> case MEDIA_INTF_T_V4L_SWRADIO:
> return "swradio";
> + case MEDIA_INTF_T_ALSA_PCM_CAPTURE:
> + return "pcm-capture";
> + case MEDIA_INTF_T_ALSA_PCM_PLAYBACK:
> + return "pcm-playback";
> + case MEDIA_INTF_T_ALSA_CONTROL:
> + return "alsa-control";
> + case MEDIA_INTF_T_ALSA_COMPRESS:
> + return "compress";
> + case MEDIA_INTF_T_ALSA_RAWMIDI:
> + return "rawmidi";
> + case MEDIA_INTF_T_ALSA_HWDEP:
> + return "hwdep";
> + case MEDIA_INTF_T_ALSA_SEQUENCER:
> + return "sequencer";
> + case MEDIA_INTF_T_ALSA_TIMER:
> + return "timer";

Wouldn't it be better to add an 'alsa' prefix for all of these?

And 'dvb-' or 'v4l2-' (or v4l-) for the others as well.

Names like 'timer' are very generic. I think it would be a good idea to
make the naming more regular and have it include the subsystem name just
as the define does.

Regards,

Hans

> default:
> return "unknown-intf";
> }
> diff --git a/include/uapi/linux/media.h b/include/uapi/linux/media.h
> index c9eb42a..3cc0366 100644
> --- a/include/uapi/linux/media.h
> +++ b/include/uapi/linux/media.h
> @@ -265,6 +265,7 @@ struct media_links_enum {
>
> #define MEDIA_INTF_T_DVB_BASE 0x00000100
> #define MEDIA_INTF_T_V4L_BASE 0x00000200
> +#define MEDIA_INTF_T_ALSA_BASE 0x00000300
>
> /* Interface types */
>
> @@ -280,6 +281,15 @@ struct media_links_enum {
> #define MEDIA_INTF_T_V4L_SUBDEV (MEDIA_INTF_T_V4L_BASE + 3)
> #define MEDIA_INTF_T_V4L_SWRADIO (MEDIA_INTF_T_V4L_BASE + 4)
>
> +#define MEDIA_INTF_T_ALSA_PCM_CAPTURE (MEDIA_INTF_T_ALSA_BASE)
> +#define MEDIA_INTF_T_ALSA_PCM_PLAYBACK (MEDIA_INTF_T_ALSA_BASE + 1)
> +#define MEDIA_INTF_T_ALSA_CONTROL (MEDIA_INTF_T_ALSA_BASE + 2)
> +#define MEDIA_INTF_T_ALSA_COMPRESS (MEDIA_INTF_T_ALSA_BASE + 3)
> +#define MEDIA_INTF_T_ALSA_RAWMIDI (MEDIA_INTF_T_ALSA_BASE + 4)
> +#define MEDIA_INTF_T_ALSA_HWDEP (MEDIA_INTF_T_ALSA_BASE + 5)
> +#define MEDIA_INTF_T_ALSA_SEQUENCER (MEDIA_INTF_T_ALSA_BASE + 6)
> +#define MEDIA_INTF_T_ALSA_TIMER (MEDIA_INTF_T_ALSA_BASE + 7)
> +
> /*
> * MC next gen API definitions
> *
>