Hi,

On 03/28/2014 10:38 PM, Hans de Goede wrote:
> Rather then having effectively 2 copies of a function through
> function in 2 separate C-files, this is much easier to read and maintain.

Oops, this should have read:

Rather then having effectively 2 copies of a function through
 #ifdef CONFIG_SUN6I ... #else ... #endif, really make 2 copies of the
function in 2 separate C-files, this is much easier to read and maintain.

Regards,

Hans

> 
> Signed-off-by: Hans de Goede <hdego...@redhat.com>
> ---
>  arch/arm/cpu/armv7/sunxi/Makefile       |   4 +
>  arch/arm/cpu/armv7/sunxi/clock-sun4i.c  | 160 +++++++++++++++++++++++++++
>  arch/arm/cpu/armv7/sunxi/clock-sun6i.c  |  73 +++++++++++++
>  arch/arm/cpu/armv7/sunxi/clock.c        | 185 
> +-------------------------------
>  arch/arm/include/asm/arch-sunxi/clock.h |   2 +
>  5 files changed, 240 insertions(+), 184 deletions(-)
>  create mode 100644 arch/arm/cpu/armv7/sunxi/clock-sun4i.c
>  create mode 100644 arch/arm/cpu/armv7/sunxi/clock-sun6i.c
> 
> diff --git a/arch/arm/cpu/armv7/sunxi/Makefile 
> b/arch/arm/cpu/armv7/sunxi/Makefile
> index e9737a3..48c0565 100644
> --- a/arch/arm/cpu/armv7/sunxi/Makefile
> +++ b/arch/arm/cpu/armv7/sunxi/Makefile
> @@ -12,6 +12,10 @@ obj-y      += board.o
>  obj-y        += clock.o
>  obj-y        += pinmux.o
>  obj-y        += watchdog.o
> +obj-$(CONFIG_SUN4I)  += clock-sun4i.o
> +obj-$(CONFIG_SUN5I)  += clock-sun4i.o
> +obj-$(CONFIG_SUN6I)  += clock-sun6i.o
> +obj-$(CONFIG_SUN7I)  += clock-sun4i.o
>  ifdef DEBUG
>  obj-y        += early_print.o
>  endif
> diff --git a/arch/arm/cpu/armv7/sunxi/clock-sun4i.c 
> b/arch/arm/cpu/armv7/sunxi/clock-sun4i.c
> new file mode 100644
> index 0000000..a6bdd1a
> --- /dev/null
> +++ b/arch/arm/cpu/armv7/sunxi/clock-sun4i.c
> @@ -0,0 +1,160 @@
> +/*
> + * sun4i, sun5i and sun7i specific clock code
> + *
> + * (C) Copyright 2007-2012
> + * Allwinner Technology Co., Ltd. <www.allwinnertech.com>
> + * Tom Cubie <tangli...@allwinnertech.com>
> + *
> + * (C) Copyright 2013 Luke Kenneth Casson Leighton <l...@lkcl.net>
> + *
> + * SPDX-License-Identifier:  GPL-2.0+
> + */
> +
> +#include <common.h>
> +#include <asm/io.h>
> +#include <asm/arch/clock.h>
> +#include <asm/arch/gpio.h>
> +#include <asm/arch/sys_proto.h>
> +
> +#ifdef CONFIG_SPL_BUILD
> +void clock_init_safe(void)
> +{
> +     struct sunxi_ccm_reg * const ccm =
> +             (struct sunxi_ccm_reg *)SUNXI_CCM_BASE;
> +
> +     /* Set safe defaults until PMU is configured */
> +     writel(AXI_DIV_1 << AXI_DIV_SHIFT |
> +            AHB_DIV_2 << AHB_DIV_SHIFT |
> +            APB0_DIV_1 << APB0_DIV_SHIFT |
> +            CPU_CLK_SRC_OSC24M << CPU_CLK_SRC_SHIFT,
> +            &ccm->cpu_ahb_apb0_cfg);
> +     writel(PLL1_CFG_DEFAULT, &ccm->pll1_cfg);
> +     sdelay(200);
> +     writel(AXI_DIV_1 << AXI_DIV_SHIFT |
> +            AHB_DIV_2 << AHB_DIV_SHIFT |
> +            APB0_DIV_1 << APB0_DIV_SHIFT |
> +            CPU_CLK_SRC_PLL1 << CPU_CLK_SRC_SHIFT,
> +            &ccm->cpu_ahb_apb0_cfg);
> +#ifdef CONFIG_SUN7I
> +     writel(0x1 << AHB_GATE_OFFSET_DMA | readl(&ccm->ahb_gate0),
> +            &ccm->ahb_gate0);
> +#endif
> +     writel(PLL6_CFG_DEFAULT, &ccm->pll6_cfg);
> +}
> +#endif
> +
> +void clock_init_uart(void)
> +{
> +     struct sunxi_ccm_reg *const ccm =
> +             (struct sunxi_ccm_reg *)SUNXI_CCM_BASE;
> +
> +     /* uart clock source is apb1 */
> +     sr32(&ccm->apb1_clk_div_cfg, 24, 2, APB1_CLK_SRC_OSC24M);
> +     sr32(&ccm->apb1_clk_div_cfg, 16, 2, APB1_FACTOR_N);
> +     sr32(&ccm->apb1_clk_div_cfg, 0, 5, APB1_FACTOR_M);
> +
> +     /* open the clock for uart */
> +     sr32(&ccm->apb1_gate, 16 + CONFIG_CONS_INDEX - 1, 1, CLK_GATE_OPEN);
> +}
> +
> +int clock_twi_onoff(int port, int state)
> +{
> +     struct sunxi_ccm_reg *const ccm =
> +             (struct sunxi_ccm_reg *)SUNXI_CCM_BASE;
> +
> +     if (port > 2)
> +             return -1;
> +
> +     /* set the apb clock gate for twi */
> +     sr32(&ccm->apb1_gate, 0 + port, 1, state);
> +
> +     return 0;
> +}
> +
> +#ifdef CONFIG_SPL_BUILD
> +#define PLL1_CFG(N, K, M, P) (1 << 31 | 0 << 30 | 8 << 26 | 0 << 25 | \
> +                              16 << 20 | (P) << 16 | 2 << 13 | (N) << 8 | \
> +                              (K) << 4 | 0 << 3 | 0 << 2 | (M) << 0)
> +
> +struct {
> +     u32 pll1_cfg;
> +     unsigned int freq;
> +} pll1_para[] = {
> +     { PLL1_CFG(16, 0, 0, 0), 384000000 },
> +     { PLL1_CFG(16, 1, 0, 0), 768000000 },
> +     { PLL1_CFG(20, 1, 0, 0), 960000000 },
> +     { PLL1_CFG(21, 1, 0, 0), 1008000000},
> +     { PLL1_CFG(22, 1, 0, 0), 1056000000},
> +     { PLL1_CFG(23, 1, 0, 0), 1104000000},
> +     { PLL1_CFG(24, 1, 0, 0), 1152000000},
> +     { PLL1_CFG(25, 1, 0, 0), 1200000000},
> +     { PLL1_CFG(26, 1, 0, 0), 1248000000},
> +     { PLL1_CFG(27, 1, 0, 0), 1296000000},
> +     { PLL1_CFG(28, 1, 0, 0), 1344000000},
> +     { PLL1_CFG(29, 1, 0, 0), 1392000000},
> +     { PLL1_CFG(30, 1, 0, 0), 1440000000},
> +     { PLL1_CFG(31, 1, 0, 0), 1488000000},
> +     { PLL1_CFG(31, 1, 0, 0), ~0},
> +};
> +
> +void clock_set_pll1(int hz)
> +{
> +     int i = 0;
> +     int axi, ahb, apb0;
> +     struct sunxi_ccm_reg * const ccm =
> +             (struct sunxi_ccm_reg *)SUNXI_CCM_BASE;
> +
> +     /* Find target frequency */
> +     while (pll1_para[i].freq < hz)
> +             i++;
> +
> +     hz = pll1_para[i].freq;
> +
> +     /* Calculate system clock divisors */
> +     axi = DIV_ROUND_UP(hz, 432000000);      /* Max 450MHz */
> +     ahb = DIV_ROUND_UP(hz/axi, 204000000);  /* Max 250MHz */
> +     apb0 = 2;                               /* Max 150MHz */
> +
> +     printf("CPU: %dHz, AXI/AHB/APB: %d/%d/%d\n", hz, axi, ahb, apb0);
> +
> +     /* Map divisors to register values */
> +     axi = axi - 1;
> +     if (ahb > 4)
> +             ahb = 3;
> +     else if (ahb > 2)
> +             ahb = 2;
> +     else if (ahb > 1)
> +             ahb = 1;
> +     else
> +             ahb = 0;
> +
> +     apb0 = apb0 - 1;
> +
> +     /* Switch to 24MHz clock while changing PLL1 */
> +     writel(AXI_DIV_1 << AXI_DIV_SHIFT |
> +            AHB_DIV_2 << AHB_DIV_SHIFT |
> +            APB0_DIV_1 << APB0_DIV_SHIFT |
> +            CPU_CLK_SRC_OSC24M << CPU_CLK_SRC_SHIFT,
> +            &ccm->cpu_ahb_apb0_cfg);
> +     sdelay(20);
> +
> +     /* Configure sys clock divisors */
> +     writel(axi << AXI_DIV_SHIFT |
> +            ahb << AHB_DIV_SHIFT |
> +            apb0 << APB0_DIV_SHIFT |
> +            CPU_CLK_SRC_OSC24M << CPU_CLK_SRC_SHIFT,
> +            &ccm->cpu_ahb_apb0_cfg);
> +
> +     /* Configure PLL1 at the desired frequency */
> +     writel(pll1_para[i].pll1_cfg, &ccm->pll1_cfg);
> +     sdelay(200);
> +
> +     /* Switch CPU to PLL1 */
> +     writel(axi << AXI_DIV_SHIFT |
> +            ahb << AHB_DIV_SHIFT |
> +            apb0 << APB0_DIV_SHIFT |
> +            CPU_CLK_SRC_PLL1 << CPU_CLK_SRC_SHIFT,
> +            &ccm->cpu_ahb_apb0_cfg);
> +     sdelay(20);
> +}
> +#endif
> diff --git a/arch/arm/cpu/armv7/sunxi/clock-sun6i.c 
> b/arch/arm/cpu/armv7/sunxi/clock-sun6i.c
> new file mode 100644
> index 0000000..e44a460
> --- /dev/null
> +++ b/arch/arm/cpu/armv7/sunxi/clock-sun6i.c
> @@ -0,0 +1,73 @@
> +/*
> + * sun6i specific clock code
> + *
> + * (C) Copyright 2007-2012
> + * Allwinner Technology Co., Ltd. <www.allwinnertech.com>
> + * Tom Cubie <tangli...@allwinnertech.com>
> + *
> + * (C) Copyright 2013 Luke Kenneth Casson Leighton <l...@lkcl.net>
> + *
> + * SPDX-License-Identifier:  GPL-2.0+
> + */
> +
> +#include <common.h>
> +#include <asm/io.h>
> +#include <asm/arch/clock.h>
> +#include <asm/arch/gpio.h>
> +#include <asm/arch/sys_proto.h>
> +
> +#ifdef CONFIG_SPL_BUILD
> +void clock_init_safe(void)
> +{
> +     struct sunxi_ccm_reg * const ccm =
> +             (struct sunxi_ccm_reg *)SUNXI_CCM_BASE;
> +
> +     /* AXI and PLL1 settings from boot0 / boot1, PLL1 set to 486 Mhz */
> +     writel(AXI_DIV_3 << AXI_DIV_SHIFT |
> +            ATB_DIV_2 << ATB_DIV_SHIFT |
> +            CPU_CLK_SRC_OSC24M << CPU_CLK_SRC_SHIFT,
> +            &ccm->cpu_axi_cfg);
> +     writel(PLL1_CFG_DEFAULT, &ccm->pll1_cfg);
> +     sdelay(200);
> +     writel(AXI_DIV_3 << AXI_DIV_SHIFT |
> +            ATB_DIV_2 << ATB_DIV_SHIFT |
> +            CPU_CLK_SRC_PLL1 << CPU_CLK_SRC_SHIFT,
> +            &ccm->cpu_axi_cfg);
> +
> +     writel(PLL6_CFG_DEFAULT, &ccm->pll6_cfg);
> +}
> +#endif
> +
> +void clock_init_uart(void)
> +{
> +     struct sunxi_ccm_reg *const ccm =
> +             (struct sunxi_ccm_reg *)SUNXI_CCM_BASE;
> +
> +     /* uart clock source is apb2 */
> +     sr32(&ccm->apb2_div, 24, 2, APB2_CLK_SRC_OSC24M);
> +     sr32(&ccm->apb2_div, 16, 2, APB2_FACTOR_N);
> +     sr32(&ccm->apb2_div, 0, 5, APB2_FACTOR_M);
> +
> +     /* open the clock for uart */
> +     sr32(&ccm->apb2_gate, 16 + CONFIG_CONS_INDEX - 1, 1, CLK_GATE_OPEN);
> +
> +     /* deassert uart reset */
> +     sr32((u32 *)SUN6I_ABP2_RESET_BASE, 16 + CONFIG_CONS_INDEX - 1, 1, 1);
> +
> +     /* Dup with clock_init_safe(), drop once sun6i SPL support lands */
> +     writel(PLL6_CFG_DEFAULT, &ccm->pll6_cfg);
> +}
> +
> +int clock_twi_onoff(int port, int state)
> +{
> +     struct sunxi_ccm_reg *const ccm =
> +             (struct sunxi_ccm_reg *)SUNXI_CCM_BASE;
> +
> +     if (port > 3)
> +             return -1;
> +
> +     /* set the apb clock gate for twi */
> +     sr32(&ccm->apb2_gate, 0 + port, 1, state);
> +
> +     return 0;
> +}
> diff --git a/arch/arm/cpu/armv7/sunxi/clock.c 
> b/arch/arm/cpu/armv7/sunxi/clock.c
> index 05b8d27..c07a975 100644
> --- a/arch/arm/cpu/armv7/sunxi/clock.c
> +++ b/arch/arm/cpu/armv7/sunxi/clock.c
> @@ -14,89 +14,12 @@
>  #include <asm/arch/gpio.h>
>  #include <asm/arch/sys_proto.h>
>  
> -#ifdef CONFIG_SPL_BUILD
> -static void clock_init_safe(void)
> -{
> -     struct sunxi_ccm_reg * const ccm =
> -             (struct sunxi_ccm_reg *)SUNXI_CCM_BASE;
> -
> -     /* Set safe defaults until PMU is configured */
> -#if defined(CONFIG_SUN6I)
> -     /* AXI and PLL1 settings from boot0 / boot1, PLL1 set to 486 Mhz */
> -     writel(AXI_DIV_3 << AXI_DIV_SHIFT |
> -            ATB_DIV_2 << ATB_DIV_SHIFT |
> -            CPU_CLK_SRC_OSC24M << CPU_CLK_SRC_SHIFT,
> -            &ccm->cpu_axi_cfg);
> -     writel(PLL1_CFG_DEFAULT, &ccm->pll1_cfg);
> -     sdelay(200);
> -     writel(AXI_DIV_3 << AXI_DIV_SHIFT |
> -            ATB_DIV_2 << ATB_DIV_SHIFT |
> -            CPU_CLK_SRC_PLL1 << CPU_CLK_SRC_SHIFT,
> -            &ccm->cpu_axi_cfg);
> -#else
> -     writel(AXI_DIV_1 << AXI_DIV_SHIFT |
> -            AHB_DIV_2 << AHB_DIV_SHIFT |
> -            APB0_DIV_1 << APB0_DIV_SHIFT |
> -            CPU_CLK_SRC_OSC24M << CPU_CLK_SRC_SHIFT,
> -            &ccm->cpu_ahb_apb0_cfg);
> -     writel(PLL1_CFG_DEFAULT, &ccm->pll1_cfg);
> -     sdelay(200);
> -     writel(AXI_DIV_1 << AXI_DIV_SHIFT |
> -            AHB_DIV_2 << AHB_DIV_SHIFT |
> -            APB0_DIV_1 << APB0_DIV_SHIFT |
> -            CPU_CLK_SRC_PLL1 << CPU_CLK_SRC_SHIFT,
> -            &ccm->cpu_ahb_apb0_cfg);
> -#endif
> -#ifdef CONFIG_SUN7I
> -     writel(0x1 << AHB_GATE_OFFSET_DMA | readl(&ccm->ahb_gate0),
> -            &ccm->ahb_gate0);
> -#endif
> -     writel(PLL6_CFG_DEFAULT, &ccm->pll6_cfg);
> -}
> -#endif
> -
>  int clock_init(void)
>  {
> -     struct sunxi_ccm_reg *const ccm =
> -             (struct sunxi_ccm_reg *)SUNXI_CCM_BASE;
> -
>  #ifdef CONFIG_SPL_BUILD
>       clock_init_safe();
>  #endif
> -
> -#if defined(CONFIG_SUN6I)
> -     /* uart clock source is apb2 */
> -     sr32(&ccm->apb2_div, 24, 2, APB2_CLK_SRC_OSC24M);
> -     sr32(&ccm->apb2_div, 16, 2, APB2_FACTOR_N);
> -     sr32(&ccm->apb2_div, 0, 5, APB2_FACTOR_M);
> -
> -     /* open the clock for uart */
> -     sr32(&ccm->apb2_gate, 16 + CONFIG_CONS_INDEX - 1, 1, CLK_GATE_OPEN);
> -
> -     /* deassert uart reset */
> -     sr32((u32 *)SUN6I_ABP2_RESET_BASE, 16 + CONFIG_CONS_INDEX - 1, 1, 1);
> -
> -     /* Dup with clock_init_safe(), drop once sun6i SPL support lands */
> -     writel(PLL6_CFG_DEFAULT, &ccm->pll6_cfg);
> -#else
> -     /* uart clock source is apb1 */
> -     sr32(&ccm->apb1_clk_div_cfg, 24, 2, APB1_CLK_SRC_OSC24M);
> -     sr32(&ccm->apb1_clk_div_cfg, 16, 2, APB1_FACTOR_N);
> -     sr32(&ccm->apb1_clk_div_cfg, 0, 5, APB1_FACTOR_M);
> -
> -     /* open the clock for uart */
> -     sr32(&ccm->apb1_gate, 16 + CONFIG_CONS_INDEX - 1, 1, CLK_GATE_OPEN);
> -#endif
> -
> -#ifdef CONFIG_NAND_SUNXI
> -     /* nand clock source is osc24m */
> -     sr32(&ccm->nand_sclk_cfg, 24, 2, NAND_CLK_SRC_OSC24);
> -     sr32(&ccm->nand_sclk_cfg, 16, 2, NAND_CLK_DIV_N);
> -     sr32(&ccm->nand_sclk_cfg, 0, 4, NAND_CLK_DIV_M);
> -     sr32(&ccm->nand_sclk_cfg, 31, 1, CLK_GATE_OPEN);
> -     /* open clock for nand */
> -     sr32(&ccm->ahb_gate0, AHB_GATE_OFFSET_NAND, 1, CLK_GATE_OPEN);
> -#endif
> +     clock_init_uart();
>  
>       return 0;
>  }
> @@ -124,109 +47,3 @@ unsigned int clock_get_pll6(void)
>       int k = ((rval >> 4) & 3) + 1;
>       return 24000000 * n * k / 2;
>  }
> -
> -int clock_twi_onoff(int port, int state)
> -{
> -     struct sunxi_ccm_reg *const ccm =
> -             (struct sunxi_ccm_reg *)SUNXI_CCM_BASE;
> -
> -     if (port > 2)
> -             return -1;
> -
> -     /* set the apb clock gate for twi */
> -#if defined(CONFIG_SUN6I)
> -     sr32(&ccm->apb2_gate, 0 + port, 1, state);
> -#else
> -     sr32(&ccm->apb1_gate, 0 + port, 1, state);
> -#endif
> -
> -     return 0;
> -}
> -
> -#if defined(CONFIG_SPL_BUILD) && !defined(CONFIG_SUN6I)
> -#define PLL1_CFG(N, K, M, P) (1 << 31 | 0 << 30 | 8 << 26 | 0 << 25 | \
> -                              16 << 20 | (P) << 16 | 2 << 13 | (N) << 8 | \
> -                              (K) << 4 | 0 << 3 | 0 << 2 | (M) << 0)
> -
> -struct {
> -     u32 pll1_cfg;
> -     unsigned int freq;
> -} pll1_para[] = {
> -     { PLL1_CFG(16, 0, 0, 0), 384000000 },
> -     { PLL1_CFG(16, 1, 0, 0), 768000000 },
> -     { PLL1_CFG(20, 1, 0, 0), 960000000 },
> -     { PLL1_CFG(21, 1, 0, 0), 1008000000},
> -     { PLL1_CFG(22, 1, 0, 0), 1056000000},
> -     { PLL1_CFG(23, 1, 0, 0), 1104000000},
> -     { PLL1_CFG(24, 1, 0, 0), 1152000000},
> -     { PLL1_CFG(25, 1, 0, 0), 1200000000},
> -     { PLL1_CFG(26, 1, 0, 0), 1248000000},
> -     { PLL1_CFG(27, 1, 0, 0), 1296000000},
> -     { PLL1_CFG(28, 1, 0, 0), 1344000000},
> -     { PLL1_CFG(29, 1, 0, 0), 1392000000},
> -     { PLL1_CFG(30, 1, 0, 0), 1440000000},
> -     { PLL1_CFG(31, 1, 0, 0), 1488000000},
> -     { PLL1_CFG(31, 1, 0, 0), ~0},
> -};
> -
> -void clock_set_pll1(int hz)
> -{
> -     int i = 0;
> -     int axi, ahb, apb0;
> -     struct sunxi_ccm_reg * const ccm =
> -             (struct sunxi_ccm_reg *)SUNXI_CCM_BASE;
> -
> -     /* Find target frequency */
> -     while (pll1_para[i].freq < hz)
> -             i++;
> -
> -     hz = pll1_para[i].freq;
> -
> -     /* Calculate system clock divisors */
> -     axi = DIV_ROUND_UP(hz, 432000000);      /* Max 450MHz */
> -     ahb = DIV_ROUND_UP(hz/axi, 204000000);  /* Max 250MHz */
> -     apb0 = 2;                               /* Max 150MHz */
> -
> -     printf("CPU: %dHz, AXI/AHB/APB: %d/%d/%d\n", hz, axi, ahb, apb0);
> -
> -     /* Map divisors to register values */
> -     axi = axi - 1;
> -     if (ahb > 4)
> -             ahb = 3;
> -     else if (ahb > 2)
> -             ahb = 2;
> -     else if (ahb > 1)
> -             ahb = 1;
> -     else
> -             ahb = 0;
> -
> -     apb0 = apb0 - 1;
> -
> -     /* Switch to 24MHz clock while changing PLL1 */
> -     writel(AXI_DIV_1 << AXI_DIV_SHIFT |
> -            AHB_DIV_2 << AHB_DIV_SHIFT |
> -            APB0_DIV_1 << APB0_DIV_SHIFT |
> -            CPU_CLK_SRC_OSC24M << CPU_CLK_SRC_SHIFT,
> -            &ccm->cpu_ahb_apb0_cfg);
> -     sdelay(20);
> -
> -     /* Configure sys clock divisors */
> -     writel(axi << AXI_DIV_SHIFT |
> -            ahb << AHB_DIV_SHIFT |
> -            apb0 << APB0_DIV_SHIFT |
> -            CPU_CLK_SRC_OSC24M << CPU_CLK_SRC_SHIFT,
> -            &ccm->cpu_ahb_apb0_cfg);
> -
> -     /* Configure PLL1 at the desired frequency */
> -     writel(pll1_para[i].pll1_cfg, &ccm->pll1_cfg);
> -     sdelay(200);
> -
> -     /* Switch CPU to PLL1 */
> -     writel(axi << AXI_DIV_SHIFT |
> -            ahb << AHB_DIV_SHIFT |
> -            apb0 << APB0_DIV_SHIFT |
> -            CPU_CLK_SRC_PLL1 << CPU_CLK_SRC_SHIFT,
> -            &ccm->cpu_ahb_apb0_cfg);
> -     sdelay(20);
> -}
> -#endif
> diff --git a/arch/arm/include/asm/arch-sunxi/clock.h 
> b/arch/arm/include/asm/arch-sunxi/clock.h
> index bfcc525..94fcaaa 100644
> --- a/arch/arm/include/asm/arch-sunxi/clock.h
> +++ b/arch/arm/include/asm/arch-sunxi/clock.h
> @@ -27,6 +27,8 @@ int clock_twi_onoff(int port, int state);
>  void clock_set_pll1(int hz);
>  unsigned int clock_get_pll5(void);
>  unsigned int clock_get_pll6(void);
> +void clock_init_safe(void);
> +void clock_init_uart(void);
>  #endif
>  
>  #endif /* _SUNXI_CLOCK_H */
> 

-- 
You received this message because you are subscribed to the Google Groups 
"linux-sunxi" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to linux-sunxi+unsubscr...@googlegroups.com.
For more options, visit https://groups.google.com/d/optout.

Reply via email to