Add entity types for describing the topology of sound devices.
JACK entities represent connections to the outside world. Properties of the jack will be described by a TLV on the jack entity.
MIXER entities add their inputs together, while SELECTOR entities route on of their inputs to the output. PROCESSING entities represent volume/ mute controls or other effects processing units. These entities may have ALSA controls associated with them, which is indicated by those controls having a TLV containing the entity ID and the control type.
SPLIT and MERGE entities are needed for HDA codecs, whose topology is constructed of stereo channel pairs.
Signed-off-by: Clemens Ladisch clemens@ladisch.de --- include/linux/media.h | 9 +++++++++ 1 files changed, 9 insertions(+), 0 deletions(-)
diff --git a/include/linux/media.h b/include/linux/media.h index 0ef8833..9d2ad75 100644 --- a/include/linux/media.h +++ b/include/linux/media.h @@ -57,6 +57,15 @@ struct media_device_info { #define MEDIA_ENT_T_V4L2_SUBDEV_FLASH (MEDIA_ENT_T_V4L2_SUBDEV + 2) #define MEDIA_ENT_T_V4L2_SUBDEV_LENS (MEDIA_ENT_T_V4L2_SUBDEV + 3)
+#define MEDIA_ENT_T_JACK (3 << MEDIA_ENT_TYPE_SHIFT) + +#define MEDIA_ENT_T_ALSA (4 << MEDIA_ENT_TYPE_SHIFT) +#define MEDIA_ENT_T_ALSA_MIXER (MEDIA_ENT_T_ALSA + 1) +#define MEDIA_ENT_T_ALSA_SELECTOR (MEDIA_ENT_T_ALSA + 2) +#define MEDIA_ENT_T_ALSA_PROCESSING (MEDIA_ENT_T_ALSA + 3) +#define MEDIA_ENT_T_ALSA_SPLIT (MEDIA_ENT_T_ALSA + 4) +#define MEDIA_ENT_T_ALSA_MERGE (MEDIA_ENT_T_ALSA + 5) + #define MEDIA_ENT_FL_DEFAULT (1 << 0)
struct media_entity_desc {