From mboxrd@z Thu Jan 1 00:00:00 1970 From: Bo Shen Subject: Re: [PATCH v4 1/7] sound: sam9x5_wm8731: machine driver for at91sam9x5 wm8731 boards Date: Wed, 10 Jul 2013 14:11:48 +0800 Message-ID: <51DCFB24.4080107@atmel.com> References: <1373372929-17800-1-git-send-email-richard.genoud@gmail.com> <1373379933-32749-1-git-send-email-richard.genoud@gmail.com> <1373379933-32749-2-git-send-email-richard.genoud@gmail.com> Mime-Version: 1.0 Content-Type: text/plain; charset="UTF-8"; format=flowed Content-Transfer-Encoding: 7bit Return-path: In-Reply-To: <1373379933-32749-2-git-send-email-richard.genoud@gmail.com> Sender: linux-kernel-owner@vger.kernel.org To: Richard Genoud Cc: Mark Brown , Nicolas Ferre , Liam Girdwood , =?UTF-8?B?VXdlIEtsZWluZS1Lw7ZuaWc=?= , Lars-Peter Clausen , linux-arm-kernel@lists.infradead.org, linux-kernel@vger.kernel.org, alsa-devel@alsa-project.org, devicetree-discuss@lists.ozlabs.org List-Id: devicetree@vger.kernel.org Hi Richard, On 7/9/2013 22:25, Richard Genoud wrote: [snip] > +#include > +#include > +#include > +#include > +#include > +#include > +#include > +#include > + > +#include > + > +#include > +#include > +#include > +#include > + > +#include > +#include > +#include > + > +#include "../codecs/wm8731.h" > +#include "atmel-pcm.h" > +#include "atmel_ssc_dai.h" I think some of the header file include is not needed. I keep them as simple as following: ---8>--- #include #include #include #include #include #include #include "../codecs/wm8731.h" #include "atmel_ssc_dai.h" ---<8--- > +#define MCLK_RATE 12288000 > + > +#define DRV_NAME "sam9x5-snd-wm8731" > + > +/* > + * Authorized rates are: > + * Rate = MCLK_RATE / (n * 2) > + * Where n is in [1..4095] > + * (cf register SSC_CMR) > + */ > +static unsigned int rates[] = { > + 8000, > + 16000, > + 32000, > + 48000, > + 64000, > + 96000, > +}; This is decided by the codec, while not ssc when ssc in slave mode. > +static struct snd_pcm_hw_constraint_list hw_rates = { > + .count = ARRAY_SIZE(rates), > + .list = rates, > +}; > + [snip] > + > + at91sam9x5ek_dai.dai_fmt = snd_soc_of_parse_daifmt(np, "atmel,"); We can put this into at91sam9x5ek_dai directly, not need to parse it then. example as following: ---8>--- .dai_fmt = SND_SOC_DAIFMT_I2S | SND_SOC_DAIFMT_NB_NF | SND_SOC_DAIFMT_CBM_CFM, ---<8--- Best Regards, Bo Shen