Merge tag 'sound-5.13-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/tiwai...
[sfrench/cifs-2.6.git] / sound / soc / codecs / wcd934x.c
index d18ae5e3ee809ddf31fd957d42d57b9f0f5c124f..046874ef490e3159dd2299e3db7205b303229880 100644 (file)
@@ -1565,8 +1565,6 @@ static int wcd934x_set_interpolator_rate(struct snd_soc_dai *dai,
                return ret;
        ret = wcd934x_set_mix_interpolator_rate(dai, (u8)rate_val,
                                                sample_rate);
-       if (ret)
-               return ret;
 
        return ret;
 }
@@ -1948,7 +1946,7 @@ static int wcd934x_get_channel_map(struct snd_soc_dai *dai,
        return 0;
 }
 
-static struct snd_soc_dai_ops wcd934x_dai_ops = {
+static const struct snd_soc_dai_ops wcd934x_dai_ops = {
        .hw_params = wcd934x_hw_params,
        .hw_free = wcd934x_hw_free,
        .trigger = wcd934x_trigger,
@@ -2118,11 +2116,13 @@ static struct clk *wcd934x_register_mclk_output(struct wcd934x_codec *wcd)
        wcd->hw.init = &init;
 
        hw = &wcd->hw;
-       ret = clk_hw_register(wcd->dev->parent, hw);
+       ret = devm_clk_hw_register(wcd->dev->parent, hw);
        if (ret)
                return ERR_PTR(ret);
 
-       of_clk_add_provider(np, of_clk_src_simple_get, hw->clk);
+       ret = devm_of_clk_add_hw_provider(dev, of_clk_hw_simple_get, hw);
+       if (ret)
+               return ERR_PTR(ret);
 
        return NULL;
 }
@@ -5042,7 +5042,7 @@ static int wcd934x_codec_probe(struct platform_device *pdev)
 
        ret = devm_request_threaded_irq(dev, irq, NULL,
                                        wcd934x_slim_irq_handler,
-                                       IRQF_TRIGGER_RISING,
+                                       IRQF_TRIGGER_RISING | IRQF_ONESHOT,
                                        "slim", wcd);
        if (ret) {
                dev_err(dev, "Failed to request slimbus irq\n");