]> www.infradead.org Git - users/jedix/linux-maple.git/commitdiff
ASoC: codecs: da7213: Simplify mclk initialization
authorCezary Rojewski <cezary.rojewski@intel.com>
Wed, 21 Feb 2024 15:25:11 +0000 (16:25 +0100)
committerMark Brown <broonie@kernel.org>
Wed, 21 Feb 2024 16:26:17 +0000 (16:26 +0000)
Most of clk_xxx() functions do check if provided clk-pointer is
non-NULL. These do not check if the pointer is an error-pointer.
Providing such to a clk_xxx() results in a panic.

By utilizing _optional() variant of devm_clk_get() the driver code is
both simplified and more robust. There is no need to remember about
IS_ERR(clk) checks each time mclk is accessed.

Reviewed-by: Amadeusz Sławiński <amadeuszx.slawinski@linux.intel.com>
Signed-off-by: Cezary Rojewski <cezary.rojewski@intel.com>
Link: https://msgid.link/r/20240221152516.852353-2-cezary.rojewski@intel.com
Signed-off-by: Mark Brown <broonie@kernel.org>
sound/soc/codecs/da7213.c

index 0e5c527687a27da497d924676e910d78232f36b6..369c620787800749c7599339ac4385c2d60a291a 100644 (file)
@@ -2101,18 +2101,14 @@ static int da7213_probe(struct snd_soc_component *component)
        pm_runtime_put_sync(component->dev);
 
        /* Check if MCLK provided */
-       da7213->mclk = devm_clk_get(component->dev, "mclk");
-       if (IS_ERR(da7213->mclk)) {
-               if (PTR_ERR(da7213->mclk) != -ENOENT)
-                       return PTR_ERR(da7213->mclk);
-               else
-                       da7213->mclk = NULL;
-       } else {
+       da7213->mclk = devm_clk_get_optional(component->dev, "mclk");
+       if (IS_ERR(da7213->mclk))
+               return PTR_ERR(da7213->mclk);
+       if (da7213->mclk)
                /* Do automatic PLL handling assuming fixed clock until
                 * set_pll() has been called. This makes the codec usable
                 * with the simple-audio-card driver. */
                da7213->fixed_clk_auto_pll = true;
-       }
 
        /* Default infinite tone gen, start/stop by Kcontrol */
        snd_soc_component_write(component, DA7213_TONE_GEN_CYCLES, DA7213_BEEP_CYCLES_MASK);