There are several similar places in the code. Not a big deal, but this+/* Setup PLL clock as per the given sample rate */void* doesn't need casting
+static int tegra_audio_graph_update_pll(struct snd_pcm_substream *substream,
+ struct snd_pcm_hw_params *params)
+{
+ struct snd_soc_pcm_runtime *rtd = asoc_substream_to_rtd(substream);
+ struct asoc_simple_priv *priv = snd_soc_card_get_drvdata(rtd->card);
+ struct device *dev = rtd->card->dev;
+ struct tegra_audio_graph_data *graph_data =
+ (struct tegra_audio_graph_data *)priv->data;
+ struct tegra_audio_chip_data *chip_data =
+ (struct tegra_audio_chip_data *)of_device_get_match_data(dev);
makes code less readable than it could be.