@@ -127,20 +127,20 @@ static unsigned long ccu_nkmp_recalc_rate(struct clk_hw *hw,
127
127
return rate ;
128
128
}
129
129
130
- static long ccu_nkmp_round_rate (struct clk_hw * hw , unsigned long rate ,
131
- unsigned long * parent_rate )
130
+ static int ccu_nkmp_determine_rate (struct clk_hw * hw ,
131
+ struct clk_rate_request * req )
132
132
{
133
133
struct ccu_nkmp * nkmp = hw_to_ccu_nkmp (hw );
134
134
struct _ccu_nkmp _nkmp ;
135
135
136
136
if (nkmp -> common .features & CCU_FEATURE_FIXED_POSTDIV )
137
- rate *= nkmp -> fixed_post_div ;
137
+ req -> rate *= nkmp -> fixed_post_div ;
138
138
139
- if (nkmp -> max_rate && rate > nkmp -> max_rate ) {
140
- rate = nkmp -> max_rate ;
139
+ if (nkmp -> max_rate && req -> rate > nkmp -> max_rate ) {
140
+ req -> rate = nkmp -> max_rate ;
141
141
if (nkmp -> common .features & CCU_FEATURE_FIXED_POSTDIV )
142
- rate /= nkmp -> fixed_post_div ;
143
- return rate ;
142
+ req -> rate /= nkmp -> fixed_post_div ;
143
+ return 0 ;
144
144
}
145
145
146
146
_nkmp .min_n = nkmp -> n .min ?: 1 ;
@@ -152,12 +152,13 @@ static long ccu_nkmp_round_rate(struct clk_hw *hw, unsigned long rate,
152
152
_nkmp .min_p = 1 ;
153
153
_nkmp .max_p = nkmp -> p .max ?: 1 << ((1 << nkmp -> p .width ) - 1 );
154
154
155
- rate = ccu_nkmp_find_best (* parent_rate , rate , & _nkmp );
155
+ req -> rate = ccu_nkmp_find_best (req -> best_parent_rate , req -> rate ,
156
+ & _nkmp );
156
157
157
158
if (nkmp -> common .features & CCU_FEATURE_FIXED_POSTDIV )
158
- rate = rate / nkmp -> fixed_post_div ;
159
+ req -> rate = req -> rate / nkmp -> fixed_post_div ;
159
160
160
- return rate ;
161
+ return 0 ;
161
162
}
162
163
163
164
static int ccu_nkmp_set_rate (struct clk_hw * hw , unsigned long rate ,
@@ -227,7 +228,7 @@ const struct clk_ops ccu_nkmp_ops = {
227
228
.is_enabled = ccu_nkmp_is_enabled ,
228
229
229
230
.recalc_rate = ccu_nkmp_recalc_rate ,
230
- .round_rate = ccu_nkmp_round_rate ,
231
+ .determine_rate = ccu_nkmp_determine_rate ,
231
232
.set_rate = ccu_nkmp_set_rate ,
232
233
};
233
234
EXPORT_SYMBOL_NS_GPL (ccu_nkmp_ops , "SUNXI_CCU" );
0 commit comments