[PATCH v5 2/4] clk: imx: add new gate/gate2 wrapper funtion

A.s. Dong aisheng.dong at nxp.com
Thu Mar 15 23:30:13 PDT 2018


> -----Original Message-----
> From: Jacky Bai
> Sent: Monday, March 12, 2018 5:29 PM
> To: sboyd at kernel.org; robh+dt at kernel.org; shawnguo at kernel.org;
> kernel at pengutronix.de
> Cc: Fabio Estevam <fabio.estevam at nxp.com>; linux-clk at vger.kernel.org;
> linux-arm-kernel at lists.infradead.org; dl-linux-imx <linux-imx at nxp.com>;
> A.s. Dong <aisheng.dong at nxp.com>; jacky.baip at gmail.com
> Subject: [PATCH v5 2/4] clk: imx: add new gate/gate2 wrapper funtion
> 
> Add new gate/gate2 wrapper function to register clocks with optional flags.
> 
> Signed-off-by: Bai Ping <ping.bai at nxp.com>

AFAIK Stephen requested to switch to clk_hw based APIs when reviewing my
mx7ulp clk driver. We may need some comments from Stephen here.

Hi Stefen,

Do you have any comments about this?

Regards
Dong Aisheng

> ---
>  change from v3->v4:
>  - no
>  change from v4->5:
>  - optimize commit subject
> ---
>  drivers/clk/imx/clk.h | 14 ++++++++++++++
>  1 file changed, 14 insertions(+)
> 
> diff --git a/drivers/clk/imx/clk.h b/drivers/clk/imx/clk.h index
> d69c4bb..8076ec0 100644
> --- a/drivers/clk/imx/clk.h
> +++ b/drivers/clk/imx/clk.h
> @@ -123,6 +123,13 @@ static inline struct clk *imx_clk_gate(const char
> *name, const char *parent,
>  			shift, 0, &imx_ccm_lock);
>  }
> 
> +static inline struct clk *imx_clk_gate_flags(const char *name, const char
> *parent,
> +		void __iomem *reg, u8 shift, unsigned long flags) {
> +	return clk_register_gate(NULL, name, parent, flags |
> CLK_SET_RATE_PARENT, reg,
> +			shift, 0, &imx_ccm_lock);
> +}
> +
>  static inline struct clk *imx_clk_gate_dis(const char *name, const char
> *parent,
>  		void __iomem *reg, u8 shift)
>  {
> @@ -137,6 +144,13 @@ static inline struct clk *imx_clk_gate2(const char
> *name, const char *parent,
>  			shift, 0x3, 0, &imx_ccm_lock, NULL);  }
> 
> +static inline struct clk *imx_clk_gate2_flags(const char *name, const char
> *parent,
> +		void __iomem *reg, u8 shift, unsigned long flags) {
> +	return clk_register_gate2(NULL, name, parent, flags |
> CLK_SET_RATE_PARENT, reg,
> +			shift, 0x3, 0, &imx_ccm_lock, NULL); }
> +
>  static inline struct clk *imx_clk_gate2_shared(const char *name,
>  		const char *parent, void __iomem *reg, u8 shift,
>  		unsigned int *share_count)
> --
> 1.9.1




More information about the linux-arm-kernel mailing list