Re: [RFC PATCH] AT91: manage clock by functionality instead of CPUs
From: Ville Syrjälä
Date: Sun Mar 22 2009 - 07:58:52 EST
On Fri, Mar 20, 2009 at 11:56:55AM +0100, Nicolas Ferre wrote:
> --- a/arch/arm/mach-at91/clock.c
> +++ b/arch/arm/mach-at91/clock.c
> @@ -45,6 +45,25 @@
> #define clk_is_sys(x) ((x)->type & CLK_TYPE_SYSTEM)
>
>
> +/*
> + * Chips have some kind of clocks : group them by functionality
> + */
> +#define cpu_has_utmi() ( cpu_is_at91cap9() \
> + || cpu_is_at91sam9rl())
> +
> +#define cpu_has_800M_plla() (cpu_is_at91sam9g20())
> +
> +#define cpu_has_pllb() (!(cpu_is_at91sam9rl()))
Useless parentheses.
> +
> +#define cpu_has_upll() (0)
Is this for some future chip?
> +
> +/* USB host HS & FS */
> +#define cpu_has_uhp() (!cpu_is_at91sam9rl())
> +
> +/* USB device FS only */
> +#define cpu_has_udpfs() (!(cpu_is_at91sam9rl()))
Useless parentheses.
> +
> +
> static LIST_HEAD(clocks);
> static DEFINE_SPINLOCK(clk_lock);
>
> @@ -142,7 +161,7 @@ static struct clk utmi_clk = {
> };
> static struct clk uhpck = {
> .name = "uhpck",
> - .parent = &pllb,
> + /*.parent = ... we choose parent at runtime */
> .mode = pmc_sys_mode,
> };
>
> @@ -175,7 +194,12 @@ static struct clk __init *at91_css_to_cl
> case AT91_PMC_CSS_PLLA:
> return &plla;
> case AT91_PMC_CSS_PLLB:
> - return &pllb;
> + if (cpu_has_upll())
> + /* CSS_PLLB == CSS_UPLL */
> + return &utmi_clk;
> + else
> + if (cpu_has_pllb())
> + return &pllb;
Put "else if" on one line?
--
Ville Syrjälä
syrjala@xxxxxx
http://www.sci.fi/~syrjala/
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/