ASoC: topology: Move v4 manifest header data structures to uapi
authorGuenter Roeck <groeck@chromium.org>
Thu, 24 May 2018 19:49:22 +0000 (12:49 -0700)
committerMark Brown <broonie@kernel.org>
Fri, 1 Jun 2018 17:09:13 +0000 (18:09 +0100)
Topology manifest v4 is still part of the ABI. Move its data structures
into the uapi header file.

No functional change.

Signed-off-by: Guenter Roeck <groeck@chromium.org>
Signed-off-by: Mark Brown <broonie@kernel.org>
include/uapi/sound/asoc.h
sound/soc/soc-topology.c

index b901cdbe532a07b256d4e5977805d7a200cbfcdc..a74ca232f1fc1ff69bc6b7e9e6a3d17feae0108f 100644 (file)
@@ -573,4 +573,61 @@ struct snd_soc_tplg_dai {
        __le32 flags;           /* SND_SOC_TPLG_DAI_FLGBIT_* */
        struct snd_soc_tplg_private priv;
 } __attribute__((packed));
+
+/*
+ * Old version of ABI structs, supported for backward compatibility.
+ */
+
+/* Manifest v4 */
+struct snd_soc_tplg_manifest_v4 {
+       __le32 size;            /* in bytes of this structure */
+       __le32 control_elems;   /* number of control elements */
+       __le32 widget_elems;    /* number of widget elements */
+       __le32 graph_elems;     /* number of graph elements */
+       __le32 pcm_elems;       /* number of PCM elements */
+       __le32 dai_link_elems;  /* number of DAI link elements */
+       struct snd_soc_tplg_private priv;
+} __packed;
+
+/* Stream Capabilities v4 */
+struct snd_soc_tplg_stream_caps_v4 {
+       __le32 size;            /* in bytes of this structure */
+       char name[SNDRV_CTL_ELEM_ID_NAME_MAXLEN];
+       __le64 formats; /* supported formats SNDRV_PCM_FMTBIT_* */
+       __le32 rates;           /* supported rates SNDRV_PCM_RATE_* */
+       __le32 rate_min;        /* min rate */
+       __le32 rate_max;        /* max rate */
+       __le32 channels_min;    /* min channels */
+       __le32 channels_max;    /* max channels */
+       __le32 periods_min;     /* min number of periods */
+       __le32 periods_max;     /* max number of periods */
+       __le32 period_size_min; /* min period size bytes */
+       __le32 period_size_max; /* max period size bytes */
+       __le32 buffer_size_min; /* min buffer size bytes */
+       __le32 buffer_size_max; /* max buffer size bytes */
+} __packed;
+
+/* PCM v4 */
+struct snd_soc_tplg_pcm_v4 {
+       __le32 size;            /* in bytes of this structure */
+       char pcm_name[SNDRV_CTL_ELEM_ID_NAME_MAXLEN];
+       char dai_name[SNDRV_CTL_ELEM_ID_NAME_MAXLEN];
+       __le32 pcm_id;          /* unique ID - used to match with DAI link */
+       __le32 dai_id;          /* unique ID - used to match */
+       __le32 playback;        /* supports playback mode */
+       __le32 capture;         /* supports capture mode */
+       __le32 compress;        /* 1 = compressed; 0 = PCM */
+       struct snd_soc_tplg_stream stream[SND_SOC_TPLG_STREAM_CONFIG_MAX]; /* for DAI link */
+       __le32 num_streams;     /* number of streams */
+       struct snd_soc_tplg_stream_caps_v4 caps[2]; /* playback and capture for DAI */
+} __packed;
+
+/* Physical link config v4 */
+struct snd_soc_tplg_link_config_v4 {
+       __le32 size;            /* in bytes of this structure */
+       __le32 id;              /* unique ID - used to match */
+       struct snd_soc_tplg_stream stream[SND_SOC_TPLG_STREAM_CONFIG_MAX]; /* supported configs playback and captrure */
+       __le32 num_streams;     /* number of streams */
+} __packed;
+
 #endif
index 3d04fa297677d3f4aa5da79b5ae58cf0f3a9e7cf..3fd5d9c867b9b5d30c39eee8d615849d094630b6 100644 (file)
 #define SOC_TPLG_PASS_START    SOC_TPLG_PASS_MANIFEST
 #define SOC_TPLG_PASS_END      SOC_TPLG_PASS_LINK
 
-/*
- * Old version of ABI structs, supported for backward compatibility.
- */
-
-/* Manifest v4 */
-struct snd_soc_tplg_manifest_v4 {
-       __le32 size;            /* in bytes of this structure */
-       __le32 control_elems;   /* number of control elements */
-       __le32 widget_elems;    /* number of widget elements */
-       __le32 graph_elems;     /* number of graph elements */
-       __le32 pcm_elems;       /* number of PCM elements */
-       __le32 dai_link_elems;  /* number of DAI link elements */
-       struct snd_soc_tplg_private priv;
-} __packed;
-
-/* Stream Capabilities v4 */
-struct snd_soc_tplg_stream_caps_v4 {
-       __le32 size;            /* in bytes of this structure */
-       char name[SNDRV_CTL_ELEM_ID_NAME_MAXLEN];
-       __le64 formats; /* supported formats SNDRV_PCM_FMTBIT_* */
-       __le32 rates;           /* supported rates SNDRV_PCM_RATE_* */
-       __le32 rate_min;        /* min rate */
-       __le32 rate_max;        /* max rate */
-       __le32 channels_min;    /* min channels */
-       __le32 channels_max;    /* max channels */
-       __le32 periods_min;     /* min number of periods */
-       __le32 periods_max;     /* max number of periods */
-       __le32 period_size_min; /* min period size bytes */
-       __le32 period_size_max; /* max period size bytes */
-       __le32 buffer_size_min; /* min buffer size bytes */
-       __le32 buffer_size_max; /* max buffer size bytes */
-} __packed;
-
-/* PCM v4 */
-struct snd_soc_tplg_pcm_v4 {
-       __le32 size;            /* in bytes of this structure */
-       char pcm_name[SNDRV_CTL_ELEM_ID_NAME_MAXLEN];
-       char dai_name[SNDRV_CTL_ELEM_ID_NAME_MAXLEN];
-       __le32 pcm_id;          /* unique ID - used to match with DAI link */
-       __le32 dai_id;          /* unique ID - used to match */
-       __le32 playback;        /* supports playback mode */
-       __le32 capture;         /* supports capture mode */
-       __le32 compress;        /* 1 = compressed; 0 = PCM */
-       struct snd_soc_tplg_stream stream[SND_SOC_TPLG_STREAM_CONFIG_MAX]; /* for DAI link */
-       __le32 num_streams;     /* number of streams */
-       struct snd_soc_tplg_stream_caps_v4 caps[2]; /* playback and capture for DAI */
-} __packed;
-
-/* Physical link config v4 */
-struct snd_soc_tplg_link_config_v4 {
-       __le32 size;            /* in bytes of this structure */
-       __le32 id;              /* unique ID - used to match */
-       struct snd_soc_tplg_stream stream[SND_SOC_TPLG_STREAM_CONFIG_MAX]; /* supported configs playback and captrure */
-       __le32 num_streams;     /* number of streams */
-} __packed;
-
 /* topology context */
 struct soc_tplg {
        const struct firmware *fw;