mirror of
https://github.com/brain-hackers/u-boot-brain
synced 2024-09-27 23:20:26 +09:00
clk: ccf: replace the get_rate helper
The12d152620d
commit fixed the get_rate helper because the set_parent one did not re-parent the clock device to the new parent. The4d139f3838
commit allows you to remove this workaround by calling the clk_get_parent_rate routine. Signed-off-by: Dario Binacchi <dariobin@libero.it>
This commit is contained in:
parent
69509fb0a5
commit
fa181d1a95
@ -150,32 +150,8 @@ static int clk_mux_set_parent(struct clk *clk, struct clk *parent)
|
|||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
static ulong clk_mux_get_rate(struct clk *clk)
|
|
||||||
{
|
|
||||||
struct clk_mux *mux = to_clk_mux(clk_dev_binded(clk) ?
|
|
||||||
dev_get_clk_ptr(clk->dev) : clk);
|
|
||||||
struct udevice *parent;
|
|
||||||
struct clk *pclk;
|
|
||||||
int err, index;
|
|
||||||
|
|
||||||
index = clk_mux_get_parent(clk);
|
|
||||||
if (index >= mux->num_parents)
|
|
||||||
return -EFAULT;
|
|
||||||
|
|
||||||
err = uclass_get_device_by_name(UCLASS_CLK, mux->parent_names[index],
|
|
||||||
&parent);
|
|
||||||
if (err)
|
|
||||||
return err;
|
|
||||||
|
|
||||||
pclk = dev_get_clk_ptr(parent);
|
|
||||||
if (!pclk)
|
|
||||||
return -ENODEV;
|
|
||||||
|
|
||||||
return clk_get_rate(pclk);
|
|
||||||
}
|
|
||||||
|
|
||||||
const struct clk_ops clk_mux_ops = {
|
const struct clk_ops clk_mux_ops = {
|
||||||
.get_rate = clk_mux_get_rate,
|
.get_rate = clk_generic_get_rate,
|
||||||
.set_parent = clk_mux_set_parent,
|
.set_parent = clk_mux_set_parent,
|
||||||
};
|
};
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user