aboutsummaryrefslogtreecommitdiffstats
path: root/target/linux/mediatek/patches-5.15/930-spi-mt65xx-enable-sel-clk.patch
blob: ebb6c060b54c65e768c273389dfd7e77b9f25b55 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
--- a/drivers/spi/spi-mt65xx.c
+++ b/drivers/spi/spi-mt65xx.c
@@ -1231,10 +1231,16 @@ static int mtk_spi_probe(struct platform
 		goto err_disable_spi_hclk;
 	}
 
+	ret = clk_prepare_enable(mdata->sel_clk);
+	if (ret < 0) {
+		dev_err(&pdev->dev, "failed to enable sel_clk (%d)\n", ret);
+		goto err_disable_spi_clk;
+	}
+
 	ret = clk_set_parent(mdata->sel_clk, mdata->parent_clk);
 	if (ret < 0) {
 		dev_err(&pdev->dev, "failed to clk_set_parent (%d)\n", ret);
-		goto err_disable_spi_clk;
+		goto err_disable_spi_sel_clk;
 	}
 
 	mdata->spi_clk_hz = clk_get_rate(mdata->spi_clk);
@@ -1285,6 +1291,8 @@ static int mtk_spi_probe(struct platform
 
 err_disable_runtime_pm:
 	pm_runtime_disable(&pdev->dev);
+err_disable_spi_sel_clk:
+	clk_disable_unprepare(mdata->sel_clk);
 err_disable_spi_clk:
 	clk_disable_unprepare(mdata->spi_clk);
 err_disable_spi_hclk: