clk: ccf: correct the test on the parent uclass in clk_enable/clk_disable
It is safe to check if the uclass id on the device is UCLASS_CLK
before to call the clk_ functions, but today this comparison is
not done on the device used in API: clkp->dev->parent
but on the device himself: clkp->dev.
This patch corrects this behavior and tests if the parent device
is a clock device before to call the clock API, clk_enable or
clk_disable, on this device.
Fixes: 0520be0f67
("clk: prograte clk enable/disable to parent")
Signed-off-by: Patrick Delaunay <patrick.delaunay@foss.st.com>
Reviewed-by: Sean Anderson <seanga2@gmail.com>
This commit is contained in:
parent
e96e2132f9
commit
b0cdd8287a
@ -641,7 +641,7 @@ int clk_enable(struct clk *clk)
|
||||
return 0;
|
||||
}
|
||||
if (clkp->dev->parent &&
|
||||
device_get_uclass_id(clkp->dev) == UCLASS_CLK) {
|
||||
device_get_uclass_id(clkp->dev->parent) == UCLASS_CLK) {
|
||||
ret = clk_enable(dev_get_clk_ptr(clkp->dev->parent));
|
||||
if (ret) {
|
||||
printf("Enable %s failed\n",
|
||||
@ -715,7 +715,7 @@ int clk_disable(struct clk *clk)
|
||||
}
|
||||
|
||||
if (clkp && clkp->dev->parent &&
|
||||
device_get_uclass_id(clkp->dev) == UCLASS_CLK) {
|
||||
device_get_uclass_id(clkp->dev->parent) == UCLASS_CLK) {
|
||||
ret = clk_disable(dev_get_clk_ptr(clkp->dev->parent));
|
||||
if (ret) {
|
||||
printf("Disable %s failed\n",
|
||||
|
Loading…
Reference in New Issue
Block a user