diff mbox

[v5,3/6] driver: soc: exynos-pmu: Add an API to be called after wakeup

Message ID 1417270508-11174-4-git-send-email-amit.daniel@samsung.com (mailing list archive)
State New, archived
Headers show

Commit Message

Amit Kachhap Nov. 29, 2014, 2:15 p.m. UTC
This patch adds an API exynos_sys_powerup_conf to be called after system sleep
wakeup. This will useful for exynos7 SoC to perform resume related
initialisations. This is similar to currently existing API
exynos_sys_powerdown_conf.

Reviewed-by: Pankaj Dubey <pankaj.dubey@samsung.com>
Signed-off-by: Amit Daniel Kachhap <amit.daniel@samsung.com>
---
 drivers/soc/samsung/exynos-pmu.c       |    9 +++++++++
 include/linux/soc/samsung/exynos-pmu.h |    1 +
 2 files changed, 10 insertions(+)

Comments

kgene@kernel.org Nov. 29, 2014, 11:26 p.m. UTC | #1
Amit Daniel Kachhap wrote:
> 
> This patch adds an API exynos_sys_powerup_conf to be called after system sleep
> wakeup. This will useful for exynos7 SoC to perform resume related
> initialisations. This is similar to currently existing API
> exynos_sys_powerdown_conf.
> 
> Reviewed-by: Pankaj Dubey <pankaj.dubey@samsung.com>
> Signed-off-by: Amit Daniel Kachhap <amit.daniel@samsung.com>

In subject,

"driver: soc..." -> "drivers: soc..." ?

- Kukjin

> ---
>  drivers/soc/samsung/exynos-pmu.c       |    9 +++++++++
>  include/linux/soc/samsung/exynos-pmu.h |    1 +
>  2 files changed, 10 insertions(+)
> 
> diff --git a/drivers/soc/samsung/exynos-pmu.c b/drivers/soc/samsung/exynos-pmu.c
> index 7eb5b0b..c3307eb 100644
> --- a/drivers/soc/samsung/exynos-pmu.c
> +++ b/drivers/soc/samsung/exynos-pmu.c
> @@ -33,6 +33,7 @@ struct exynos_pmu_data {
>  	void (*pmu_init)(void);
>  	void (*powerdown_conf)(enum sys_powerdown);
>  	void (*powerdown_conf_extra)(enum sys_powerdown);
> +	void (*powerup_conf)(enum sys_powerdown);
>  };
> 
>  struct exynos_pmu_context {
> @@ -768,6 +769,14 @@ void exynos_sys_powerdown_conf(enum sys_powerdown mode)
>  	}
>  }
> 
> +void exynos_sys_powerup_conf(enum sys_powerdown mode)
> +{
> +	const struct exynos_pmu_data *pmu_data = pmu_context->pmu_data;
> +
> +	if (pmu_data->powerup_conf)
> +		pmu_data->powerup_conf(mode);
> +}
> +
>  static void exynos3250_pmu_init(void)
>  {
>  	unsigned int value;
> diff --git a/include/linux/soc/samsung/exynos-pmu.h b/include/linux/soc/samsung/exynos-pmu.h
> index a2ab0d5..b497712 100644
> --- a/include/linux/soc/samsung/exynos-pmu.h
> +++ b/include/linux/soc/samsung/exynos-pmu.h
> @@ -20,5 +20,6 @@ enum sys_powerdown {
>  };
> 
>  extern void exynos_sys_powerdown_conf(enum sys_powerdown mode);
> +extern void exynos_sys_powerup_conf(enum sys_powerdown mode);
> 
>  #endif /* __EXYNOS_PMU_H */
> --
> 1.7.9.5

--
To unsubscribe from this list: send the line "unsubscribe linux-samsung-soc" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Amit Kachhap Dec. 1, 2014, 4:24 a.m. UTC | #2
On Sun, Nov 30, 2014 at 4:56 AM, Kukjin Kim <kgene@kernel.org> wrote:
> Amit Daniel Kachhap wrote:
>>
>> This patch adds an API exynos_sys_powerup_conf to be called after system sleep
>> wakeup. This will useful for exynos7 SoC to perform resume related
>> initialisations. This is similar to currently existing API
>> exynos_sys_powerdown_conf.
>>
>> Reviewed-by: Pankaj Dubey <pankaj.dubey@samsung.com>
>> Signed-off-by: Amit Daniel Kachhap <amit.daniel@samsung.com>
>
> In subject,
>
> "driver: soc..." -> "drivers: soc..." ?
Ok will change.
>
> - Kukjin
>
>> ---
>>  drivers/soc/samsung/exynos-pmu.c       |    9 +++++++++
>>  include/linux/soc/samsung/exynos-pmu.h |    1 +
>>  2 files changed, 10 insertions(+)
>>
>> diff --git a/drivers/soc/samsung/exynos-pmu.c b/drivers/soc/samsung/exynos-pmu.c
>> index 7eb5b0b..c3307eb 100644
>> --- a/drivers/soc/samsung/exynos-pmu.c
>> +++ b/drivers/soc/samsung/exynos-pmu.c
>> @@ -33,6 +33,7 @@ struct exynos_pmu_data {
>>       void (*pmu_init)(void);
>>       void (*powerdown_conf)(enum sys_powerdown);
>>       void (*powerdown_conf_extra)(enum sys_powerdown);
>> +     void (*powerup_conf)(enum sys_powerdown);
>>  };
>>
>>  struct exynos_pmu_context {
>> @@ -768,6 +769,14 @@ void exynos_sys_powerdown_conf(enum sys_powerdown mode)
>>       }
>>  }
>>
>> +void exynos_sys_powerup_conf(enum sys_powerdown mode)
>> +{
>> +     const struct exynos_pmu_data *pmu_data = pmu_context->pmu_data;
>> +
>> +     if (pmu_data->powerup_conf)
>> +             pmu_data->powerup_conf(mode);
>> +}
>> +
>>  static void exynos3250_pmu_init(void)
>>  {
>>       unsigned int value;
>> diff --git a/include/linux/soc/samsung/exynos-pmu.h b/include/linux/soc/samsung/exynos-pmu.h
>> index a2ab0d5..b497712 100644
>> --- a/include/linux/soc/samsung/exynos-pmu.h
>> +++ b/include/linux/soc/samsung/exynos-pmu.h
>> @@ -20,5 +20,6 @@ enum sys_powerdown {
>>  };
>>
>>  extern void exynos_sys_powerdown_conf(enum sys_powerdown mode);
>> +extern void exynos_sys_powerup_conf(enum sys_powerdown mode);
>>
>>  #endif /* __EXYNOS_PMU_H */
>> --
>> 1.7.9.5
>
> --
> To unsubscribe from this list: send the line "unsubscribe linux-samsung-soc" in
> the body of a message to majordomo@vger.kernel.org
> More majordomo info at  http://vger.kernel.org/majordomo-info.html
--
To unsubscribe from this list: send the line "unsubscribe linux-samsung-soc" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
diff mbox

Patch

diff --git a/drivers/soc/samsung/exynos-pmu.c b/drivers/soc/samsung/exynos-pmu.c
index 7eb5b0b..c3307eb 100644
--- a/drivers/soc/samsung/exynos-pmu.c
+++ b/drivers/soc/samsung/exynos-pmu.c
@@ -33,6 +33,7 @@  struct exynos_pmu_data {
 	void (*pmu_init)(void);
 	void (*powerdown_conf)(enum sys_powerdown);
 	void (*powerdown_conf_extra)(enum sys_powerdown);
+	void (*powerup_conf)(enum sys_powerdown);
 };
 
 struct exynos_pmu_context {
@@ -768,6 +769,14 @@  void exynos_sys_powerdown_conf(enum sys_powerdown mode)
 	}
 }
 
+void exynos_sys_powerup_conf(enum sys_powerdown mode)
+{
+	const struct exynos_pmu_data *pmu_data = pmu_context->pmu_data;
+
+	if (pmu_data->powerup_conf)
+		pmu_data->powerup_conf(mode);
+}
+
 static void exynos3250_pmu_init(void)
 {
 	unsigned int value;
diff --git a/include/linux/soc/samsung/exynos-pmu.h b/include/linux/soc/samsung/exynos-pmu.h
index a2ab0d5..b497712 100644
--- a/include/linux/soc/samsung/exynos-pmu.h
+++ b/include/linux/soc/samsung/exynos-pmu.h
@@ -20,5 +20,6 @@  enum sys_powerdown {
 };
 
 extern void exynos_sys_powerdown_conf(enum sys_powerdown mode);
+extern void exynos_sys_powerup_conf(enum sys_powerdown mode);
 
 #endif /* __EXYNOS_PMU_H */