[U-Boot] [i.MX8MM+CCF 04/41] clk: use clk_dev_binded

Lukasz Majewski lukma at denx.de
Mon May 6 21:59:11 UTC 2019


On Tue, 30 Apr 2019 10:17:43 +0000
Peng Fan <peng.fan at nxp.com> wrote:

> Preparing to support composite clk.
> 
> Signed-off-by: Peng Fan <peng.fan at nxp.com>
> ---
>  drivers/clk/clk-divider.c | 4 ++--
>  drivers/clk/clk-mux.c     | 6 ++++--
>  2 files changed, 6 insertions(+), 4 deletions(-)
> 
> diff --git a/drivers/clk/clk-divider.c b/drivers/clk/clk-divider.c
> index 1d2c1b1ec4..2f09e0bb58 100644
> --- a/drivers/clk/clk-divider.c
> +++ b/drivers/clk/clk-divider.c
> @@ -69,8 +69,8 @@ unsigned long divider_recalc_rate(struct clk *hw,
> unsigned long parent_rate, 
>  static ulong clk_divider_recalc_rate(struct clk *clk)
>  {
> -	struct clk_divider *divider =
> -		to_clk_divider((struct clk
> *)dev_get_driver_data(clk->dev));
> +	struct clk_divider *divider =
> to_clk_divider(clk_dev_binded(clk) ?
> +			(struct clk

As I've wrote in the previous mail - in iMX6Q there was no issues.
Could you provide an explanation in what respect the iMX8MM is
different ?

What exactly is missing?

> *)dev_get_driver_data(clk->dev) : clk); unsigned long parent_rate =
> clk_get_parent_rate(clk); unsigned int val;
>  
> diff --git a/drivers/clk/clk-mux.c b/drivers/clk/clk-mux.c
> index 2c85f2052c..55fc97367a 100644
> --- a/drivers/clk/clk-mux.c
> +++ b/drivers/clk/clk-mux.c
> @@ -35,7 +35,8 @@
>  int clk_mux_val_to_index(struct clk *clk, u32 *table, unsigned int
> flags, unsigned int val)
>  {
> -	struct clk_mux *mux = to_clk_mux(clk);
> +	struct clk_mux *mux = to_clk_mux(clk_dev_binded(clk) ?
> +			(struct clk
> *)dev_get_driver_data(clk->dev) : clk); int num_parents =
> mux->num_parents; 
>  	if (table) {
> @@ -61,7 +62,8 @@ int clk_mux_val_to_index(struct clk *clk, u32
> *table, unsigned int flags, 
>  static u8 clk_mux_get_parent(struct clk *clk)
>  {
> -	struct clk_mux *mux = to_clk_mux(clk);
> +	struct clk_mux *mux = to_clk_mux(clk_dev_binded(clk) ?
> +			(struct clk
> *)dev_get_driver_data(clk->dev) : clk); u32 val;
>  
>  	val = readl(mux->reg) >> mux->shift;




Best regards,

Lukasz Majewski

--

DENX Software Engineering GmbH,      Managing Director: Wolfgang Denk
HRB 165235 Munich, Office: Kirchenstr.5, D-82194 Groebenzell, Germany
Phone: (+49)-8142-66989-59 Fax: (+49)-8142-66989-80 Email: lukma at denx.de
-------------- next part --------------
A non-text attachment was scrubbed...
Name: not available
Type: application/pgp-signature
Size: 488 bytes
Desc: OpenPGP digital signature
URL: <http://lists.denx.de/pipermail/u-boot/attachments/20190506/7dd44ee1/attachment.sig>


More information about the U-Boot mailing list