2 * Copyright (C) 2012 ST Microelectronics
3 * Viresh Kumar <viresh.linux@gmail.com>
5 * This file is licensed under the terms of the GNU General Public
6 * License version 2. This program is licensed "as is" without any
7 * warranty of any kind, whether express or implied.
9 * SPEAr clk - Common routines
12 #include <linux/clk-provider.h>
13 #include <linux/types.h>
16 long clk_round_rate_index(struct clk_hw
*hw
, unsigned long drate
,
17 unsigned long parent_rate
, clk_calc_rate calc_rate
, u8 rtbl_cnt
,
20 unsigned long prev_rate
, rate
= 0;
22 for (*index
= 0; *index
< rtbl_cnt
; (*index
)++) {
24 rate
= calc_rate(hw
, parent_rate
, *index
);
26 /* previous clock was best */
35 if ((*index
) == rtbl_cnt
)