Skip to content

Commit

Permalink
ASoC: topology: ABI - Rename struct and type for physical DAIs
Browse files Browse the repository at this point in the history
Rename the ABI struct and type because they are for configuring physical
DAIs, not only backend DAIs since users may not need DPCM:
- Rename struct snd_soc_tplg_be_dai to snd_soc_tplg_dai.
- Rename type SND_SOC_TPLG_TYPE_BE_DAI to SND_SOC_TPLG_TYPE_DAI.

This code refactoring is backward compatible because:
- Both layout of the struct and type value has no change. Kernel can
  find the same type value and map to same data layout.
- This struct is not in ABI v4 at all. Now the user space uses ABI v4.

Signed-off-by: Mengdong Lin <[email protected]>
Signed-off-by: Mark Brown <[email protected]>
  • Loading branch information
mengdonglin authored and broonie committed Nov 4, 2016
1 parent ab4bc5e commit 3fbf793
Show file tree
Hide file tree
Showing 2 changed files with 12 additions and 11 deletions.
15 changes: 8 additions & 7 deletions include/uapi/sound/asoc.h
Original file line number Diff line number Diff line change
Expand Up @@ -111,8 +111,8 @@
#define SND_SOC_TPLG_TYPE_CODEC_LINK 9
#define SND_SOC_TPLG_TYPE_BACKEND_LINK 10
#define SND_SOC_TPLG_TYPE_PDATA 11
#define SND_SOC_TPLG_TYPE_BE_DAI 12
#define SND_SOC_TPLG_TYPE_MAX SND_SOC_TPLG_TYPE_BE_DAI
#define SND_SOC_TPLG_TYPE_DAI 12
#define SND_SOC_TPLG_TYPE_MAX SND_SOC_TPLG_TYPE_DAI

/* vendor block IDs - please add new vendor types to end */
#define SND_SOC_TPLG_TYPE_VENDOR_FW 1000
Expand All @@ -131,7 +131,7 @@
#define SND_SOC_TPLG_TUPLE_TYPE_WORD 4
#define SND_SOC_TPLG_TUPLE_TYPE_SHORT 5

/* BE DAI flags */
/* DAI flags */
#define SND_SOC_TPLG_DAI_FLGBIT_SYMMETRIC_RATES (1 << 0)
#define SND_SOC_TPLG_DAI_FLGBIT_SYMMETRIC_CHANNELS (1 << 1)
#define SND_SOC_TPLG_DAI_FLGBIT_SYMMETRIC_SAMPLEBITS (1 << 2)
Expand Down Expand Up @@ -527,16 +527,17 @@ struct snd_soc_tplg_link_config {
} __attribute__((packed));

/*
* Describes SW/FW specific features of BE DAI.
* Describes SW/FW specific features of physical DAI.
* It can be used to configure backend DAIs for DPCM.
*
* File block representation for BE DAI :-
* File block representation for physical DAI :-
* +-----------------------------------+-----+
* | struct snd_soc_tplg_hdr | 1 |
* +-----------------------------------+-----+
* | struct snd_soc_tplg_be_dai | N |
* | struct snd_soc_tplg_dai | N |
* +-----------------------------------+-----+
*/
struct snd_soc_tplg_be_dai {
struct snd_soc_tplg_dai {
__le32 size; /* in bytes of this structure */
char dai_name[SNDRV_CTL_ELEM_ID_NAME_MAXLEN]; /* name - used to match */
__le32 dai_id; /* unique ID - used to match */
Expand Down
8 changes: 4 additions & 4 deletions sound/soc/soc-topology.c
Original file line number Diff line number Diff line change
Expand Up @@ -2090,7 +2090,7 @@ static int soc_tplg_link_elems_load(struct soc_tplg *tplg,
* platform driver should specify the BE DAI name and ID for matching.
*/
static int soc_tplg_be_dai_config(struct soc_tplg *tplg,
struct snd_soc_tplg_be_dai *be)
struct snd_soc_tplg_dai *be)
{
struct snd_soc_dai_link_component dai_component = {0};
struct snd_soc_dai *dai;
Expand Down Expand Up @@ -2145,7 +2145,7 @@ static int soc_tplg_be_dai_config(struct soc_tplg *tplg,
static int soc_tplg_be_dai_elems_load(struct soc_tplg *tplg,
struct snd_soc_tplg_hdr *hdr)
{
struct snd_soc_tplg_be_dai *be;
struct snd_soc_tplg_dai *be;
int count = hdr->count;
int i;

Expand All @@ -2154,7 +2154,7 @@ static int soc_tplg_be_dai_elems_load(struct soc_tplg *tplg,

/* config the existing BE DAIs */
for (i = 0; i < count; i++) {
be = (struct snd_soc_tplg_be_dai *)tplg->pos;
be = (struct snd_soc_tplg_dai *)tplg->pos;
if (be->size != sizeof(*be)) {
dev_err(tplg->dev, "ASoC: invalid BE DAI size\n");
return -EINVAL;
Expand Down Expand Up @@ -2328,7 +2328,7 @@ static int soc_tplg_load_header(struct soc_tplg *tplg,
return soc_tplg_dapm_widget_elems_load(tplg, hdr);
case SND_SOC_TPLG_TYPE_PCM:
return soc_tplg_pcm_elems_load(tplg, hdr);
case SND_SOC_TPLG_TYPE_BE_DAI:
case SND_SOC_TPLG_TYPE_DAI:
return soc_tplg_be_dai_elems_load(tplg, hdr);
case SND_SOC_TPLG_TYPE_DAI_LINK:
case SND_SOC_TPLG_TYPE_BACKEND_LINK:
Expand Down

0 comments on commit 3fbf793

Please sign in to comment.