|
@@ -283,7 +283,7 @@ static int sun4i_codec_hw_params(struct snd_pcm_substream *substream,
|
|
|
struct snd_soc_pcm_runtime *rtd = substream->private_data;
|
|
|
struct sun4i_codec *scodec = snd_soc_card_get_drvdata(rtd->card);
|
|
|
unsigned long clk_freq;
|
|
|
- int hwrate;
|
|
|
+ int ret, hwrate;
|
|
|
u32 val;
|
|
|
|
|
|
if (substream->stream != SNDRV_PCM_STREAM_PLAYBACK)
|
|
@@ -293,8 +293,9 @@ static int sun4i_codec_hw_params(struct snd_pcm_substream *substream,
|
|
|
if (!clk_freq)
|
|
|
return -EINVAL;
|
|
|
|
|
|
- if (clk_set_rate(scodec->clk_module, clk_freq))
|
|
|
- return -EINVAL;
|
|
|
+ ret = clk_set_rate(scodec->clk_module, clk_freq);
|
|
|
+ if (ret)
|
|
|
+ return ret;
|
|
|
|
|
|
hwrate = sun4i_codec_get_hw_rate(params);
|
|
|
if (hwrate < 0)
|
|
@@ -388,8 +389,7 @@ static struct snd_soc_dai_driver sun4i_codec_dai = {
|
|
|
.rate_max = 192000,
|
|
|
.rates = SNDRV_PCM_RATE_8000_48000 |
|
|
|
SNDRV_PCM_RATE_96000 |
|
|
|
- SNDRV_PCM_RATE_192000 |
|
|
|
- SNDRV_PCM_RATE_KNOT,
|
|
|
+ SNDRV_PCM_RATE_192000,
|
|
|
.formats = SNDRV_PCM_FMTBIT_S16_LE |
|
|
|
SNDRV_PCM_FMTBIT_S32_LE,
|
|
|
.sig_bits = 24,
|
|
@@ -571,7 +571,6 @@ static struct snd_soc_dai_link *sun4i_codec_create_link(struct device *dev,
|
|
|
static struct snd_soc_card *sun4i_codec_create_card(struct device *dev)
|
|
|
{
|
|
|
struct snd_soc_card *card;
|
|
|
- int ret;
|
|
|
|
|
|
card = devm_kzalloc(dev, sizeof(*card), GFP_KERNEL);
|
|
|
if (!card)
|
|
@@ -584,12 +583,6 @@ static struct snd_soc_card *sun4i_codec_create_card(struct device *dev)
|
|
|
card->dev = dev;
|
|
|
card->name = "sun4i-codec";
|
|
|
|
|
|
- ret = snd_soc_of_parse_audio_routing(card, "routing");
|
|
|
- if (ret) {
|
|
|
- dev_err(dev, "Failed to create our audio routing\n");
|
|
|
- return NULL;
|
|
|
- }
|
|
|
-
|
|
|
return card;
|
|
|
};
|
|
|
|