Re: [PATCH 01/31] uapi/media.h: Declare interface types for ALSA

From: Shuah Khan
Date: Mon Feb 01 2016 - 12:04:50 EST


On 02/01/2016 09:18 AM, Takashi Iwai wrote:
> On Mon, 01 Feb 2016 17:07:51 +0100,
> Shuah Khan wrote:
>>
>> On 01/28/2016 07:59 AM, Mauro Carvalho Chehab wrote:
>>> Em Wed, 6 Jan 2016 13:26:50 -0700
>>> Shuah Khan <shuahkh@xxxxxxxxxxxxxxx> escreveu:
>>>
>>>> From: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx>
>>>>
>>>> Declare the interface types to be used on alsa for the new
>>>> G_TOPOLOGY ioctl.
>>>>
>>>> Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx>
>>>> ---
>>>> drivers/media/media-entity.c | 12 ++++++++++++
>>>> include/uapi/linux/media.h | 8 ++++++++
>>>> 2 files changed, 20 insertions(+)
>>>>
>>>> diff --git a/drivers/media/media-entity.c b/drivers/media/media-entity.c
>>>> index eb38bc3..6e02d19 100644
>>>> --- a/drivers/media/media-entity.c
>>>> +++ b/drivers/media/media-entity.c
>>>> @@ -65,6 +65,18 @@ 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";
>>>> default:
>>>> return "unknown-intf";
>>>> }
>>>> diff --git a/include/uapi/linux/media.h b/include/uapi/linux/media.h
>>>> index cacfceb..75cbe92 100644
>>>> --- a/include/uapi/linux/media.h
>>>> +++ b/include/uapi/linux/media.h
>>>> @@ -252,6 +252,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 */
>>>>
>>>> @@ -267,6 +268,13 @@ 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)
>>>
>>> Patch looks ok, but please document the new media interfaces at KernelDoc
>>> documentation.
>>>
>>
>> Hi Takashi,
>>
>> If you are okay with these changes, could you please
>> Ack this patch. I am addressing documentation comment
>> from Mauro.
>
> Well, the available ALSA devices are:
>
> CONTROL
> SEQUENCER
> TIMER
> COMPRESS
> HWDEP
> RAWMIDI
> PCM_PLAYBACK
> PCM_CAPTURE
>
> as found in sound/minors.h.
>
> Any reason not to define for some of them?

Looks like SEQUENCER and TIMER are missing in
the MC defines. I can see how SEQUENCER could
be relevant as an MC node, however not sure
about TIMER use-case. That said, I don't see
any reason for not including it.

I will add Media Interface Types for both
of these missing ones.

thanks,
-- Shuah


--
Shuah Khan
Sr. Linux Kernel Developer
Open Source Innovation Group
Samsung Research America (Silicon Valley)
shuahkh@xxxxxxxxxxxxxxx | (970) 217-8978