-static int set_audio_clock_rate(unsigned long pll_rate,
- unsigned long audio_rate)
-{
- struct clk *sclk_spdif;
-#if defined(CONFIG_ARCH_RK30) || defined(CONFIG_ARCH_RK3188)
- struct clk *hclk_spdif;
-#endif
-
-#if defined(CONFIG_ARCH_RK30) || defined(CONFIG_ARCH_RK3188)
- hclk_spdif = clk_get(NULL, "hclk_spdif");
- if (IS_ERR(hclk_spdif)) {
- pr_err("spdif:failed to get hclk_spdif\n");
- return -ENOENT;
- }
-
- clk_set_rate(hclk_spdif, pll_rate);
- clk_put(hclk_spdif);
-#endif
-
- sclk_spdif = clk_get(NULL, "spdif");
- if (IS_ERR(sclk_spdif)) {
- pr_err("spdif:failed to get sclk_spdif\n");
- return -ENOENT;
- }
-
- clk_set_rate(sclk_spdif, audio_rate);
- clk_put(sclk_spdif);
-
- return 0;
-}
-