mirror of
https://source.denx.de/u-boot/u-boot.git
synced 2026-05-05 04:36:13 +02:00
clk: mediatek: add grandparent variable in mtk_find_parent_rate()
Add grandparent device variable in mtk_find_parent_rate() to allow the grandparent device being reused instead of calling dev_get_parent(priv->parent) multiple times. Signed-off-by: Sam Shih <sam.shih@mediatek.com> Signed-off-by: Weijie Gao <weijie.gao@mediatek.com> Link: https://patch.msgid.link/726ccc71593f6c224c13142a0bd4a9f6f0f81445.1776326933.git.weijie.gao@mediatek.com Signed-off-by: David Lechner <dlechner@baylibre.com>
This commit is contained in:
parent
ad3ea453d8
commit
374cb8a288
@ -217,17 +217,20 @@ static ulong mtk_find_parent_rate(struct mtk_clk_priv *priv, struct clk *clk,
|
||||
case CLK_PARENT_APMIXED:
|
||||
/* APMIXEDSYS can be parent or grandparent. */
|
||||
if (dev_get_driver_ops(clk->dev) == &mtk_clk_apmixedsys_ops ||
|
||||
dev_get_driver_ops(clk->dev) == &mtk_clk_fixed_pll_ops)
|
||||
dev_get_driver_ops(clk->dev) == &mtk_clk_fixed_pll_ops) {
|
||||
parent_dev = clk->dev;
|
||||
else if (dev_get_driver_ops(priv->parent) == &mtk_clk_apmixedsys_ops ||
|
||||
dev_get_driver_ops(priv->parent) == &mtk_clk_fixed_pll_ops)
|
||||
} else if (dev_get_driver_ops(priv->parent) == &mtk_clk_apmixedsys_ops ||
|
||||
dev_get_driver_ops(priv->parent) == &mtk_clk_fixed_pll_ops) {
|
||||
parent_dev = priv->parent;
|
||||
else if (dev_get_driver_ops(dev_get_parent(priv->parent)) == &mtk_clk_apmixedsys_ops ||
|
||||
dev_get_driver_ops(dev_get_parent(priv->parent)) == &mtk_clk_fixed_pll_ops)
|
||||
parent_dev = dev_get_parent(priv->parent);
|
||||
else
|
||||
return -EINVAL;
|
||||
} else {
|
||||
struct udevice *grandparent_dev = dev_get_parent(priv->parent);
|
||||
|
||||
if (dev_get_driver_ops(grandparent_dev) == &mtk_clk_apmixedsys_ops ||
|
||||
dev_get_driver_ops(grandparent_dev) == &mtk_clk_fixed_pll_ops)
|
||||
parent_dev = grandparent_dev;
|
||||
else
|
||||
return -EINVAL;
|
||||
}
|
||||
break;
|
||||
case CLK_PARENT_TOPCKGEN:
|
||||
if (dev_get_driver_ops(clk->dev) == &mtk_clk_topckgen_ops)
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user