[PATCH 02/13] at91: enable clock via clock framework

Sascha Hauer s.hauer at pengutronix.de
Wed Jan 2 05:58:39 EST 2013


On Fri, Dec 28, 2012 at 08:16:03PM +0100, Jean-Christophe PLAGNIOL-VILLARD wrote:
> fix at91sam926x timer and dss11
> 
> Signed-off-by: Jean-Christophe PLAGNIOL-VILLARD <plagnioj at jcrosoft.com>
> ---
>  arch/arm/boards/dss11/init.c          |    6 ++++--
>  arch/arm/mach-at91/at91sam926x_time.c |   23 ++++++++++++++++-------
>  2 files changed, 20 insertions(+), 9 deletions(-)
> 
> diff --git a/arch/arm/boards/dss11/init.c b/arch/arm/boards/dss11/init.c
> index 27c1ec7..12d4263 100644
> --- a/arch/arm/boards/dss11/init.c
> +++ b/arch/arm/boards/dss11/init.c
> @@ -32,8 +32,8 @@
>  #include <mach/sam9_smc.h>
>  #include <gpio.h>
>  #include <mach/io.h>
> -#include <mach/at91_pmc.h>
>  #include <mach/at91_rstc.h>
> +#include <linux/clk.h>
>  
>  static struct atmel_nand_data nand_pdata = {
>  	.ale		= 21,
> @@ -82,7 +82,9 @@ static struct at91_ether_platform_data macb_pdata = {
>  static void dss11_phy_reset(void)
>  {
>  	unsigned long rstc;
> -	at91_sys_write(AT91_PMC_PCER, 1 << AT91SAM9260_ID_EMAC);
> +	struct clk *clk = clk_get(NULL, "macb_clk");
> +
> +	clk_enable(clk);
>  
>  	at91_set_gpio_input(AT91_PIN_PA14, 0);
>  	at91_set_gpio_input(AT91_PIN_PA15, 0);
> diff --git a/arch/arm/mach-at91/at91sam926x_time.c b/arch/arm/mach-at91/at91sam926x_time.c
> index 7425e0a..1ce8d30 100644
> --- a/arch/arm/mach-at91/at91sam926x_time.c
> +++ b/arch/arm/mach-at91/at91sam926x_time.c
> @@ -30,11 +30,11 @@
>  #include <clock.h>
>  #include <asm/hardware.h>
>  #include <mach/at91_pit.h>
> -#include <mach/at91_pmc.h>
>  #include <mach/at91_rstc.h>
>  #include <mach/io.h>
>  #include <io.h>
>  #include <linux/clk.h>
> +#include <linux/err.h>
>  
>  uint64_t at91sam9_clocksource_read(void)
>  {
> @@ -49,15 +49,24 @@ static struct clocksource cs = {
>  
>  static int clocksource_init (void)
>  {
> +	struct clk *clk;
>  	u32 pit_rate;
>  
> -	/*
> -	 * Enable PITC Clock
> -	 * The clock is already enabled for system controller in boot
> -	 */
> -	at91_sys_write(AT91_PMC_PCER, 1 << AT91_ID_SYS);
> +	clk = clk_get(NULL, "mck");
> +	if (IS_ERR(clk)) {
> +		ret = PTR_ERR(clk);
> +		dev_err(dev, "clock not found: %d\n", ret);
> +		return ret;
> +	}

This breaks compilation:

arch/arm/mach-at91/at91sam926x_time.c: In function 'clocksource_init':
arch/arm/mach-at91/at91sam926x_time.c:57:3: error: 'ret' undeclared (first use in this function)
arch/arm/mach-at91/at91sam926x_time.c:57:3: note: each undeclared identifier is reported only once for each function it appears in
arch/arm/mach-at91/at91sam926x_time.c:58:3: error: 'dev' undeclared (first use in this function)

I guess the patch order is wrong.

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 |



More information about the barebox mailing list