diff options
| -rw-r--r-- | drivers/clk/ti/clk-dra7-atl.c | 6 | ||||
| -rw-r--r-- | drivers/clk/ti/divider.c | 7 |
2 files changed, 11 insertions, 2 deletions
diff --git a/drivers/clk/ti/clk-dra7-atl.c b/drivers/clk/ti/clk-dra7-atl.c index 4a65b410e4d5..af29359677da 100644 --- a/drivers/clk/ti/clk-dra7-atl.c +++ b/drivers/clk/ti/clk-dra7-atl.c | |||
| @@ -139,9 +139,13 @@ static long atl_clk_round_rate(struct clk_hw *hw, unsigned long rate, | |||
| 139 | static int atl_clk_set_rate(struct clk_hw *hw, unsigned long rate, | 139 | static int atl_clk_set_rate(struct clk_hw *hw, unsigned long rate, |
| 140 | unsigned long parent_rate) | 140 | unsigned long parent_rate) |
| 141 | { | 141 | { |
| 142 | struct dra7_atl_desc *cdesc = to_atl_desc(hw); | 142 | struct dra7_atl_desc *cdesc; |
| 143 | u32 divider; | 143 | u32 divider; |
| 144 | 144 | ||
| 145 | if (!hw || !rate) | ||
| 146 | return -EINVAL; | ||
| 147 | |||
| 148 | cdesc = to_atl_desc(hw); | ||
| 145 | divider = ((parent_rate + rate / 2) / rate) - 1; | 149 | divider = ((parent_rate + rate / 2) / rate) - 1; |
| 146 | if (divider > DRA7_ATL_DIVIDER_MASK) | 150 | if (divider > DRA7_ATL_DIVIDER_MASK) |
| 147 | divider = DRA7_ATL_DIVIDER_MASK; | 151 | divider = DRA7_ATL_DIVIDER_MASK; |
diff --git a/drivers/clk/ti/divider.c b/drivers/clk/ti/divider.c index e6aa10db7bba..a837f703be65 100644 --- a/drivers/clk/ti/divider.c +++ b/drivers/clk/ti/divider.c | |||
| @@ -211,11 +211,16 @@ static long ti_clk_divider_round_rate(struct clk_hw *hw, unsigned long rate, | |||
| 211 | static int ti_clk_divider_set_rate(struct clk_hw *hw, unsigned long rate, | 211 | static int ti_clk_divider_set_rate(struct clk_hw *hw, unsigned long rate, |
| 212 | unsigned long parent_rate) | 212 | unsigned long parent_rate) |
| 213 | { | 213 | { |
| 214 | struct clk_divider *divider = to_clk_divider(hw); | 214 | struct clk_divider *divider; |
| 215 | unsigned int div, value; | 215 | unsigned int div, value; |
| 216 | unsigned long flags = 0; | 216 | unsigned long flags = 0; |
| 217 | u32 val; | 217 | u32 val; |
| 218 | 218 | ||
| 219 | if (!hw || !rate) | ||
| 220 | return -EINVAL; | ||
| 221 | |||
| 222 | divider = to_clk_divider(hw); | ||
| 223 | |||
| 219 | div = DIV_ROUND_UP(parent_rate, rate); | 224 | div = DIV_ROUND_UP(parent_rate, rate); |
| 220 | value = _get_val(divider, div); | 225 | value = _get_val(divider, div); |
| 221 | 226 | ||
