Lines Matching refs:div

34 	for (clkt = table; clkt->div; clkt++)
36 return clkt->div;
49 for (clkt = divider->table; clkt->div; clkt++)
80 unsigned int div)
84 for (clkt = table; clkt->div; clkt++)
85 if (clkt->div == div)
90 static unsigned int _get_val(struct clk_omap_divider *divider, u8 div)
93 return div;
95 return __ffs(div);
97 return _get_table_val(divider->table, div);
98 return div - 1;
105 unsigned int div, val;
110 div = _get_div(divider, val);
111 if (!div) {
118 return DIV_ROUND_UP(parent_rate, div);
128 unsigned int div)
132 for (clkt = table; clkt->div; clkt++)
133 if (clkt->div == div)
138 static bool _is_valid_div(struct clk_omap_divider *divider, unsigned int div)
141 return is_power_of_2(div);
143 return _is_valid_table_div(divider->table, div);
152 int div = DIV_ROUND_UP_ULL((u64)parent_rate, rate);
154 for (clkt = table; clkt->div; clkt++) {
155 if (clkt->div == div)
156 return clkt->div;
157 else if (clkt->div < div)
160 if ((clkt->div - div) < (up - div))
161 up = clkt->div;
237 int div;
238 div = ti_clk_divider_bestdiv(hw, rate, prate);
240 return DIV_ROUND_UP(*prate, div);
247 unsigned int div, value;
255 div = DIV_ROUND_UP(parent_rate, rate);
257 if (div > divider->max)
258 div = divider->max;
259 if (div < divider->min)
260 div = divider->min;
262 value = _get_val(divider, div);
318 struct clk_omap_divider *div)
333 div->hw.init = &init;
336 return of_ti_clk_register(node, &div->hw, name);
374 tmp[valid_div].div = div_table[i];
392 struct clk_omap_divider *div)
431 table[valid_div].div = val;
437 div->table = table;
452 if (of_property_read_u32(node, "ti,min-div", &min_div))
455 if (of_property_read_u32(node, "ti,max-div", &max_div)) {
456 pr_err("no max-div for %pOFn!\n", node);
461 for (clkt = divider->table; clkt->div; clkt++) {
462 val = clkt->div;
478 struct clk_omap_divider *div,
484 ret = ti_clk_get_reg_addr(node, 0, &div->reg);
489 div->shift = val;
491 div->shift = 0;
494 div->latch = val;
496 div->latch = -EINVAL;
499 div->flags = 0;
502 div->flags |= CLK_DIVIDER_ONE_BASED;
505 div->flags |= CLK_DIVIDER_POWER_OF_TWO;
510 ret = ti_clk_get_div_table(node, div);
514 return _populate_divider_min_max(node, div);
518 * of_ti_divider_clk_setup - Setup function for simple div rate clock
527 struct clk_omap_divider *div;
529 div = kzalloc(sizeof(*div), GFP_KERNEL);
530 if (!div)
533 if (ti_clk_divider_populate(node, div, &flags))
536 clk = _register_divider(node, flags, div);
544 kfree(div->table);
545 kfree(div);
551 struct clk_omap_divider *div;
554 div = kzalloc(sizeof(*div), GFP_KERNEL);
555 if (!div)
558 if (ti_clk_divider_populate(node, div, &tmp))
561 if (!ti_clk_add_component(node, &div->hw, CLK_COMPONENT_TYPE_DIVIDER))
565 kfree(div->table);
566 kfree(div);