[PATCH 05/14] ARM: AT91: Always provide clk_set_rate stub
Lucas Stach
l.stach at pengutronix.de
Fri Nov 28 07:23:26 PST 2014
Am Freitag, den 28.11.2014, 15:28 +0100 schrieb Sascha Hauer:
> Some drivers need clk_set_rate. To be able to link with these
> drivers enabled provide a clk_set_rate stub.
>
This commit seem to do something different than what the changelog says.
> Signed-off-by: Sascha Hauer <s.hauer at pengutronix.de>
> ---
> arch/arm/mach-at91/clock.c | 15 +++++++--------
> 1 file changed, 7 insertions(+), 8 deletions(-)
>
> diff --git a/arch/arm/mach-at91/clock.c b/arch/arm/mach-at91/clock.c
> index a7051c3..125d169 100644
> --- a/arch/arm/mach-at91/clock.c
> +++ b/arch/arm/mach-at91/clock.c
> @@ -336,8 +336,6 @@ EXPORT_SYMBOL(clk_get_rate);
>
> /*------------------------------------------------------------------------*/
>
> -#ifdef CONFIG_AT91_PROGRAMMABLE_CLOCKS
> -
> /*
> * For now, only the programmable clocks support reparenting (MCK could
> * do this too, with care) or rate changing (the PLLs could do this too,
> @@ -379,6 +377,9 @@ int clk_set_rate(struct clk *clk, unsigned long rate)
> unsigned long prescale_offset, css_mask;
> unsigned long actual;
>
> + if (!IS_ENABLED(CONFIG_PROGRAMMABLE_CLOCKS))
> + return 0;
> +
> if (!clk_is_programmable(clk))
> return -EINVAL;
> if (clk->users)
> @@ -419,6 +420,9 @@ EXPORT_SYMBOL(clk_get_parent);
>
> int clk_set_parent(struct clk *clk, struct clk *parent)
> {
> + if (!IS_ENABLED(CONFIG_PROGRAMMABLE_CLOCKS))
> + return -ENOSYS;
> +
> if (clk->users)
> return -EBUSY;
> if (!clk_is_primary(parent) || !clk_is_programmable(clk))
> @@ -453,8 +457,6 @@ static void init_programmable_clock(struct clk *clk)
> clk->rate_hz = parent->rate_hz / pmc_prescaler_divider(pckr);
> }
>
> -#endif /* CONFIG_AT91_PROGRAMMABLE_CLOCKS */
> -
> /*------------------------------------------------------------------------*/
>
> /* Register a new clock */
> @@ -483,13 +485,10 @@ int clk_register(struct clk *clk)
> else if (clk_is_sys(clk)) {
> clk->parent = &mck;
> clk->mode = pmc_sys_mode;
> - }
> -#ifdef CONFIG_AT91_PROGRAMMABLE_CLOCKS
> - else if (clk_is_programmable(clk)) {
> + } else if (IS_ENABLED(CONFIG_PROGRAMMABLE_CLOCKS) && clk_is_programmable(clk)) {
> clk->mode = pmc_sys_mode;
> init_programmable_clock(clk);
> }
> -#endif
>
> at91_clk_add(clk);
>
--
Pengutronix e.K. | Lucas Stach |
Industrial Linux Solutions | http://www.pengutronix.de/ |
More information about the barebox
mailing list