aboutsummaryrefslogtreecommitdiff
path: root/drivers/clk/qcom/clock-qcom.c
diff options
context:
space:
mode:
Diffstat (limited to 'drivers/clk/qcom/clock-qcom.c')
-rw-r--r--drivers/clk/qcom/clock-qcom.c17
1 files changed, 12 insertions, 5 deletions
diff --git a/drivers/clk/qcom/clock-qcom.c b/drivers/clk/qcom/clock-qcom.c
index a661837e4e1..77bcaacd158 100644
--- a/drivers/clk/qcom/clock-qcom.c
+++ b/drivers/clk/qcom/clock-qcom.c
@@ -28,9 +28,6 @@
#define CBCR_BRANCH_ENABLE_BIT BIT(0)
#define CBCR_BRANCH_OFF_BIT BIT(31)
-extern ulong msm_set_rate(struct clk *clk, ulong rate);
-extern int msm_enable(struct clk *clk);
-
/* Enable clock controlled by CBC soft macro */
void clk_enable_cbc(phys_addr_t cbcr)
{
@@ -160,12 +157,22 @@ static int msm_clk_probe(struct udevice *dev)
static ulong msm_clk_set_rate(struct clk *clk, ulong rate)
{
- return msm_set_rate(clk, rate);
+ struct msm_clk_data *data = (struct msm_clk_data *)dev_get_driver_data(clk->dev);
+
+ if (data->set_rate)
+ return data->set_rate(clk, rate);
+
+ return 0;
}
static int msm_clk_enable(struct clk *clk)
{
- return msm_enable(clk);
+ struct msm_clk_data *data = (struct msm_clk_data *)dev_get_driver_data(clk->dev);
+
+ if (data->enable)
+ return data->enable(clk);
+
+ return 0;
}
static struct clk_ops msm_clk_ops = {