| From 3597816bbee38241680761579054e6182745326d Mon Sep 17 00:00:00 2001 |
| From: Pierre-Louis Bossart <pierre-louis.bossart@linux.intel.com> |
| Date: Thu, 2 Jan 2020 13:59:52 -0600 |
| Subject: [PATCH] ASoC: soc-topology: fix endianness issues |
| |
| commit 72bbeda0222bcd382ee33b3aff71346074410c21 upstream. |
| |
| Sparse complains about a series of easy warnings, fix. |
| |
| Signed-off-by: Pierre-Louis Bossart <pierre-louis.bossart@linux.intel.com> |
| Link: https://lore.kernel.org/r/20200102195952.9465-3-pierre-louis.bossart@linux.intel.com |
| Signed-off-by: Mark Brown <broonie@kernel.org> |
| Signed-off-by: Paul Gortmaker <paul.gortmaker@windriver.com> |
| |
| diff --git a/sound/soc/soc-topology.c b/sound/soc/soc-topology.c |
| index e24a11010fe5..aff5f395b99b 100644 |
| --- a/sound/soc/soc-topology.c |
| +++ b/sound/soc/soc-topology.c |
| @@ -614,9 +614,11 @@ static int soc_tplg_kcontrol_bind_io(struct snd_soc_tplg_ctl_hdr *hdr, |
| ext_ops = tplg->bytes_ext_ops; |
| num_ops = tplg->bytes_ext_ops_count; |
| for (i = 0; i < num_ops; i++) { |
| - if (!sbe->put && ext_ops[i].id == be->ext_ops.put) |
| + if (!sbe->put && |
| + ext_ops[i].id == le32_to_cpu(be->ext_ops.put)) |
| sbe->put = ext_ops[i].put; |
| - if (!sbe->get && ext_ops[i].id == be->ext_ops.get) |
| + if (!sbe->get && |
| + ext_ops[i].id == le32_to_cpu(be->ext_ops.get)) |
| sbe->get = ext_ops[i].get; |
| } |
| |
| @@ -631,11 +633,11 @@ static int soc_tplg_kcontrol_bind_io(struct snd_soc_tplg_ctl_hdr *hdr, |
| num_ops = tplg->io_ops_count; |
| for (i = 0; i < num_ops; i++) { |
| |
| - if (k->put == NULL && ops[i].id == hdr->ops.put) |
| + if (k->put == NULL && ops[i].id == le32_to_cpu(hdr->ops.put)) |
| k->put = ops[i].put; |
| - if (k->get == NULL && ops[i].id == hdr->ops.get) |
| + if (k->get == NULL && ops[i].id == le32_to_cpu(hdr->ops.get)) |
| k->get = ops[i].get; |
| - if (k->info == NULL && ops[i].id == hdr->ops.info) |
| + if (k->info == NULL && ops[i].id == le32_to_cpu(hdr->ops.info)) |
| k->info = ops[i].info; |
| } |
| |
| @@ -648,11 +650,11 @@ static int soc_tplg_kcontrol_bind_io(struct snd_soc_tplg_ctl_hdr *hdr, |
| num_ops = ARRAY_SIZE(io_ops); |
| for (i = 0; i < num_ops; i++) { |
| |
| - if (k->put == NULL && ops[i].id == hdr->ops.put) |
| + if (k->put == NULL && ops[i].id == le32_to_cpu(hdr->ops.put)) |
| k->put = ops[i].put; |
| - if (k->get == NULL && ops[i].id == hdr->ops.get) |
| + if (k->get == NULL && ops[i].id == le32_to_cpu(hdr->ops.get)) |
| k->get = ops[i].get; |
| - if (k->info == NULL && ops[i].id == hdr->ops.info) |
| + if (k->info == NULL && ops[i].id == le32_to_cpu(hdr->ops.info)) |
| k->info = ops[i].info; |
| } |
| |
| @@ -941,7 +943,7 @@ static int soc_tplg_denum_create_texts(struct soc_enum *se, |
| if (se->dobj.control.dtexts == NULL) |
| return -ENOMEM; |
| |
| - for (i = 0; i < ec->items; i++) { |
| + for (i = 0; i < le32_to_cpu(ec->items); i++) { |
| |
| if (strnlen(ec->texts[i], SNDRV_CTL_ELEM_ID_NAME_MAXLEN) == |
| SNDRV_CTL_ELEM_ID_NAME_MAXLEN) { |
| @@ -1321,7 +1323,7 @@ static struct snd_kcontrol_new *soc_tplg_dapm_widget_dmixer_create( |
| goto err_str; |
| kc[i].private_value = (long)sm; |
| kc[i].iface = SNDRV_CTL_ELEM_IFACE_MIXER; |
| - kc[i].access = mc->hdr.access; |
| + kc[i].access = le32_to_cpu(mc->hdr.access); |
| |
| /* we only support FL/FR channel mapping atm */ |
| sm->reg = tplc_chan_get_reg(tplg, mc->channel, |
| @@ -1333,10 +1335,10 @@ static struct snd_kcontrol_new *soc_tplg_dapm_widget_dmixer_create( |
| sm->rshift = tplc_chan_get_shift(tplg, mc->channel, |
| SNDRV_CHMAP_FR); |
| |
| - sm->max = mc->max; |
| - sm->min = mc->min; |
| - sm->invert = mc->invert; |
| - sm->platform_max = mc->platform_max; |
| + sm->max = le32_to_cpu(mc->max); |
| + sm->min = le32_to_cpu(mc->min); |
| + sm->invert = le32_to_cpu(mc->invert); |
| + sm->platform_max = le32_to_cpu(mc->platform_max); |
| sm->dobj.index = tplg->index; |
| INIT_LIST_HEAD(&sm->dobj.list); |
| |
| @@ -1399,7 +1401,7 @@ static struct snd_kcontrol_new *soc_tplg_dapm_widget_denum_create( |
| goto err; |
| |
| tplg->pos += (sizeof(struct snd_soc_tplg_enum_control) + |
| - ec->priv.size); |
| + le32_to_cpu(ec->priv.size)); |
| |
| dev_dbg(tplg->dev, " adding DAPM widget enum control %s\n", |
| ec->hdr.name); |
| @@ -1411,7 +1413,7 @@ static struct snd_kcontrol_new *soc_tplg_dapm_widget_denum_create( |
| } |
| kc[i].private_value = (long)se; |
| kc[i].iface = SNDRV_CTL_ELEM_IFACE_MIXER; |
| - kc[i].access = ec->hdr.access; |
| + kc[i].access = le32_to_cpu(ec->hdr.access); |
| |
| /* we only support FL/FR channel mapping atm */ |
| se->reg = tplc_chan_get_reg(tplg, ec->channel, SNDRV_CHMAP_FL); |
| @@ -1420,8 +1422,8 @@ static struct snd_kcontrol_new *soc_tplg_dapm_widget_denum_create( |
| se->shift_r = tplc_chan_get_shift(tplg, ec->channel, |
| SNDRV_CHMAP_FR); |
| |
| - se->items = ec->items; |
| - se->mask = ec->mask; |
| + se->items = le32_to_cpu(ec->items); |
| + se->mask = le32_to_cpu(ec->mask); |
| se->dobj.index = tplg->index; |
| |
| switch (le32_to_cpu(ec->hdr.ops.info)) { |
| @@ -1528,9 +1530,9 @@ static struct snd_kcontrol_new *soc_tplg_dapm_widget_dbytes_create( |
| } |
| kc[i].private_value = (long)sbe; |
| kc[i].iface = SNDRV_CTL_ELEM_IFACE_MIXER; |
| - kc[i].access = be->hdr.access; |
| + kc[i].access = le32_to_cpu(be->hdr.access); |
| |
| - sbe->max = be->max; |
| + sbe->max = le32_to_cpu(be->max); |
| INIT_LIST_HEAD(&sbe->dobj.list); |
| |
| /* map standard io handlers and check for external handlers */ |
| -- |
| 2.7.4 |
| |