lkml.org 
[lkml]   [2014]   [Jul]   [7]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    Patch in this message
    /
    From
    Subject[PATCH v6 4/4] ARM: EXYNOS: Move PMU specific definitions from common.h
    Date
    This patch moves PMU specific definitions into a new file
    as exynos-pmu.h.
    This will help in reducing dependency of common.h in pmu.c.

    Signed-off-by: Pankaj Dubey <pankaj.dubey@samsung.com>
    ---
    arch/arm/mach-exynos/common.h | 17 -----------------
    arch/arm/mach-exynos/exynos-pmu.h | 24 ++++++++++++++++++++++++
    arch/arm/mach-exynos/pm.c | 1 +
    arch/arm/mach-exynos/pmu.c | 10 +++++++++-
    4 files changed, 34 insertions(+), 18 deletions(-)
    create mode 100644 arch/arm/mach-exynos/exynos-pmu.h

    diff --git a/arch/arm/mach-exynos/common.h b/arch/arm/mach-exynos/common.h
    index 9bf9198..38334bf 100644
    --- a/arch/arm/mach-exynos/common.h
    +++ b/arch/arm/mach-exynos/common.h
    @@ -132,23 +132,6 @@ extern struct smp_operations exynos_smp_ops;

    extern void exynos_cpu_die(unsigned int cpu);

    -/* PMU(Power Management Unit) support */
    -
    -#define PMU_TABLE_END (-1U)
    -
    -enum sys_powerdown {
    - SYS_AFTR,
    - SYS_LPA,
    - SYS_SLEEP,
    - NUM_SYS_POWERDOWN,
    -};
    -
    -struct exynos_pmu_conf {
    - unsigned int offset;
    - unsigned int val[NUM_SYS_POWERDOWN];
    -};
    -
    -extern void exynos_sys_powerdown_conf(enum sys_powerdown mode);
    extern void exynos_cpu_power_down(int cpu);
    extern void exynos_cpu_power_up(int cpu);
    extern int exynos_cpu_power_state(int cpu);
    diff --git a/arch/arm/mach-exynos/exynos-pmu.h b/arch/arm/mach-exynos/exynos-pmu.h
    new file mode 100644
    index 0000000..a2ab0d5
    --- /dev/null
    +++ b/arch/arm/mach-exynos/exynos-pmu.h
    @@ -0,0 +1,24 @@
    +/*
    + * Copyright (c) 2014 Samsung Electronics Co., Ltd.
    + * http://www.samsung.com
    + *
    + * Header for EXYNOS PMU Driver support
    + *
    + * This program is free software; you can redistribute it and/or modify
    + * it under the terms of the GNU General Public License version 2 as
    + * published by the Free Software Foundation.
    + */
    +
    +#ifndef __EXYNOS_PMU_H
    +#define __EXYNOS_PMU_H
    +
    +enum sys_powerdown {
    + SYS_AFTR,
    + SYS_LPA,
    + SYS_SLEEP,
    + NUM_SYS_POWERDOWN,
    +};
    +
    +extern void exynos_sys_powerdown_conf(enum sys_powerdown mode);
    +
    +#endif /* __EXYNOS_PMU_H */
    diff --git a/arch/arm/mach-exynos/pm.c b/arch/arm/mach-exynos/pm.c
    index ff96fcd..ba75171 100644
    --- a/arch/arm/mach-exynos/pm.c
    +++ b/arch/arm/mach-exynos/pm.c
    @@ -34,6 +34,7 @@
    #include <mach/map.h>

    #include "common.h"
    +#include "exynos-pmu.h"
    #include "regs-pmu.h"
    #include "regs-sys.h"

    diff --git a/arch/arm/mach-exynos/pmu.c b/arch/arm/mach-exynos/pmu.c
    index 2b16a2d..a4ede73 100644
    --- a/arch/arm/mach-exynos/pmu.c
    +++ b/arch/arm/mach-exynos/pmu.c
    @@ -15,9 +15,16 @@
    #include <linux/regmap.h>
    #include <linux/mfd/syscon.h>

    -#include "common.h"
    +#include "exynos-pmu.h"
    #include "regs-pmu.h"

    +#define PMU_TABLE_END (-1U)
    +
    +struct exynos_pmu_conf {
    + unsigned int offset;
    + unsigned int val[NUM_SYS_POWERDOWN];
    +};
    +
    struct exynos_pmu_data {
    const struct exynos_pmu_conf *pmu_config;
    const struct exynos_pmu_conf *pmu_config_extra;
    @@ -31,6 +38,7 @@ struct exynos_pmu_context {
    const struct exynos_pmu_data *pmu_data;
    };

    +static void __iomem *pmu_base_addr;
    static struct exynos_pmu_context *pmu_context;

    static inline void pmu_raw_writel(u32 val, u32 offset)
    --
    1.7.9.5


    \
     
     \ /
      Last update: 2014-07-07 08:01    [W:4.708 / U:0.348 seconds]
    ©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site