On 11/19/2014 07:52 PM, Kenneth Westfield wrote:
[...]
+static struct clk *lpaif_mi2s_bit_clk;
+static struct clk *lpaif_mi2s_osr_clk;
+static struct mi2s_hw_params mi2s_params;
Again, no global state please.
[...]
+static int lpass_cpu_mi2s_prepare(struct snd_pcm_substream *substream,
+ struct snd_soc_dai *dai)
+{
+ return 0;
+}
[...]
+static int lpass_cpu_mi2s_set_fmt(struct snd_soc_dai *dai, unsigned int fmt)
+{
+ return 0;
+}
There is no need to implement empty dummy functions the core handles it just
fine if the callbacks are NULL.
+
[...]
+
+static struct snd_soc_dai_driver lpass_cpu_dais[] = {
+ {
+ .playback = {
+ .rates = SNDRV_PCM_RATE_8000_192000,
+ .formats = SNDRV_PCM_FMTBIT_S16 |
+ SNDRV_PCM_FMTBIT_S24 |
+ SNDRV_PCM_FMTBIT_S32,
+ .channels_min = 2,
+ .channels_max = 2,
+ .rate_min = 8000,
+ .rate_max = 192000,
+ },
+ .ops = &lpass_cpu_mi2s_ops,
+ .name = "lpass-mi2s-dai"
+ },
+};
If there is only one DAI no need to make this a array.
+
+static const struct snd_soc_component_driver lpass_cpu_component = {
+ .name = DRV_NAME,
+};
+
+static int lpass_cpu_dai_probe(struct platform_device *pdev)
+{
+ int ret;
+
+ ret = snd_soc_register_component(&pdev->dev, &lpass_cpu_component,
+ lpass_cpu_dais, ARRAY_SIZE(lpass_cpu_dais));
devm_
+ if (ret)
+ dev_err(&pdev->dev, "%s: error registering soc dais\n",
+ __func__);
+
+ return ret;
+}
[...]
--
To unsubscribe from this list: send the line "unsubscribe devicetree" in
the body of a message to [email protected]
More majordomo info at http://vger.kernel.org/majordomo-info.html