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

Shuah Khan shuahkh at osg.samsung.com
Mon Feb 1 18:04:38 CET 2016


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 at osg.samsung.com> escreveu:
>>>
>>>> From: Mauro Carvalho Chehab <mchehab at osg.samsung.com>
>>>>
>>>> Declare the interface types to be used on alsa for the new
>>>> G_TOPOLOGY ioctl.
>>>>
>>>> Signed-off-by: Mauro Carvalho Chehab <mchehab at osg.samsung.com>
>>>> ---
>>>>  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 at osg.samsung.com | (970) 217-8978


More information about the Alsa-devel mailing list