Message ID | 1444872998-2548-1-git-send-email-shawn.lin@rock-chips.com (mailing list archive) |
---|---|
State | New, archived |
Headers | show |
Hi Shawn, [auto build test WARNING on rockchip/for-next -- if it's inappropriate base, please suggest rules for selecting the more suitable base] url: https://github.com/0day-ci/linux/commits/Shawn-Lin/Fix-broken-DMAFLUSHP-on-Rockchips-platform/20151015-094613 reproduce: make htmldocs All warnings (new ones prefixed by >>): >> sound/soc/soc-generic-dmaengine-pcm.c:475: warning: No description found for parameter 'caps' vim +/caps +475 sound/soc/soc-generic-dmaengine-pcm.c 459 return; 460 461 pcm = soc_platform_to_pcm(platform); 462 463 snd_soc_remove_platform(platform); 464 dmaengine_pcm_release_chan(pcm); 465 kfree(pcm); 466 } 467 EXPORT_SYMBOL_GPL(snd_dmaengine_pcm_unregister); 468 469 470 /** 471 * snd_dmaengine_pcm_get_caps - Get slave dma caps based PCM device 472 * @dev: Parent device the PCM was register with 473 */ 474 int snd_dmaengine_pcm_get_caps(struct device *dev, struct dma_slave_caps *caps) > 475 { 476 struct snd_soc_platform *platform; 477 struct dmaengine_pcm *pcm; 478 int ret = -ENODEV; 479 480 platform = snd_soc_lookup_platform(dev); 481 if (!platform) 482 return ret; 483 --- 0-DAY kernel test infrastructure Open Source Technology Center https://lists.01.org/pipermail/kbuild-all Intel Corporation
On Thu, Oct 15, 2015 at 09:36:38AM +0800, Shawn Lin wrote: > +int snd_dmaengine_pcm_get_caps(struct device *dev, struct dma_slave_caps *caps) > +{ > + struct snd_soc_platform *platform; > + struct dmaengine_pcm *pcm; > + int ret = -ENODEV; > + > + platform = snd_soc_lookup_platform(dev); > + if (!platform) > + return ret; > + > + pcm = soc_platform_to_pcm(platform); > + > + if (pcm->chan) > + ret = dma_get_slave_caps(pcm->chan[0], caps); > + > + return ret; > +} > +EXPORT_SYMBOL_GPL(snd_dmaengine_pcm_get_caps); I don't see the need of this wrapper if you are not going to use this inside common code.. Why not read this in driver, anyway you setting taht up in next patch
On 2015/10/15 12:05, Vinod Koul wrote: > On Thu, Oct 15, 2015 at 09:36:38AM +0800, Shawn Lin wrote: >> +int snd_dmaengine_pcm_get_caps(struct device *dev, struct dma_slave_caps *caps) >> +{ >> + struct snd_soc_platform *platform; >> + struct dmaengine_pcm *pcm; >> + int ret = -ENODEV; >> + >> + platform = snd_soc_lookup_platform(dev); >> + if (!platform) >> + return ret; >> + >> + pcm = soc_platform_to_pcm(platform); >> + >> + if (pcm->chan) >> + ret = dma_get_slave_caps(pcm->chan[0], caps); >> + >> + return ret; >> +} >> +EXPORT_SYMBOL_GPL(snd_dmaengine_pcm_get_caps); > > I don't see the need of this wrapper if you are not going to use this inside > common code.. Why not read this in driver, anyway you setting taht up in > next patch okay, I will read it in driver directly. Thanks. >
diff --git a/sound/soc/soc-generic-dmaengine-pcm.c b/sound/soc/soc-generic-dmaengine-pcm.c index 6fd1906..225c933 100644 --- a/sound/soc/soc-generic-dmaengine-pcm.c +++ b/sound/soc/soc-generic-dmaengine-pcm.c @@ -466,4 +466,28 @@ void snd_dmaengine_pcm_unregister(struct device *dev) } EXPORT_SYMBOL_GPL(snd_dmaengine_pcm_unregister); + +/** + * snd_dmaengine_pcm_get_caps - Get slave dma caps based PCM device + * @dev: Parent device the PCM was register with + */ +int snd_dmaengine_pcm_get_caps(struct device *dev, struct dma_slave_caps *caps) +{ + struct snd_soc_platform *platform; + struct dmaengine_pcm *pcm; + int ret = -ENODEV; + + platform = snd_soc_lookup_platform(dev); + if (!platform) + return ret; + + pcm = soc_platform_to_pcm(platform); + + if (pcm->chan) + ret = dma_get_slave_caps(pcm->chan[0], caps); + + return ret; +} +EXPORT_SYMBOL_GPL(snd_dmaengine_pcm_get_caps); + MODULE_LICENSE("GPL");
Add snd_dmaengine_pcm_get_caps for I2S devices to query dma controller's caps if they need it to make special limitation due to specific dma controller design Signed-off-by: Shawn Lin <shawn.lin@rock-chips.com> --- Changes in v6: - remove get quirks and add get slave caps Changes in v5: None Changes in v4: None Changes in v3: None Changes in v2: None Changes in v1: None sound/soc/soc-generic-dmaengine-pcm.c | 24 ++++++++++++++++++++++++ 1 file changed, 24 insertions(+)