/* Wait for switch to complete. */
mb();
udelay(1);
/* * Unlock now to make sure the mux register is not * modified while switching to the new parent.
*/
spin_unlock_irqrestore(&krait_clock_reg_lock, flags);
}
sel = clk_mux_index_to_val(mux->parent_map, 0, index);
mux->en_mask = sel; /* Don't touch mux if CPU is off as it won't work */ if (__clk_is_enabled(hw->clk))
__krait_mux_set_sel(mux, sel);
/* The divider can divide by 2, 4, 6 and 8. But we only really need div-2. */ staticint krait_div2_determine_rate(struct clk_hw *hw, struct clk_rate_request *req)
{
req->best_parent_rate = clk_hw_round_rate(clk_hw_get_parent(hw), req->rate * 2);
req->rate = DIV_ROUND_UP(req->best_parent_rate, 2); return 0;
}
Die Informationen auf dieser Webseite wurden
nach bestem Wissen sorgfältig zusammengestellt. Es wird jedoch weder Vollständigkeit, noch Richtigkeit,
noch Qualität der bereit gestellten Informationen zugesichert.
Bemerkung:
Die farbliche Syntaxdarstellung und die Messung sind noch experimentell.