|
@@ -107,6 +107,11 @@ const struct clk_ops clk_mux_ops = {
|
|
|
};
|
|
|
EXPORT_SYMBOL_GPL(clk_mux_ops);
|
|
|
|
|
|
+const struct clk_ops clk_mux_ro_ops = {
|
|
|
+ .get_parent = clk_mux_get_parent,
|
|
|
+};
|
|
|
+EXPORT_SYMBOL_GPL(clk_mux_ro_ops);
|
|
|
+
|
|
|
struct clk *clk_register_mux_table(struct device *dev, const char *name,
|
|
|
const char **parent_names, u8 num_parents, unsigned long flags,
|
|
|
void __iomem *reg, u8 shift, u32 mask,
|
|
@@ -133,7 +138,10 @@ struct clk *clk_register_mux_table(struct device *dev, const char *name,
|
|
|
}
|
|
|
|
|
|
init.name = name;
|
|
|
- init.ops = &clk_mux_ops;
|
|
|
+ if (clk_mux_flags & CLK_MUX_READ_ONLY)
|
|
|
+ init.ops = &clk_mux_ro_ops;
|
|
|
+ else
|
|
|
+ init.ops = &clk_mux_ops;
|
|
|
init.flags = flags | CLK_IS_BASIC;
|
|
|
init.parent_names = parent_names;
|
|
|
init.num_parents = num_parents;
|