Message ID | 1485189145-29576-6-git-send-email-arnaud.pouliquen@st.com (mailing list archive) |
---|---|
State | New, archived |
Headers | show |
On Mon, Jan 23, 2017 at 05:32:23PM +0100, Arnaud Pouliquen wrote: > From: olivier moysan <olivier.moysan@st.com> > Signed-off-by: olivier moysan <omoysan.stm32@gmail.com> The signoff and author information don't match for this patch, they should match. The signoff is important for legal reasons - please see SubmittingPatches for details.
Hi olivier,
[auto build test WARNING on iio/togreg]
[cannot apply to asoc/for-next ljones-mfd/for-mfd-next v4.10-rc5 next-20170123]
[if your patch is applied to the wrong git tree, please drop us a note to help improve the system]
url: https://github.com/0day-ci/linux/commits/Arnaud-Pouliquen/Add-STM32-DFSDM-support/20170124-065537
base: https://git.kernel.org/pub/scm/linux/kernel/git/jic23/iio.git togreg
reproduce: make htmldocs
All warnings (new ones prefixed by >>):
>> include/sound/dmaengine_pcm.h:152: warning: No description found for parameter 'copy'
include/sound/compress_driver.h:162: warning: No description found for parameter 'id[64]'
include/sound/compress_driver.h:162: warning: No description found for parameter 'proc_root'
include/sound/compress_driver.h:162: warning: No description found for parameter 'proc_info_entry'
include/sound/core.h:323: warning: No description found for parameter '...'
include/sound/core.h:334: warning: No description found for parameter '...'
include/sound/core.h:387: warning: No description found for parameter '...'
vim +/copy +152 include/sound/dmaengine_pcm.h
28c4468b Lars-Peter Clausen 2013-04-15 136 struct snd_dmaengine_pcm_config {
28c4468b Lars-Peter Clausen 2013-04-15 137 int (*prepare_slave_config)(struct snd_pcm_substream *substream,
28c4468b Lars-Peter Clausen 2013-04-15 138 struct snd_pcm_hw_params *params,
28c4468b Lars-Peter Clausen 2013-04-15 139 struct dma_slave_config *slave_config);
553a8492 olivier moysan 2017-01-23 140 int (*copy)(struct snd_pcm_substream *substream, int channel,
553a8492 olivier moysan 2017-01-23 141 snd_pcm_uframes_t pos,
553a8492 olivier moysan 2017-01-23 142 void __user *buf, snd_pcm_uframes_t count);
c999836d Lars-Peter Clausen 2013-04-15 143 struct dma_chan *(*compat_request_channel)(
c999836d Lars-Peter Clausen 2013-04-15 144 struct snd_soc_pcm_runtime *rtd,
c999836d Lars-Peter Clausen 2013-04-15 145 struct snd_pcm_substream *substream);
c999836d Lars-Peter Clausen 2013-04-15 146 dma_filter_fn compat_filter_fn;
194c7dea Stephen Warren 2013-12-03 147 struct device *dma_dev;
194c7dea Stephen Warren 2013-12-03 148 const char *chan_names[SNDRV_PCM_STREAM_LAST + 1];
28c4468b Lars-Peter Clausen 2013-04-15 149
28c4468b Lars-Peter Clausen 2013-04-15 150 const struct snd_pcm_hardware *pcm_hardware;
28c4468b Lars-Peter Clausen 2013-04-15 151 unsigned int prealloc_buffer_size;
28c4468b Lars-Peter Clausen 2013-04-15 @152 };
28c4468b Lars-Peter Clausen 2013-04-15 153
28c4468b Lars-Peter Clausen 2013-04-15 154 int snd_dmaengine_pcm_register(struct device *dev,
28c4468b Lars-Peter Clausen 2013-04-15 155 const struct snd_dmaengine_pcm_config *config,
28c4468b Lars-Peter Clausen 2013-04-15 156 unsigned int flags);
28c4468b Lars-Peter Clausen 2013-04-15 157 void snd_dmaengine_pcm_unregister(struct device *dev);
28c4468b Lars-Peter Clausen 2013-04-15 158
21585ee8 Lars-Peter Clausen 2013-11-28 159 int devm_snd_dmaengine_pcm_register(struct device *dev,
21585ee8 Lars-Peter Clausen 2013-11-28 160 const struct snd_dmaengine_pcm_config *config,
:::::: The code at line 152 was first introduced by commit
:::::: 28c4468b00a1e55e08cc20117de968f7c6275441 ASoC: Add a generic dmaengine_pcm driver
:::::: TO: Lars-Peter Clausen <lars@metafoo.de>
:::::: CC: Mark Brown <broonie@opensource.wolfsonmicro.com>
---
0-DAY kernel test infrastructure Open Source Technology Center
https://lists.01.org/pipermail/kbuild-all Intel Corporation
diff --git a/include/sound/dmaengine_pcm.h b/include/sound/dmaengine_pcm.h index 67be244..9d7bce8 100644 --- a/include/sound/dmaengine_pcm.h +++ b/include/sound/dmaengine_pcm.h @@ -137,6 +137,9 @@ struct snd_dmaengine_pcm_config { int (*prepare_slave_config)(struct snd_pcm_substream *substream, struct snd_pcm_hw_params *params, struct dma_slave_config *slave_config); + int (*copy)(struct snd_pcm_substream *substream, int channel, + snd_pcm_uframes_t pos, + void __user *buf, snd_pcm_uframes_t count); struct dma_chan *(*compat_request_channel)( struct snd_soc_pcm_runtime *rtd, struct snd_pcm_substream *substream); diff --git a/sound/soc/soc-generic-dmaengine-pcm.c b/sound/soc/soc-generic-dmaengine-pcm.c index 6cef397..bd8332ce 100644 --- a/sound/soc/soc-generic-dmaengine-pcm.c +++ b/sound/soc/soc-generic-dmaengine-pcm.c @@ -329,6 +329,16 @@ static snd_pcm_uframes_t dmaengine_pcm_pointer( return snd_dmaengine_pcm_pointer(substream); } +int dmaengine_pcm_copy(struct snd_pcm_substream *substream, int channel, + snd_pcm_uframes_t pos, void __user *buf, + snd_pcm_uframes_t count) +{ + struct snd_soc_pcm_runtime *rtd = substream->private_data; + struct dmaengine_pcm *pcm = soc_platform_to_pcm(rtd->platform); + + return pcm->config->copy(substream, channel, pos, buf, count); +} + static const struct snd_pcm_ops dmaengine_pcm_ops = { .open = dmaengine_pcm_open, .close = snd_dmaengine_pcm_close, @@ -339,6 +349,17 @@ static snd_pcm_uframes_t dmaengine_pcm_pointer( .pointer = dmaengine_pcm_pointer, }; +static const struct snd_pcm_ops dmaengine_pcm_ops_with_cpy = { + .open = dmaengine_pcm_open, + .close = snd_dmaengine_pcm_close, + .ioctl = snd_pcm_lib_ioctl, + .hw_params = dmaengine_pcm_hw_params, + .hw_free = snd_pcm_lib_free_pages, + .trigger = snd_dmaengine_pcm_trigger, + .pointer = dmaengine_pcm_pointer, + .copy = dmaengine_pcm_copy, +}; + static const struct snd_soc_platform_driver dmaengine_pcm_platform = { .component_driver = { .probe_order = SND_SOC_COMP_ORDER_LATE, @@ -347,6 +368,14 @@ static snd_pcm_uframes_t dmaengine_pcm_pointer( .pcm_new = dmaengine_pcm_new, }; +static const struct snd_soc_platform_driver dmaengine_pcm_platform_with_cpy = { + .component_driver = { + .probe_order = SND_SOC_COMP_ORDER_LATE, + }, + .ops = &dmaengine_pcm_ops_with_cpy, + .pcm_new = dmaengine_pcm_new, +}; + static const char * const dmaengine_pcm_dma_channel_names[] = { [SNDRV_PCM_STREAM_PLAYBACK] = "tx", [SNDRV_PCM_STREAM_CAPTURE] = "rx", @@ -439,8 +468,12 @@ int snd_dmaengine_pcm_register(struct device *dev, if (ret) goto err_free_dma; - ret = snd_soc_add_platform(dev, &pcm->platform, - &dmaengine_pcm_platform); + if (config && config->copy) + ret = snd_soc_add_platform(dev, &pcm->platform, + &dmaengine_pcm_platform_with_cpy); + else + ret = snd_soc_add_platform(dev, &pcm->platform, + &dmaengine_pcm_platform); if (ret) goto err_free_dma;