Messages in this thread | | | Date | Fri, 29 May 2015 08:57:55 +0200 | Subject | Re: [PATCH 1/3] clk: mux: Add regmap support for simple mux | From | Joachim Eastwood <> |
| |
Hi Matthias,
On 28 May 2015 at 20:41, Matthias Brugger <matthias.bgg@gmail.com> wrote: > Some devices like SoCs from Mediatek need to use the clock muxes > through a regmap interface. > This patch adds regmap support for simple the simple multiplexer > clock code.
Nice to see regmap support. This something I would also like to see added to the clk framework. And if the approach is agreed upon I would like to see support on gates and dividers also.
> +static void clk_mux_writel(struct clk_mux *mux, u32 val) > +{ > + if (mux->flags && CLK_MUX_USE_REGMAP)
Assume you mean &.
> + regmap_write(mux->regmap, mux->offset, val); > + else > + clk_writel(val, mux->reg); > +} > + > +static u32 clk_mux_readl(struct clk_mux *mux) > +{ > + u32 val; > + > + if (mux->flags && CLK_MUX_USE_REGMAP)
And here.
> + regmap_read(mux->regmap, mux->offset, &val); > + else > + val = clk_readl(mux->reg); > + > + return val; > +} > + [...] > @@ -409,7 +410,9 @@ void clk_unregister_divider(struct clk *clk); > struct clk_mux { > struct clk_hw hw;
> void __iomem *reg; > + struct regmap *regmap;
Since it not possible to have both iomem and regmap at the same time. Could this be put in a union or does that make registration more difficult?
> u32 *table; > + u32 offset; > u32 mask; > u8 shift; > u8 flags;
regards, Joachim Eastwood
| |