On Wed, Jun 17, 2020 at 12:30:17PM +0800, Shengjiu Wang wrote: > The one difference on imx6sx platform is that the root clock > is shared with ASRC module, so we add a new flags > "shared_root_clock" which means the root clock is independent, "shared" means "not independent", against "independent" ;) > then we will not do the clk_set_rate and clk_round_rate to avoid > impact ASRC module usage. > > As add a new flags, we include the soc specific data struct. > > Signed-off-by: Shengjiu Wang <shengjiu.wang@xxxxxxx> Can add this once fixing the remaining comments: Reviewed-by: Nicolin Chen <nicoleotsuka@xxxxxxxxx> > +static inline bool fsl_spdif_can_set_clk_rate(struct fsl_spdif_priv *spdif, > + int clk) Can actually merge into single line as kernel has 100-character limit now, though 80-char is still preferable for a good coding style. But I think this one wouldn't be too bad at all. > @@ -421,7 +456,7 @@ static int spdif_set_sample_rate(struct snd_pcm_substream *substream, > sysclk_df = spdif_priv->sysclk_df[rate]; > > /* Don't mess up the clocks from other modules */ We can drop this comments now as it's out-of-date and the name of the new helper function is straightforward enough. > - if (clk != STC_TXCLK_SPDIF_ROOT) > + if (!fsl_spdif_can_set_clk_rate(spdif_priv, clk)) > goto clk_set_bypass; > > /* The S/PDIF block needs a clock of 64 * fs * txclk_df */