Skip to content

Commit 516edf7

Browse files
laura-naobebarino
authored andcommitted
clk: mediatek: clk-mtk: Introduce mtk_clk_get_hwv_regmap()
On MT8196, some clock controllers use a separate regmap for hardware voting via set/clear/status registers. Add mtk_clk_get_hwv_regmap() to retrieve this optional regmap, avoiding duplicated lookup code in  mtk_clk_register_muxes() and mtk_clk_register_gate(). Reviewed-by: Nícolas F. R. A. Prado <nfraprado@collabora.com> Reviewed-by: AngeloGioacchino Del Regno <angelogioacchino.delregno@collabora.com> Reviewed-by: Chen-Yu Tsai <wenst@chromium.org> Signed-off-by: Laura Nao <laura.nao@collabora.com> Signed-off-by: Stephen Boyd <sboyd@kernel.org>
1 parent d3c4dde commit 516edf7

2 files changed

Lines changed: 17 additions & 0 deletions

File tree

drivers/clk/mediatek/clk-mtk.c

Lines changed: 16 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -685,4 +685,20 @@ void mtk_clk_simple_remove(struct platform_device *pdev)
685685
}
686686
EXPORT_SYMBOL_GPL(mtk_clk_simple_remove);
687687

688+
struct regmap *mtk_clk_get_hwv_regmap(struct device_node *node)
689+
{
690+
struct device_node *hwv_node;
691+
struct regmap *regmap_hwv;
692+
693+
hwv_node = of_parse_phandle(node, "mediatek,hardware-voter", 0);
694+
if (!hwv_node)
695+
return NULL;
696+
697+
regmap_hwv = device_node_to_regmap(hwv_node);
698+
of_node_put(hwv_node);
699+
700+
return regmap_hwv;
701+
}
702+
EXPORT_SYMBOL_GPL(mtk_clk_get_hwv_regmap);
703+
688704
MODULE_LICENSE("GPL");

drivers/clk/mediatek/clk-mtk.h

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -245,5 +245,6 @@ int mtk_clk_pdev_probe(struct platform_device *pdev);
245245
void mtk_clk_pdev_remove(struct platform_device *pdev);
246246
int mtk_clk_simple_probe(struct platform_device *pdev);
247247
void mtk_clk_simple_remove(struct platform_device *pdev);
248+
struct regmap *mtk_clk_get_hwv_regmap(struct device_node *node);
248249

249250
#endif /* __DRV_CLK_MTK_H */

0 commit comments

Comments
 (0)