Lines Matching defs:clk
10 #include <linux/clk.h>
11 #include <linux/clk-provider.h>
736 struct clk *clk;
739 clk = of_clk_get_from_provider(clkspec);
740 if (IS_ERR(clk))
741 return PTR_ERR(clk);
745 clk_put(clk);
749 error = pm_clk_add_clk(dev, clk);
752 clk_put(clk);
873 static struct clk *
878 struct clk *clk;
907 clk = clk_register(NULL, &g->hw);
908 if (IS_ERR(clk)) {
912 return clk;
932 struct r9a06g032_clk_div *clk = to_r9a06g032_div(hw);
933 u32 __iomem *reg = clk->clocks->reg + (4 * clk->reg);
936 if (div < clk->min)
937 div = clk->min;
938 else if (div > clk->max)
939 div = clk->max;
950 r9a06g032_div_clamp_div(struct r9a06g032_clk_div *clk,
957 if (div <= clk->min)
958 return clk->min;
959 if (div >= clk->max)
960 return clk->max;
962 for (i = 0; clk->table_size && i < clk->table_size - 1; i++) {
963 if (div >= clk->table[i] && div <= clk->table[i + 1]) {
965 DIV_ROUND_UP(prate, clk->table[i]);
967 DIV_ROUND_UP(prate, clk->table[i + 1]) -
973 div = p >= m ? clk->table[i] : clk->table[i + 1];
983 struct r9a06g032_clk_div *clk = to_r9a06g032_div(hw);
987 hw->clk, req->rate, req->best_parent_rate, div);
989 clk->min, DIV_ROUND_UP(req->best_parent_rate, clk->min),
990 clk->max, DIV_ROUND_UP(req->best_parent_rate, clk->max));
992 div = r9a06g032_div_clamp_div(clk, req->rate, req->best_parent_rate);
1002 if (clk->index == R9A06G032_DIV_UART ||
1003 clk->index == R9A06G032_DIV_P2_PG) {
1005 req->rate = clk_get_rate(hw->clk);
1009 pr_devel("%s %pC %ld / %u = %ld\n", __func__, hw->clk,
1018 struct r9a06g032_clk_div *clk = to_r9a06g032_div(hw);
1021 u32 __iomem *reg = clk->clocks->reg + (4 * clk->reg);
1023 pr_devel("%s %pC rate %ld parent %ld div %d\n", __func__, hw->clk,
1044 static struct clk *
1050 struct clk *clk;
1076 clk = clk_register(NULL, &div->hw);
1077 if (IS_ERR(clk)) {
1081 return clk;
1129 static struct clk *
1134 struct clk *clk;
1158 clk = clk_register(NULL, &g->hw);
1159 if (IS_ERR(clk)) {
1163 return clk;
1219 static struct clk *
1226 struct clk *clk;
1257 clk = clk_register(NULL, &g->hw);
1258 if (IS_ERR(clk)) {
1262 return clk;
1298 struct clk **clks;
1299 struct clk *mclk;
1305 clks = devm_kcalloc(dev, R9A06G032_CLOCK_COUNT, sizeof(struct clk *),
1330 struct clk *clk = NULL;
1334 clk = clk_register_fixed_factor(NULL, d->name,
1339 clk = r9a06g032_register_gate(clocks, parent_name, d);
1342 clk = r9a06g032_register_div(clocks, parent_name, d);
1347 clk = r9a06g032_register_bitsel(clocks, parent_name, d);
1350 clk = r9a06g032_register_dualgate(clocks, parent_name,
1355 clocks->data.clks[d->index] = clk;