Re: [PATCH 1/6] clk: sunxi-ng: div: Add mux table macros

From: Chen-Yu Tsai
Date: Fri Sep 02 2016 - 03:27:03 EST


On Thu, Sep 1, 2016 at 10:16 PM, Maxime Ripard
<maxime.ripard@xxxxxxxxxxxxxxxxxx> wrote:
> Add some macros to ease the declaration of clocks that are using them.
>
> Signed-off-by: Maxime Ripard <maxime.ripard@xxxxxxxxxxxxxxxxxx>

Acked-by: Chen-Yu Tsai <wens@xxxxxxxx>

> ---
> drivers/clk/sunxi-ng/ccu_div.h | 28 +++++++++++++++++++++-------
> 1 file changed, 21 insertions(+), 7 deletions(-)
>
> diff --git a/drivers/clk/sunxi-ng/ccu_div.h b/drivers/clk/sunxi-ng/ccu_div.h
> index 5d98549e23a6..a5c9eaf90e84 100644
> --- a/drivers/clk/sunxi-ng/ccu_div.h
> +++ b/drivers/clk/sunxi-ng/ccu_div.h
> @@ -77,13 +77,16 @@ struct ccu_div {
> _shift, _width, _table, 0, \
> _flags)
>
> -#define SUNXI_CCU_M_WITH_MUX_GATE(_struct, _name, _parents, _reg, \
> - _mshift, _mwidth, _muxshift, _muxwidth, \
> - _gate, _flags) \
> +#define SUNXI_CCU_M_WITH_MUX_TABLE_GATE(_struct, _name, \
> + _parents, _table, \
> + _reg, \
> + _mshift, _mwidth, \
> + _muxshift, _muxwidth, \
> + _gate, _flags) \
> struct ccu_div _struct = { \
> .enable = _gate, \
> .div = _SUNXI_CCU_DIV(_mshift, _mwidth), \
> - .mux = _SUNXI_CCU_MUX(_muxshift, _muxwidth), \
> + .mux = _SUNXI_CCU_MUX_TABLE(_muxshift, _muxwidth, _table), \
> .common = { \
> .reg = _reg, \
> .hw.init = CLK_HW_INIT_PARENTS(_name, \
> @@ -93,12 +96,23 @@ struct ccu_div {
> }, \
> }
>
> +#define SUNXI_CCU_M_WITH_MUX_GATE(_struct, _name, _parents, _reg, \
> + _mshift, _mwidth, _muxshift, _muxwidth, \
> + _gate, _flags) \
> + SUNXI_CCU_M_WITH_MUX_TABLE_GATE(_struct, _name, \
> + _parents, NULL, \
> + _reg, _mshift, _mwidth, \
> + _muxshift, _muxwidth, \
> + _gate, _flags)
> +
> #define SUNXI_CCU_M_WITH_MUX(_struct, _name, _parents, _reg, \
> _mshift, _mwidth, _muxshift, _muxwidth, \
> _flags) \
> - SUNXI_CCU_M_WITH_MUX_GATE(_struct, _name, _parents, _reg, \
> - _mshift, _mwidth, _muxshift, _muxwidth, \
> - 0, _flags)
> + SUNXI_CCU_M_WITH_MUX_TABLE_GATE(_struct, _name, \
> + _parents, NULL, \
> + _reg, _mshift, _mwidth, \
> + _muxshift, _muxwidth, \
> + 0, _flags)

You probably didn't need to change this one though.

>
>
> #define SUNXI_CCU_M_WITH_GATE(_struct, _name, _parent, _reg, \
> --
> 2.9.2
>