div_data
const struct npcm7xx_clk_div_data *div_data = &npcm7xx_divs[i];
hw = clk_hw_register_divider(NULL, div_data->name,
div_data->parent_name,
div_data->flags,
clk_base + div_data->reg,
div_data->shift, div_data->width,
div_data->clk_divider_flags, &npcm7xx_clk_lock);
if (div_data->onecell_idx >= 0)
npcm7xx_clk_data->hws[div_data->onecell_idx] = hw;
struct npcm8xx_clk_div_data *div_data = &npcm8xx_pre_divs[i];
hw = devm_clk_hw_register_divider_parent_hw(dev, div_data->name,
div_data->parent_hw,
div_data->flags,
clk_base + div_data->reg,
div_data->shift,
div_data->width,
div_data->clk_divider_flags,
div_data->hw = *hw;
if (div_data->onecell_idx >= 0)
npcm8xx_clk_data->hws[div_data->onecell_idx] = hw;
struct npcm8xx_clk_div_data *div_data = &npcm8xx_divs[i];
hw = devm_clk_hw_register_divider_parent_hw(dev, div_data->name,
div_data->parent_hw,
div_data->flags,
clk_base + div_data->reg,
div_data->shift,
div_data->width,
div_data->clk_divider_flags,
if (div_data->onecell_idx >= 0)
npcm8xx_clk_data->hws[div_data->onecell_idx] = hw;
static const struct stm32f4_div_data div_data[MAX_PLL_DIV] = {
div_data[i].shift,
div_data[i].width,
div_data[i].flag_div,
div_data[i].div_table,
const struct vc3_div_data *div_data = vc3->data;
regmap_read(vc3->regmap, div_data->offs, &val);
val >>= div_data->shift;
val &= VC3_DIV_MASK(div_data->width);
return divider_recalc_rate(hw, parent_rate, val, div_data->table,
div_data->flags, div_data->width);
const struct vc3_div_data *div_data = vc3->data;
if (div_data->flags & CLK_DIVIDER_READ_ONLY) {
regmap_read(vc3->regmap, div_data->offs, &bestdiv);
bestdiv >>= div_data->shift;
bestdiv &= VC3_DIV_MASK(div_data->width);
bestdiv = vc3_get_div(div_data->table, bestdiv, div_data->flags);
return divider_determine_rate(hw, req, div_data->table, div_data->width,
div_data->flags);
const struct vc3_div_data *div_data = vc3->data;
value = divider_get_val(rate, parent_rate, div_data->table,
div_data->width, div_data->flags);
return regmap_update_bits(vc3->regmap, div_data->offs,
VC3_DIV_MASK(div_data->width) << div_data->shift,
value << div_data->shift);
static const struct div_data sun4i_axi_data __initconst = {
static const struct div_data sun8i_a23_axi_data __initconst = {
static const struct div_data sun4i_ahb_data __initconst = {
static const struct div_data sun4i_apb0_data __initconst = {
const struct div_data *data)
const struct omap_clkctrl_div_data *div_data = data->data;
div->flags = div_data->flags;
if (ti_clk_parse_divider_data((int *)div_data->dividers, 0,
div_data->max_div, div_flags,