diff options
author | Rex-BC Chen <rex-bc.chen@mediatek.com> | 2022-05-23 11:33:38 +0200 |
---|---|---|
committer | Stephen Boyd <sboyd@kernel.org> | 2022-06-16 02:24:13 +0200 |
commit | b27a604a5793100e17b4979df08fcc238cac4c9c (patch) | |
tree | c2bf2a22e00afae2e07d94ee7aed299da5ccbf59 /drivers/clk/mediatek | |
parent | clk: mediatek: reset: Add new register reset function with device (diff) | |
download | linux-b27a604a5793100e17b4979df08fcc238cac4c9c.tar.xz linux-b27a604a5793100e17b4979df08fcc238cac4c9c.zip |
clk: mediatek: reset: Add reset support for simple probe
- Add a pointer of "mtk_clk_rst_desc" to "mtk_clk_desc".
- Add register reset with device function in mtk_clk_simple_probe().
Signed-off-by: Rex-BC Chen <rex-bc.chen@mediatek.com>
Reviewed-by: AngeloGioacchino Del Regno <angelogioacchino.delregno@collabora.com>
Reviewed-by: NĂcolas F. R. A. Prado <nfraprado@collabora.com>
Tested-by: NĂcolas F. R. A. Prado <nfraprado@collabora.com>
Link: https://lore.kernel.org/r/20220523093346.28493-12-rex-bc.chen@mediatek.com
Signed-off-by: Stephen Boyd <sboyd@kernel.org>
Diffstat (limited to 'drivers/clk/mediatek')
-rw-r--r-- | drivers/clk/mediatek/clk-mtk.c | 7 | ||||
-rw-r--r-- | drivers/clk/mediatek/clk-mtk.h | 1 |
2 files changed, 8 insertions, 0 deletions
diff --git a/drivers/clk/mediatek/clk-mtk.c b/drivers/clk/mediatek/clk-mtk.c index b9188000ab3c..05a188c62119 100644 --- a/drivers/clk/mediatek/clk-mtk.c +++ b/drivers/clk/mediatek/clk-mtk.c @@ -444,6 +444,13 @@ int mtk_clk_simple_probe(struct platform_device *pdev) platform_set_drvdata(pdev, clk_data); + if (mcd->rst_desc) { + r = mtk_register_reset_controller_with_dev(&pdev->dev, + mcd->rst_desc); + if (r) + goto unregister_clks; + } + return r; unregister_clks: diff --git a/drivers/clk/mediatek/clk-mtk.h b/drivers/clk/mediatek/clk-mtk.h index 6ed0c745cae2..1b95c484d5aa 100644 --- a/drivers/clk/mediatek/clk-mtk.h +++ b/drivers/clk/mediatek/clk-mtk.h @@ -192,6 +192,7 @@ struct clk_hw *mtk_clk_register_ref2usb_tx(const char *name, struct mtk_clk_desc { const struct mtk_gate *clks; size_t num_clks; + const struct mtk_clk_rst_desc *rst_desc; }; int mtk_clk_simple_probe(struct platform_device *pdev); |