Re: [PATCH v7 4/6] ASoC: fsl_asrc_m2m: Add memory to memory function
From: Mark Brown <broonie@kernel.org>
Date: 2024-12-12 11:45:00
Also in:
alsa-devel, linux-sound, lkml
On Thu, Dec 12, 2024 at 03:45:07PM +0800, Shengjiu Wang wrote:
Implement the ASRC memory to memory function using the compress framework, user can use this function with compress ioctl interface. This feature can be shared by ASRC and EASRC drivers
This breaks an x86 allmodconfig build (using GCC 13):
/build/stage/linux/sound/soc/fsl/fsl_asrc_m2m.c:186:68: warning: ‘struct snd_compr_task_runtime’ declared inside parameter list will not be visible outside of this definition or declaration
186 | static void asrc_m2m_device_run(struct fsl_asrc_pair *pair, struct snd_compr_task_runtime *task)
| ^~~~~~~~~~~~~~~~~~~~~~
/build/stage/linux/sound/soc/fsl/fsl_asrc_m2m.c: In function ‘asrc_m2m_device_run’:
/build/stage/linux/sound/soc/fsl/fsl_asrc_m2m.c:212:26: error: invalid use of undefined type ‘struct snd_compr_task_runtime’
212 | in_buf_len = task->input_size;
| ^~
/build/stage/linux/sound/soc/fsl/fsl_asrc_m2m.c:279:13: error: invalid use of undefined type ‘struct snd_compr_task_runtime’
279 | task->output_size = out_dma_len;
| ^~
/build/stage/linux/sound/soc/fsl/fsl_asrc_m2m.c: At top level:
/build/stage/linux/sound/soc/fsl/fsl_asrc_m2m.c:451:49: warning: ‘struct snd_compr_task_runtime’ declared inside parameter list will not be visible outside of this definition or declaration
451 | struct snd_compr_task_runtime *task)
| ^~~~~~~~~~~~~~~~~~~~~~
/build/stage/linux/sound/soc/fsl/fsl_asrc_m2m.c: In function ‘fsl_asrc_m2m_comp_task_create’:
/build/stage/linux/sound/soc/fsl/fsl_asrc_m2m.c:465:13: error: invalid use of undefined type ‘struct snd_compr_task_runtime’
465 | task->input = dma_buf_export(&exp_info_in);
| ^~
/build/stage/linux/sound/soc/fsl/fsl_asrc_m2m.c:466:24: error: invalid use of undefined type ‘struct snd_compr_task_runtime’
466 | if (IS_ERR(task->input)) {
| ^~
/build/stage/linux/sound/soc/fsl/fsl_asrc_m2m.c:467:35: error: invalid use of undefined type ‘struct snd_compr_task_runtime’
467 | ret = PTR_ERR(task->input);
| ^~
/build/stage/linux/sound/soc/fsl/fsl_asrc_m2m.c:475:13: error: invalid use of undefined type ‘struct snd_compr_task_runtime’
475 | task->output = dma_buf_export(&exp_info_out);
| ^~
/build/stage/linux/sound/soc/fsl/fsl_asrc_m2m.c:476:24: error: invalid use of undefined type ‘struct snd_compr_task_runtime’
476 | if (IS_ERR(task->output)) {
| ^~
/build/stage/linux/sound/soc/fsl/fsl_asrc_m2m.c:477:35: error: invalid use of undefined type ‘struct snd_compr_task_runtime’
477 | ret = PTR_ERR(task->output);
| ^~
/build/stage/linux/sound/soc/fsl/fsl_asrc_m2m.c: At top level:
/build/stage/linux/sound/soc/fsl/fsl_asrc_m2m.c:523:48: warning: ‘struct snd_compr_task_runtime’ declared inside parameter list will not be visible outside of this definition or declaration
523 | struct snd_compr_task_runtime *task)
| ^~~~~~~~~~~~~~~~~~~~~~
/build/stage/linux/sound/soc/fsl/fsl_asrc_m2m.c: In function ‘fsl_asrc_m2m_comp_task_start’:
/build/stage/linux/sound/soc/fsl/fsl_asrc_m2m.c:528:35: error: passing argument 2 of ‘asrc_m2m_device_run’ from incompatible pointer type [-Werror=incompatible-pointer-types]
528 | asrc_m2m_device_run(pair, task);
| ^~~~
| |
| struct snd_compr_task_runtime *
/build/stage/linux/sound/soc/fsl/fsl_asrc_m2m.c:186:92: note: expected ‘struct snd_compr_task_runtime *’ but argument is of type ‘struct snd_compr_task_runtime *’
186 | static void asrc_m2m_device_run(struct fsl_asrc_pair *pair, struct snd_compr_task_runtime *task)
| ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~
/build/stage/linux/sound/soc/fsl/fsl_asrc_m2m.c: At top level:
/build/stage/linux/sound/soc/fsl/fsl_asrc_m2m.c:534:47: warning: ‘struct snd_compr_task_runtime’ declared inside parameter list will not be visible outside of this definition or declaration
534 | struct snd_compr_task_runtime *task)
| ^~~~~~~~~~~~~~~~~~~~~~
/build/stage/linux/sound/soc/fsl/fsl_asrc_m2m.c:540:47: warning: ‘struct snd_compr_task_runtime’ declared inside parameter list will not be visible outside of this definition or declaration
540 | struct snd_compr_task_runtime *task)
| ^~~~~~~~~~~~~~~~~~~~~~
/build/stage/linux/sound/soc/fsl/fsl_asrc_m2m.c:623:10: error: ‘struct snd_compr_ops’ has no member named ‘task_create’
623 | .task_create = fsl_asrc_m2m_comp_task_create,
| ^~~~~~~~~~~
/build/stage/linux/sound/soc/fsl/fsl_asrc_m2m.c:623:24: warning: excess elements in struct initializer
623 | .task_create = fsl_asrc_m2m_comp_task_create,
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/build/stage/linux/sound/soc/fsl/fsl_asrc_m2m.c:623:24: note: (near initialization for ‘fsl_asrc_m2m_compr_ops’)
/build/stage/linux/sound/soc/fsl/fsl_asrc_m2m.c:624:10: error: ‘struct snd_compr_ops’ has no member named ‘task_start’
624 | .task_start = fsl_asrc_m2m_comp_task_start,
| ^~~~~~~~~~
/build/stage/linux/sound/soc/fsl/fsl_asrc_m2m.c:624:23: warning: excess elements in struct initializer
624 | .task_start = fsl_asrc_m2m_comp_task_start,
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~~
/build/stage/linux/sound/soc/fsl/fsl_asrc_m2m.c:624:23: note: (near initialization for ‘fsl_asrc_m2m_compr_ops’)
/build/stage/linux/sound/soc/fsl/fsl_asrc_m2m.c:625:10: error: ‘struct snd_compr_ops’ has no member named ‘task_stop’
625 | .task_stop = fsl_asrc_m2m_comp_task_stop,
| ^~~~~~~~~
/build/stage/linux/sound/soc/fsl/fsl_asrc_m2m.c:625:22: warning: excess elements in struct initializer
625 | .task_stop = fsl_asrc_m2m_comp_task_stop,
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~
/build/stage/linux/sound/soc/fsl/fsl_asrc_m2m.c:625:22: note: (near initialization for ‘fsl_asrc_m2m_compr_ops’)
/build/stage/linux/sound/soc/fsl/fsl_asrc_m2m.c:626:10: error: ‘struct snd_compr_ops’ has no member named ‘task_free’
626 | .task_free = fsl_asrc_m2m_comp_task_free,
| ^~~~~~~~~
/build/stage/linux/sound/soc/fsl/fsl_asrc_m2m.c:626:22: warning: excess elements in struct initializer
626 | .task_free = fsl_asrc_m2m_comp_task_free,
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~
/build/stage/linux/sound/soc/fsl/fsl_asrc_m2m.c:626:22: note: (near initialization for ‘fsl_asrc_m2m_compr_ops’)
/build/stage/linux/sound/soc/fsl/fsl_asrc_m2m.c: In function ‘fsl_asrc_m2m_init’:
/build/stage/linux/sound/soc/fsl/fsl_asrc_m2m.c:701:41: error: ‘SND_COMPRESS_ACCEL’ undeclared (first use in this function); did you mean ‘SNDRV_COMPRESS_AVAIL’?
701 | ret = snd_compress_new(card, 0, SND_COMPRESS_ACCEL, "ASRC M2M", compr);
| ^~~~~~~~~~~~~~~~~~
| SNDRV_COMPRESS_AVAIL
/build/stage/linux/sound/soc/fsl/fsl_asrc_m2m.c:701:41: note: each undeclared identifier is reported only once for each function it appears in
cc1: some warnings being treated as errors Attachments
- signature.asc [application/pgp-signature] 488 bytes