.flags = CLOCK_IN_OMAP242X | CLOCK_IN_OMAP243X |
RATE_FIXED | ALWAYS_ENABLED | RATE_PROPAGATES,
.clkdm = { .name = "prm_clkdm" },
- .recalc = &propagate_rate,
};
/* Typical 12/13MHz in standalone mode, will be 26Mhz in chassis mode */
.flags = CLOCK_IN_OMAP242X | CLOCK_IN_OMAP243X |
RATE_FIXED | ALWAYS_ENABLED | RATE_PROPAGATES,
.clkdm = { .name = "prm_clkdm" },
- .recalc = &propagate_rate,
};
/*
.enable_bit = OMAP24XX_EN_96M_PLL_SHIFT,
.enable = &omap2_clk_fixed_enable,
.disable = &omap2_clk_fixed_disable,
- .recalc = &propagate_rate,
};
static struct clk apll54_ck = {
.enable_bit = OMAP24XX_EN_54M_PLL_SHIFT,
.enable = &omap2_clk_fixed_enable,
.disable = &omap2_clk_fixed_disable,
- .recalc = &propagate_rate,
};
/*
.flags = CLOCK_IN_OMAP343X | RATE_FIXED | RATE_PROPAGATES |
ALWAYS_ENABLED,
.clkdm = { .name = "prm_clkdm" },
- .recalc = &propagate_rate,
};
static struct clk secure_32k_fck = {
.flags = CLOCK_IN_OMAP343X | RATE_FIXED | RATE_PROPAGATES |
ALWAYS_ENABLED,
.clkdm = { .name = "prm_clkdm" },
- .recalc = &propagate_rate,
};
/* Virtual source clocks for osc_sys_ck */
.flags = CLOCK_IN_OMAP343X | RATE_FIXED | RATE_PROPAGATES |
ALWAYS_ENABLED,
.clkdm = { .name = "prm_clkdm" },
- .recalc = &propagate_rate,
};
static struct clk virt_13m_ck = {
.flags = CLOCK_IN_OMAP343X | RATE_FIXED | RATE_PROPAGATES |
ALWAYS_ENABLED,
.clkdm = { .name = "prm_clkdm" },
- .recalc = &propagate_rate,
};
static struct clk virt_16_8m_ck = {
.flags = CLOCK_IN_OMAP3430ES2 | RATE_FIXED | RATE_PROPAGATES |
ALWAYS_ENABLED,
.clkdm = { .name = "prm_clkdm" },
- .recalc = &propagate_rate,
};
static struct clk virt_19_2m_ck = {
.flags = CLOCK_IN_OMAP343X | RATE_FIXED | RATE_PROPAGATES |
ALWAYS_ENABLED,
.clkdm = { .name = "prm_clkdm" },
- .recalc = &propagate_rate,
};
static struct clk virt_26m_ck = {
.flags = CLOCK_IN_OMAP343X | RATE_FIXED | RATE_PROPAGATES |
ALWAYS_ENABLED,
.clkdm = { .name = "prm_clkdm" },
- .recalc = &propagate_rate,
};
static struct clk virt_38_4m_ck = {
.flags = CLOCK_IN_OMAP343X | RATE_FIXED | RATE_PROPAGATES |
ALWAYS_ENABLED,
.clkdm = { .name = "prm_clkdm" },
- .recalc = &propagate_rate,
};
static const struct clksel_rate osc_sys_12m_rates[] = {
.name = "sys_altclk",
.flags = CLOCK_IN_OMAP343X | RATE_PROPAGATES | ALWAYS_ENABLED,
.clkdm = { .name = "cm_clkdm" },
- .recalc = &propagate_rate,
};
/*
.name = "mcbsp_clks",
.flags = CLOCK_IN_OMAP343X | RATE_PROPAGATES | ALWAYS_ENABLED,
.clkdm = { .name = "prm_clkdm" },
- .recalc = &propagate_rate,
};
/* PRM EXTERNAL CLOCK OUTPUT */
if (arch_clock->clk_set_rate) {
ret = arch_clock->clk_set_rate(clk, rate);
if (ret == 0) {
- (*clk->recalc)(clk);
+ if (clk->recalc)
+ (*clk->recalc)(clk);
if (clk->flags & RATE_PROPAGATES)
propagate_rate(clk);
}
if (arch_clock->clk_set_parent) {
ret = arch_clock->clk_set_parent(clk, parent);
if (ret == 0) {
- (*clk->recalc)(clk);
+ if (clk->recalc)
+ (*clk->recalc)(clk);
if (clk->flags & RATE_PROPAGATES)
propagate_rate(clk);
}
list_for_each_entry(clkp, &clocks, node) {
if (likely(clkp->parent != tclk))
continue;
- if (likely((u32)clkp->recalc)) {
+ if (clkp->recalc)
clkp->recalc(clkp);
- if (clkp->flags & RATE_PROPAGATES)
- propagate_rate(clkp);
- }
+ if (clkp->flags & RATE_PROPAGATES)
+ propagate_rate(clkp);
}
}
struct clk *clkp;
list_for_each_entry(clkp, &clocks, node) {
- if (unlikely(!clkp->parent) && likely((u32)clkp->recalc)) {
- clkp->recalc(clkp);
+ if (unlikely(!clkp->parent)) {
+ if (clkp->recalc)
+ clkp->recalc(clkp);
if (clkp->flags & RATE_PROPAGATES)
propagate_rate(clkp);
}