phy: mediatek: mipi-dsi: Convert to register clk_hw
authorAngeloGioacchino Del Regno <angelogioacchino.delregno@collabora.com>
Thu, 25 May 2023 11:52:56 +0000 (13:52 +0200)
committerVinod Koul <vkoul@kernel.org>
Wed, 12 Jul 2023 16:57:42 +0000 (22:27 +0530)
Instead of registering a struct clk, directly register clk_hw: this
allows us to cleanup a pointer to struct clk from struct mtk_mipi_tx.

Signed-off-by: AngeloGioacchino Del Regno <angelogioacchino.delregno@collabora.com>
Link: https://lore.kernel.org/r/20230525115258.90091-2-angelogioacchino.delregno@collabora.com
Signed-off-by: Vinod Koul <vkoul@kernel.org>
drivers/phy/mediatek/phy-mtk-mipi-dsi.c
drivers/phy/mediatek/phy-mtk-mipi-dsi.h

index 526c05a..3621451 100644 (file)
@@ -36,7 +36,7 @@ static int mtk_mipi_tx_power_on(struct phy *phy)
        int ret;
 
        /* Power up core and enable PLL */
-       ret = clk_prepare_enable(mipi_tx->pll);
+       ret = clk_prepare_enable(mipi_tx->pll_hw.clk);
        if (ret < 0)
                return ret;
 
@@ -53,7 +53,7 @@ static int mtk_mipi_tx_power_off(struct phy *phy)
        mipi_tx->driver_data->mipi_tx_disable_signal(phy);
 
        /* Disable PLL and power down core */
-       clk_disable_unprepare(mipi_tx->pll);
+       clk_disable_unprepare(mipi_tx->pll_hw.clk);
 
        return 0;
 }
@@ -158,9 +158,9 @@ static int mtk_mipi_tx_probe(struct platform_device *pdev)
        clk_init.ops = mipi_tx->driver_data->mipi_tx_clk_ops;
 
        mipi_tx->pll_hw.init = &clk_init;
-       mipi_tx->pll = devm_clk_register(dev, &mipi_tx->pll_hw);
-       if (IS_ERR(mipi_tx->pll))
-               return dev_err_probe(dev, PTR_ERR(mipi_tx->pll), "Failed to register PLL\n");
+       ret = devm_clk_hw_register(dev, &mipi_tx->pll_hw);
+       if (ret)
+               return dev_err_probe(dev, ret, "Failed to register PLL\n");
 
        phy = devm_phy_create(dev, NULL, &mtk_mipi_tx_ops);
        if (IS_ERR(phy))
@@ -176,8 +176,7 @@ static int mtk_mipi_tx_probe(struct platform_device *pdev)
 
        mtk_mipi_tx_get_calibration_datal(mipi_tx);
 
-       return of_clk_add_provider(dev->of_node, of_clk_src_simple_get,
-                                  mipi_tx->pll);
+       return of_clk_add_hw_provider(dev->of_node, of_clk_hw_simple_get, &mipi_tx->pll_hw);
 }
 
 static void mtk_mipi_tx_remove(struct platform_device *pdev)
index 47b60b1..0250c4a 100644 (file)
@@ -32,7 +32,6 @@ struct mtk_mipi_tx {
        u32 rt_code[5];
        const struct mtk_mipitx_data *driver_data;
        struct clk_hw pll_hw;
-       struct clk *pll;
 };
 
 struct mtk_mipi_tx *mtk_mipi_tx_from_clk_hw(struct clk_hw *hw);