[alsa-devel] [PATCH] uapi: fix sound/skl-tplg-interface.h userspace compilation errors

Guenter Roeck groeck at google.com
Mon Aug 13 22:29:37 CEST 2018


On Mon, Aug 13, 2018 at 8:50 AM Dmitry V. Levin <ldv at altlinux.org> wrote:
>
> Include <linux/types.h> and consistently use types it provides
> to fix the following sound/skl-tplg-interface.h userspace compilation errors:
>
> /usr/include/sound/skl-tplg-interface.h:146:2: error: unknown type name 'u32'
>   u32 set_params:2;
> /usr/include/sound/skl-tplg-interface.h:147:2: error: unknown type name 'u32'
>   u32 rsvd:30;
> /usr/include/sound/skl-tplg-interface.h:148:2: error: unknown type name 'u32'
>   u32 param_id;
> /usr/include/sound/skl-tplg-interface.h:149:2: error: unknown type name 'u32'
>   u32 max;
> /usr/include/sound/skl-tplg-interface.h:166:2: error: unknown type name 'u16'
>   u16 module_id;
> /usr/include/sound/skl-tplg-interface.h:167:2: error: unknown type name 'u16'
>   u16 instance_id;
> /usr/include/sound/skl-tplg-interface.h:171:2: error: unknown type name 'u32'
>   u32 channels;
> /usr/include/sound/skl-tplg-interface.h:172:2: error: unknown type name 'u32'
>   u32 freq;
> /usr/include/sound/skl-tplg-interface.h:173:2: error: unknown type name 'u32'
>   u32 bit_depth;
> /usr/include/sound/skl-tplg-interface.h:174:2: error: unknown type name 'u32'
>   u32 valid_bit_depth;
> /usr/include/sound/skl-tplg-interface.h:175:2: error: unknown type name 'u32'
>   u32 ch_cfg;
> /usr/include/sound/skl-tplg-interface.h:176:2: error: unknown type name 'u32'
>   u32 interleaving_style;
> /usr/include/sound/skl-tplg-interface.h:177:2: error: unknown type name 'u32'
>   u32 sample_type;
> /usr/include/sound/skl-tplg-interface.h:178:2: error: unknown type name 'u32'
>   u32 ch_map;
> /usr/include/sound/skl-tplg-interface.h:182:2: error: unknown type name 'u32'
>   u32 set_params:2;
> /usr/include/sound/skl-tplg-interface.h:183:2: error: unknown type name 'u32'
>   u32 rsvd:30;
> /usr/include/sound/skl-tplg-interface.h:184:2: error: unknown type name 'u32'
>   u32 param_id;
> /usr/include/sound/skl-tplg-interface.h:185:2: error: unknown type name 'u32'
>   u32 caps_size;
> /usr/include/sound/skl-tplg-interface.h:186:2: error: unknown type name 'u32'
>   u32 caps[HDA_SST_CFG_MAX];
> /usr/include/sound/skl-tplg-interface.h:190:2: error: unknown type name 'u8'
>   u8 pipe_id;
> /usr/include/sound/skl-tplg-interface.h:191:2: error: unknown type name 'u8'
>   u8 pipe_priority;
> /usr/include/sound/skl-tplg-interface.h:192:2: error: unknown type name 'u16'
>   u16 conn_type:4;
> /usr/include/sound/skl-tplg-interface.h:193:2: error: unknown type name 'u16'
>   u16 rsvd:4;
> /usr/include/sound/skl-tplg-interface.h:194:2: error: unknown type name 'u16'
>   u16 memory_pages:8;
> /usr/include/sound/skl-tplg-interface.h:200:2: error: unknown type name 'u16'
>   u16 module_id;
> /usr/include/sound/skl-tplg-interface.h:201:2: error: unknown type name 'u16'
>   u16 instance_id;
> /usr/include/sound/skl-tplg-interface.h:202:2: error: unknown type name 'u32'
>   u32 max_mcps;
> /usr/include/sound/skl-tplg-interface.h:203:2: error: unknown type name 'u32'
>   u32 mem_pages;
> /usr/include/sound/skl-tplg-interface.h:204:2: error: unknown type name 'u32'
>   u32 obs;
> /usr/include/sound/skl-tplg-interface.h:205:2: error: unknown type name 'u32'
>   u32 ibs;
> /usr/include/sound/skl-tplg-interface.h:206:2: error: unknown type name 'u32'
>   u32 vbus_id;
> /usr/include/sound/skl-tplg-interface.h:208:2: error: unknown type name 'u32'
>   u32 max_in_queue:8;
> /usr/include/sound/skl-tplg-interface.h:209:2: error: unknown type name 'u32'
>   u32 max_out_queue:8;
> /usr/include/sound/skl-tplg-interface.h:210:2: error: unknown type name 'u32'
>   u32 time_slot:8;
> /usr/include/sound/skl-tplg-interface.h:211:2: error: unknown type name 'u32'
>   u32 core_id:4;
> /usr/include/sound/skl-tplg-interface.h:212:2: error: unknown type name 'u32'
>   u32 rsvd1:4;
> /usr/include/sound/skl-tplg-interface.h:214:2: error: unknown type name 'u32'
>   u32 module_type:8;
> /usr/include/sound/skl-tplg-interface.h:215:2: error: unknown type name 'u32'
>   u32 conn_type:4;
> /usr/include/sound/skl-tplg-interface.h:216:2: error: unknown type name 'u32'
>   u32 dev_type:4;
> /usr/include/sound/skl-tplg-interface.h:217:2: error: unknown type name 'u32'
>   u32 hw_conn_type:4;
> /usr/include/sound/skl-tplg-interface.h:218:2: error: unknown type name 'u32'
>   u32 rsvd2:12;
> /usr/include/sound/skl-tplg-interface.h:220:2: error: unknown type name 'u32'
>   u32 params_fixup:8;
> /usr/include/sound/skl-tplg-interface.h:221:2: error: unknown type name 'u32'
>   u32 converter:8;
> /usr/include/sound/skl-tplg-interface.h:222:2: error: unknown type name 'u32'
>   u32 input_pin_type:1;
> /usr/include/sound/skl-tplg-interface.h:223:2: error: unknown type name 'u32'
>   u32 output_pin_type:1;
> /usr/include/sound/skl-tplg-interface.h:224:2: error: unknown type name 'u32'
>   u32 is_dynamic_in_pin:1;
> /usr/include/sound/skl-tplg-interface.h:225:2: error: unknown type name 'u32'
>   u32 is_dynamic_out_pin:1;
> /usr/include/sound/skl-tplg-interface.h:226:2: error: unknown type name 'u32'
>   u32 is_loadable:1;
> /usr/include/sound/skl-tplg-interface.h:227:2: error: unknown type name 'u32'
>   u32 rsvd3:11;
>
> Fixes: 0c24fdc00244 ("ASoC: topology: Move skl-tplg-interface.h to uapi")
> Cc: <stable at vger.kernel.org> # v4.18
> Signed-off-by: Dmitry V. Levin <ldv at altlinux.org>

Reviewed-by: Guenter Roeck <groeck at chromium.org>

> ---
>  include/uapi/sound/skl-tplg-interface.h | 106 ++++++++++++------------
>  1 file changed, 54 insertions(+), 52 deletions(-)
>
> diff --git a/include/uapi/sound/skl-tplg-interface.h b/include/uapi/sound/skl-tplg-interface.h
> index f58cafa42f18..f39352cef382 100644
> --- a/include/uapi/sound/skl-tplg-interface.h
> +++ b/include/uapi/sound/skl-tplg-interface.h
> @@ -10,6 +10,8 @@
>  #ifndef __HDA_TPLG_INTERFACE_H__
>  #define __HDA_TPLG_INTERFACE_H__
>
> +#include <linux/types.h>
> +
>  /*
>   * Default types range from 0~12. type can range from 0 to 0xff
>   * SST types start at higher to avoid any overlapping in future
> @@ -143,10 +145,10 @@ enum skl_module_param_type {
>  };
>
>  struct skl_dfw_algo_data {
> -       u32 set_params:2;
> -       u32 rsvd:30;
> -       u32 param_id;
> -       u32 max;
> +       __u32 set_params:2;
> +       __u32 rsvd:30;
> +       __u32 param_id;
> +       __u32 max;
>         char params[0];
>  } __packed;
>
> @@ -163,68 +165,68 @@ enum skl_tuple_type {
>  /* v4 configuration data */
>
>  struct skl_dfw_v4_module_pin {
> -       u16 module_id;
> -       u16 instance_id;
> +       __u16 module_id;
> +       __u16 instance_id;
>  } __packed;
>
>  struct skl_dfw_v4_module_fmt {
> -       u32 channels;
> -       u32 freq;
> -       u32 bit_depth;
> -       u32 valid_bit_depth;
> -       u32 ch_cfg;
> -       u32 interleaving_style;
> -       u32 sample_type;
> -       u32 ch_map;
> +       __u32 channels;
> +       __u32 freq;
> +       __u32 bit_depth;
> +       __u32 valid_bit_depth;
> +       __u32 ch_cfg;
> +       __u32 interleaving_style;
> +       __u32 sample_type;
> +       __u32 ch_map;
>  } __packed;
>
>  struct skl_dfw_v4_module_caps {
> -       u32 set_params:2;
> -       u32 rsvd:30;
> -       u32 param_id;
> -       u32 caps_size;
> -       u32 caps[HDA_SST_CFG_MAX];
> +       __u32 set_params:2;
> +       __u32 rsvd:30;
> +       __u32 param_id;
> +       __u32 caps_size;
> +       __u32 caps[HDA_SST_CFG_MAX];
>  } __packed;
>
>  struct skl_dfw_v4_pipe {
> -       u8 pipe_id;
> -       u8 pipe_priority;
> -       u16 conn_type:4;
> -       u16 rsvd:4;
> -       u16 memory_pages:8;
> +       __u8 pipe_id;
> +       __u8 pipe_priority;
> +       __u16 conn_type:4;
> +       __u16 rsvd:4;
> +       __u16 memory_pages:8;
>  } __packed;
>
>  struct skl_dfw_v4_module {
>         char uuid[SKL_UUID_STR_SZ];
>
> -       u16 module_id;
> -       u16 instance_id;
> -       u32 max_mcps;
> -       u32 mem_pages;
> -       u32 obs;
> -       u32 ibs;
> -       u32 vbus_id;
> -
> -       u32 max_in_queue:8;
> -       u32 max_out_queue:8;
> -       u32 time_slot:8;
> -       u32 core_id:4;
> -       u32 rsvd1:4;
> -
> -       u32 module_type:8;
> -       u32 conn_type:4;
> -       u32 dev_type:4;
> -       u32 hw_conn_type:4;
> -       u32 rsvd2:12;
> -
> -       u32 params_fixup:8;
> -       u32 converter:8;
> -       u32 input_pin_type:1;
> -       u32 output_pin_type:1;
> -       u32 is_dynamic_in_pin:1;
> -       u32 is_dynamic_out_pin:1;
> -       u32 is_loadable:1;
> -       u32 rsvd3:11;
> +       __u16 module_id;
> +       __u16 instance_id;
> +       __u32 max_mcps;
> +       __u32 mem_pages;
> +       __u32 obs;
> +       __u32 ibs;
> +       __u32 vbus_id;
> +
> +       __u32 max_in_queue:8;
> +       __u32 max_out_queue:8;
> +       __u32 time_slot:8;
> +       __u32 core_id:4;
> +       __u32 rsvd1:4;
> +
> +       __u32 module_type:8;
> +       __u32 conn_type:4;
> +       __u32 dev_type:4;
> +       __u32 hw_conn_type:4;
> +       __u32 rsvd2:12;
> +
> +       __u32 params_fixup:8;
> +       __u32 converter:8;
> +       __u32 input_pin_type:1;
> +       __u32 output_pin_type:1;
> +       __u32 is_dynamic_in_pin:1;
> +       __u32 is_dynamic_out_pin:1;
> +       __u32 is_loadable:1;
> +       __u32 rsvd3:11;
>
>         struct skl_dfw_v4_pipe pipe;
>         struct skl_dfw_v4_module_fmt in_fmt[MAX_IN_QUEUE];
> --
> ldv


More information about the Alsa-devel mailing list