platform_set_drvdata(pdev, fei);
 
-       fei->c8sectpfeclk = devm_clk_get(dev, "c8sectpfe");
+       fei->c8sectpfeclk = devm_clk_get_enabled(dev, "c8sectpfe");
        if (IS_ERR(fei->c8sectpfeclk)) {
-               dev_err(dev, "c8sectpfe clk not found\n");
-               return PTR_ERR(fei->c8sectpfeclk);
-       }
-
-       ret = clk_prepare_enable(fei->c8sectpfeclk);
-       if (ret) {
                dev_err(dev, "Failed to enable c8sectpfe clock\n");
-               return ret;
+               return PTR_ERR(fei->c8sectpfeclk);
        }
 
        /* to save power disable all IP's (on by default) */
                        0, "c8sectpfe-idle-irq", fei);
        if (ret) {
                dev_err(dev, "Can't register c8sectpfe-idle-irq IRQ.\n");
-               goto err_clk_disable;
+               return ret;
        }
 
        ret = devm_request_irq(dev, fei->error_irq,
                                "c8sectpfe-error-irq", fei);
        if (ret) {
                dev_err(dev, "Can't register c8sectpfe-error-irq IRQ.\n");
-               goto err_clk_disable;
+               return ret;
        }
 
        fei->tsin_count = of_get_child_count(np);
                fei->tsin_count > fei->hw_stats.num_ib) {
 
                dev_err(dev, "More tsin declared than exist on SoC!\n");
-               ret = -EINVAL;
-               goto err_clk_disable;
+               return -EINVAL;
        }
 
        fei->pinctrl = devm_pinctrl_get(dev);
 
        if (IS_ERR(fei->pinctrl)) {
                dev_err(dev, "Error getting tsin pins\n");
-               ret = PTR_ERR(fei->pinctrl);
-               goto err_clk_disable;
+               return PTR_ERR(fei->pinctrl);
        }
 
        for_each_child_of_node(np, child) {
        if (ret) {
                dev_err(dev, "c8sectpfe_tuner_register_frontend failed (%d)\n",
                        ret);
-               goto err_clk_disable;
+               return ret;
        }
 
        c8sectpfe_debugfs_init(fei);
 
 err_node_put:
        of_node_put(child);
-err_clk_disable:
-       clk_disable_unprepare(fei->c8sectpfeclk);
        return ret;
 }
 
 
        if (readl(fei->io + SYS_OTHER_CLKEN))
                writel(0, fei->io + SYS_OTHER_CLKEN);
-
-       clk_disable_unprepare(fei->c8sectpfeclk);
 }