Re: [PATCH] clk-fixed-factor: Using parent flags

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On Fri, Feb 15, 2013 at 02:09:35PM +0400, Alexander Shiyan wrote:
> This patch allow using parent flags for newly created clocks, so if
> parent clock, for example, have flag CLK_ALWAYS_ENABLED, we will use it.
> 
> Signed-off-by: Alexander Shiyan <shc_work@xxxxxxx>
> ---
>  drivers/clk/clk-fixed-factor.c |    5 +++++
>  1 files changed, 5 insertions(+), 0 deletions(-)
> 
> diff --git a/drivers/clk/clk-fixed-factor.c b/drivers/clk/clk-fixed-factor.c
> index 52e7c16..56aa63e 100644
> --- a/drivers/clk/clk-fixed-factor.c
> +++ b/drivers/clk/clk-fixed-factor.c
> @@ -43,6 +43,7 @@ struct clk *clk_fixed_factor(const char *name,
>  		const char *parent, unsigned int mult, unsigned int div)
>  {
>  	struct clk_fixed_factor *f = xzalloc(sizeof(*f));
> +	struct clk *parent_clk;
>  	int ret;
>  
>  	f->mult = mult;
> @@ -53,6 +54,10 @@ struct clk *clk_fixed_factor(const char *name,
>  	f->clk.parent_names = &f->parent;
>  	f->clk.num_parents = 1;
>  
> +	parent_clk = clk_lookup(parent);
> +	if (!IS_ERR(parent_clk))
> +		f->clk.flags = parent_clk->flags;
> +

So we unconditionally overwrite the fixed factor clock flags. As long as
CLK_ALWAYS_ENABLED is the only flag we have this might be ok, but this
will lead to strange behaviour when we get other flags.

There should rather be some mechanism which detects that a clock must be
enabled because all parents have no disable callback or have the
CLK_ALWAYS_ENABLED flag set.

I have no idea currently though how to implement this.

Sascha

-- 
Pengutronix e.K.                           |                             |
Industrial Linux Solutions                 | http://www.pengutronix.de/  |
Peiner Str. 6-8, 31137 Hildesheim, Germany | Phone: +49-5121-206917-0    |
Amtsgericht Hildesheim, HRA 2686           | Fax:   +49-5121-206917-5555 |

_______________________________________________
barebox mailing list
barebox@xxxxxxxxxxxxxxxxxxx
http://lists.infradead.org/mailman/listinfo/barebox


[Index of Archives]     [Linux Embedded]     [Linux USB Devel]     [Linux Audio Users]     [Yosemite News]     [Linux Kernel]     [Linux SCSI]     [XFree86]

  Powered by Linux