|
@@ -211,11 +211,16 @@ static long ti_clk_divider_round_rate(struct clk_hw *hw, unsigned long rate,
|
|
|
static int ti_clk_divider_set_rate(struct clk_hw *hw, unsigned long rate,
|
|
|
unsigned long parent_rate)
|
|
|
{
|
|
|
- struct clk_divider *divider = to_clk_divider(hw);
|
|
|
+ struct clk_divider *divider;
|
|
|
unsigned int div, value;
|
|
|
unsigned long flags = 0;
|
|
|
u32 val;
|
|
|
|
|
|
+ if (!hw || !rate)
|
|
|
+ return -EINVAL;
|
|
|
+
|
|
|
+ divider = to_clk_divider(hw);
|
|
|
+
|
|
|
div = DIV_ROUND_UP(parent_rate, rate);
|
|
|
value = _get_val(divider, div);
|
|
|
|