[RFC PATCH] ARM ASoC: add sound driver for imx27pdk using mc13783 codec

Mark Brown broonie at opensource.wolfsonmicro.com
Fri Jul 8 22:25:01 EDT 2011


On Fri, Jul 08, 2011 at 03:24:51PM +0200, J??rgen Lambrecht wrote:

Please read and try to follow the guidelines in SubmittingPatches:
- Provide a sensible changelog for your patch
- Send copies to the relevant maintainers
- Word wrap within 80 columns
- Follow the kernel coding style.

>  
>  if SND_IMX_SOC
>  
> -config SND_MXC_SOC_SSI
> -	tristate
> -

This appeears to be unrelated to adding new machine support and should
be a separate patch.

> +config SND_SOC_IMX_MC13783
> +	tristate
> +

Err...  what is this for?

>  config SND_MXC_SOC_WM1133_EV1
>  	tristate "Audio on the the i.MX31ADS with WM1133-EV1 fitted"
>  	depends on MACH_MX31ADS_WM1133_EV1 && EXPERIMENTAL
>  	select SND_SOC_WM8350
> -	select SND_MXC_SOC_SSI
>  	select SND_MXC_SOC_FIQ
>  	help

Again, this and all the other similar hunks are totally unrelated to
adding a machine.

> +config SND_SOC_IMX27_MC13783
> +	tristate "SoC Audio support for i.MX27 platforms with a MC13783 codec"
> +	depends on MACH_MX27_3DS

The dependency and the text disagree with each other...

> +	/* set codec and cpu DAI configuration */
> +	if (substream->stream == SNDRV_PCM_STREAM_PLAYBACK) {
> +		ret = snd_soc_dai_set_fmt(codec_dai, FMT_PLAYBACK);
> +		if (ret) {
> +			pr_err("%s: failed set codec dai format\n", __func__);
> +			return ret;
> +		}
> +		ret = snd_soc_dai_set_fmt(cpu_dai, FMT_PLAYBACK);
> +		if (ret) {
> +			pr_err("%s: failed set cpu dai format\n", __func__);
> +			return ret;

Can we have some blank lines for legibility please?

> +		ret = snd_soc_dai_set_tdm_slot(codec_dai, 0, 0, 4, 32); /* args are not used in mc13783 */
> +		if (ret)
> +			return ret;
> +	}

If the arguments are not used why are you supplying them, or even
calling this function?

> +//ok: checked; we use clia input pin; last arg is not used
> +	ret = snd_soc_dai_set_sysclk(codec_dai, MC13783_CLK_CLIA, 26000000, SND_SOC_CLOCK_OUT);
> +	if (ret) {
> +		pr_err("%s: failed setting codec sysclk\n", __func__);
> +		return ret;
> +	}

Coding style here and elsewhere.  You're also rather inconsistent about
error reporting.

> +static int imx_mc13783_audio_hifi_hw_free(struct snd_pcm_substream *substream)
> +{
> +	return 0;
> +}

Omit empty functions.

> +static int __init imx_mc13783_audio_init(void)
> +{
> +	int ret;
> +
> +	pr_info("IMX MC13783 Sound Card\n");

This is needlessly chatty.

> +	imx_mc13783_snd_device = platform_device_alloc("soc-audio", -1);
> +	if (!imx_mc13783_snd_device)
> +		return -ENOMEM;

Don't use soc-audio, use snd_soc_register_card().



More information about the linux-arm-kernel mailing list