mirror of
https://git.kernel.org/pub/scm/linux/kernel/git/next/linux-next.git
synced 2025-01-09 15:29:16 +00:00
ASoC: wm_adsp: Use snd_ctl_elem_type_t for control types
Sparse will complain about trying to convert between values declared as snd_ctl_elem_type_t and other types. This patch converts to consistently use snd_ctl_elem_type_t for control type values. A __force cast is needed in a couple of cases where the control type value is parsed out of a DSP data block. Signed-off-by: Richard Fitzgerald <rf@opensource.cirrus.com> Link: https://lore.kernel.org/r/20201230172427.13865-2-rf@opensource.cirrus.com Signed-off-by: Mark Brown <broonie@kernel.org>
This commit is contained in:
parent
a0b653e89a
commit
f6212e0ab3
@ -619,7 +619,7 @@ struct wm_coeff_ctl {
|
||||
unsigned int set:1;
|
||||
struct soc_bytes_ext bytes_ext;
|
||||
unsigned int flags;
|
||||
unsigned int type;
|
||||
snd_ctl_elem_type_t type;
|
||||
};
|
||||
|
||||
static const char *wm_adsp_mem_region_name(unsigned int type)
|
||||
@ -1420,7 +1420,7 @@ static int wm_adsp_create_control(struct wm_adsp *dsp,
|
||||
const struct wm_adsp_alg_region *alg_region,
|
||||
unsigned int offset, unsigned int len,
|
||||
const char *subname, unsigned int subname_len,
|
||||
unsigned int flags, unsigned int type)
|
||||
unsigned int flags, snd_ctl_elem_type_t type)
|
||||
{
|
||||
struct wm_coeff_ctl *ctl;
|
||||
struct wmfw_ctl_work *ctl_work;
|
||||
@ -1554,7 +1554,7 @@ struct wm_coeff_parsed_coeff {
|
||||
int mem_type;
|
||||
const u8 *name;
|
||||
int name_len;
|
||||
int ctl_type;
|
||||
snd_ctl_elem_type_t ctl_type;
|
||||
int flags;
|
||||
int len;
|
||||
};
|
||||
@ -1649,7 +1649,7 @@ static inline void wm_coeff_parse_coeff(struct wm_adsp *dsp, const u8 **data,
|
||||
blk->mem_type = le16_to_cpu(raw->hdr.type);
|
||||
blk->name = raw->name;
|
||||
blk->name_len = strlen(raw->name);
|
||||
blk->ctl_type = le16_to_cpu(raw->ctl_type);
|
||||
blk->ctl_type = (__force snd_ctl_elem_type_t)le16_to_cpu(raw->ctl_type);
|
||||
blk->flags = le16_to_cpu(raw->flags);
|
||||
blk->len = le32_to_cpu(raw->len);
|
||||
break;
|
||||
@ -1662,7 +1662,9 @@ static inline void wm_coeff_parse_coeff(struct wm_adsp *dsp, const u8 **data,
|
||||
&blk->name);
|
||||
wm_coeff_parse_string(sizeof(u8), &tmp, NULL);
|
||||
wm_coeff_parse_string(sizeof(u16), &tmp, NULL);
|
||||
blk->ctl_type = wm_coeff_parse_int(sizeof(raw->ctl_type), &tmp);
|
||||
blk->ctl_type =
|
||||
(__force snd_ctl_elem_type_t)wm_coeff_parse_int(sizeof(raw->ctl_type),
|
||||
&tmp);
|
||||
blk->flags = wm_coeff_parse_int(sizeof(raw->flags), &tmp);
|
||||
blk->len = wm_coeff_parse_int(sizeof(raw->len), &tmp);
|
||||
|
||||
|
@ -24,9 +24,9 @@
|
||||
#define WMFW_CTL_FLAG_READABLE 0x0001
|
||||
|
||||
/* Non-ALSA coefficient types start at 0x1000 */
|
||||
#define WMFW_CTL_TYPE_ACKED 0x1000 /* acked control */
|
||||
#define WMFW_CTL_TYPE_HOSTEVENT 0x1001 /* event control */
|
||||
#define WMFW_CTL_TYPE_HOST_BUFFER 0x1002 /* host buffer pointer */
|
||||
#define WMFW_CTL_TYPE_ACKED ((__force snd_ctl_elem_type_t)0x1000) /* acked control */
|
||||
#define WMFW_CTL_TYPE_HOSTEVENT ((__force snd_ctl_elem_type_t)0x1001) /* event control */
|
||||
#define WMFW_CTL_TYPE_HOST_BUFFER ((__force snd_ctl_elem_type_t)0x1002) /* host buffer pointer */
|
||||
|
||||
struct wmfw_header {
|
||||
char magic[4];
|
||||
|
Loading…
x
Reference in New Issue
Block a user