}
EXPORT_SYMBOL_GPL(divider_round_rate_parent);
-long divider_ro_round_rate_parent(struct clk_hw *hw, struct clk_hw *parent,
- unsigned long rate, unsigned long *prate,
- const struct clk_div_table *table, u8 width,
- unsigned long flags, unsigned int val)
-{
- struct clk_rate_request req;
- int ret;
-
- clk_hw_init_rate_request(hw, &req, rate);
- req.best_parent_rate = *prate;
- req.best_parent_hw = parent;
-
- ret = divider_ro_determine_rate(hw, &req, table, width, flags, val);
- if (ret)
- return ret;
-
- *prate = req.best_parent_rate;
-
- return req.rate;
-}
-EXPORT_SYMBOL_GPL(divider_ro_round_rate_parent);
-
static int clk_divider_determine_rate(struct clk_hw *hw,
struct clk_rate_request *req)
{
unsigned long rate, unsigned long *prate,
const struct clk_div_table *table,
u8 width, unsigned long flags);
-long divider_ro_round_rate_parent(struct clk_hw *hw, struct clk_hw *parent,
- unsigned long rate, unsigned long *prate,
- const struct clk_div_table *table, u8 width,
- unsigned long flags, unsigned int val);
int divider_determine_rate(struct clk_hw *hw, struct clk_rate_request *req,
const struct clk_div_table *table, u8 width,
unsigned long flags);
rate, prate, table, width, flags);
}
-static inline long divider_ro_round_rate(struct clk_hw *hw, unsigned long rate,
- unsigned long *prate,
- const struct clk_div_table *table,
- u8 width, unsigned long flags,
- unsigned int val)
-{
- return divider_ro_round_rate_parent(hw, clk_hw_get_parent(hw),
- rate, prate, table, width, flags,
- val);
-}
-
/*
* FIXME clock api without lock protection
*/