Re: [PATCH 2/4] ARM: EXYNOS4: Support for generic Clock manipulation PM callbacks

2011-10-04 Thread Chanwoo Choi
Kukjin Kim wrote:
 Chanwoo Choi wrote:
 Signed-off-by: Chanwoo Choi cw00.c...@samsung.com
 Signed-off-by: Kyungmin Park kyungmin.p...@samsung.com
 ---
  arch/arm/mach-exynos4/Makefile |2 +-
  arch/arm/mach-exynos4/pm-runtime.c |   56 
 
  2 files changed, 57 insertions(+), 1 deletions(-)
  create mode 100644 arch/arm/mach-exynos4/pm-runtime.c

 diff --git a/arch/arm/mach-exynos4/Makefile b/arch/arm/mach-exynos4/Makefile
 index 97c31ce..28cdb8b 100644
 --- a/arch/arm/mach-exynos4/Makefile
 +++ b/arch/arm/mach-exynos4/Makefile
 @@ -5,7 +5,7 @@
  #
  # Licensed under GPLv2

 -obj-y   :=
 +obj-y   := pm-runtime.o
 
 To move under depending CONFIG_ARCH_EXYNOS4 like others is better.
Ok, I will modify it.

 
  obj-m   :=
  obj-n   :=
  obj-:=
 diff --git a/arch/arm/mach-exynos4/pm-runtime.c 
 b/arch/arm/mach-exynos4/pm-runtime.c
 new file mode 100644
 index 000..4fe9f73
 --- /dev/null
 +++ b/arch/arm/mach-exynos4/pm-runtime.c
 @@ -0,0 +1,56 @@
 +/* linux/arch/arm/mach-exynos4/pm-runtime.c
 +
 + * Exynos4210 Power management support
 + *
 + * Copyright (c) 2011 Samsung Electronics Co., Ltd.
 + *  http://www.samsung.com
 + *
 + * 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.
 +*/
 +
 +#include linux/init.h
 +#include linux/kernel.h
 +#include linux/io.h
 +#include linux/pm_runtime.h
 +#include linux/platform_device.h
 +#include linux/clk.h
 +#include linux/bitmap.h
 +#include linux/slab.h
 +
 +#ifdef CONFIG_PM_RUNTIME
 +
 +static int default_platform_runtime_idle(struct device *dev)
 +{
 +return pm_runtime_suspend(dev);
 +}
 +
 +static struct dev_pm_domain default_pm_domain = {
 +.ops = {
 +.runtime_suspend = pm_clk_suspend,
 +.runtime_resume = pm_clk_resume,
 +.runtime_idle = default_platform_runtime_idle,
 +USE_PLATFORM_PM_SLEEP_OPS
 +},
 +};
 +
 +#define DEFAULT_PM_DOMAIN_PTR   (default_pm_domain)
 +
 +#else
 +
 +#define DEFAULT_PM_DOMAIN_PTR   NULL
 +
 +#endif /* CONFIG_PM_RUNTIME */
 +
 +static struct pm_clk_notifier_block platform_bus_notifier = {
 +.pm_domain = DEFAULT_PM_DOMAIN_PTR,
 +.con_ids = { NULL, },
 +};
 +
 +static int __init exynos4_pm_runtime_init(void)
 +{
 +pm_clk_add_notifier(platform_bus_type, platform_bus_notifier);
 +return 0;
 +}
 +core_initcall(exynos4_pm_runtime_init);
 --
 1.7.0.4
 
 How about to make common stuff in ARM instead of each platform has their 
 own...
 
 I think you can consolidate this pm_runtime with other ARM platform like 
 omap, shmobile.
 
 arch/arm/mach-omap1/pm_bus.c
 arch/arm/mach-shmobile/pm_runtime.c
 
OK, I received the comment of consolidating geneirc power-domain of exynos 
series from Sylwester Nawrocki. 
I will reimplment for supporting various exynos series and resend it.

Thanks,

Best Regards,
Chanwoo Choi

--
To unsubscribe from this list: send the line unsubscribe linux-samsung-soc in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html


RE: [PATCH 2/4] ARM: EXYNOS4: Support for generic Clock manipulation PM callbacks

2011-10-02 Thread Kukjin Kim
Chanwoo Choi wrote:
 
 Signed-off-by: Chanwoo Choi cw00.c...@samsung.com
 Signed-off-by: Kyungmin Park kyungmin.p...@samsung.com
 ---
  arch/arm/mach-exynos4/Makefile |2 +-
  arch/arm/mach-exynos4/pm-runtime.c |   56 
 
  2 files changed, 57 insertions(+), 1 deletions(-)
  create mode 100644 arch/arm/mach-exynos4/pm-runtime.c
 
 diff --git a/arch/arm/mach-exynos4/Makefile b/arch/arm/mach-exynos4/Makefile
 index 97c31ce..28cdb8b 100644
 --- a/arch/arm/mach-exynos4/Makefile
 +++ b/arch/arm/mach-exynos4/Makefile
 @@ -5,7 +5,7 @@
  #
  # Licensed under GPLv2
 
 -obj-y:=
 +obj-y:= pm-runtime.o

To move under depending CONFIG_ARCH_EXYNOS4 like others is better.

  obj-m:=
  obj-n:=
  obj- :=
 diff --git a/arch/arm/mach-exynos4/pm-runtime.c 
 b/arch/arm/mach-exynos4/pm-runtime.c
 new file mode 100644
 index 000..4fe9f73
 --- /dev/null
 +++ b/arch/arm/mach-exynos4/pm-runtime.c
 @@ -0,0 +1,56 @@
 +/* linux/arch/arm/mach-exynos4/pm-runtime.c
 +
 + * Exynos4210 Power management support
 + *
 + * Copyright (c) 2011 Samsung Electronics Co., Ltd.
 + *   http://www.samsung.com
 + *
 + * 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.
 +*/
 +
 +#include linux/init.h
 +#include linux/kernel.h
 +#include linux/io.h
 +#include linux/pm_runtime.h
 +#include linux/platform_device.h
 +#include linux/clk.h
 +#include linux/bitmap.h
 +#include linux/slab.h
 +
 +#ifdef CONFIG_PM_RUNTIME
 +
 +static int default_platform_runtime_idle(struct device *dev)
 +{
 + return pm_runtime_suspend(dev);
 +}
 +
 +static struct dev_pm_domain default_pm_domain = {
 + .ops = {
 + .runtime_suspend = pm_clk_suspend,
 + .runtime_resume = pm_clk_resume,
 + .runtime_idle = default_platform_runtime_idle,
 + USE_PLATFORM_PM_SLEEP_OPS
 + },
 +};
 +
 +#define DEFAULT_PM_DOMAIN_PTR(default_pm_domain)
 +
 +#else
 +
 +#define DEFAULT_PM_DOMAIN_PTRNULL
 +
 +#endif /* CONFIG_PM_RUNTIME */
 +
 +static struct pm_clk_notifier_block platform_bus_notifier = {
 + .pm_domain = DEFAULT_PM_DOMAIN_PTR,
 + .con_ids = { NULL, },
 +};
 +
 +static int __init exynos4_pm_runtime_init(void)
 +{
 + pm_clk_add_notifier(platform_bus_type, platform_bus_notifier);
 + return 0;
 +}
 +core_initcall(exynos4_pm_runtime_init);
 --
 1.7.0.4

How about to make common stuff in ARM instead of each platform has their own...

I think you can consolidate this pm_runtime with other ARM platform like omap, 
shmobile.

arch/arm/mach-omap1/pm_bus.c
arch/arm/mach-shmobile/pm_runtime.c

Thanks.

Best regards,
Kgene.
--
Kukjin Kim kgene@samsung.com, Senior Engineer,
SW Solution Development Team, Samsung Electronics Co., Ltd.

--
To unsubscribe from this list: send the line unsubscribe linux-samsung-soc in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html


[PATCH 2/4] ARM: EXYNOS4: Support for generic Clock manipulation PM callbacks

2011-08-10 Thread Chanwoo Choi
Signed-off-by: Chanwoo Choi cw00.c...@samsung.com
Signed-off-by: Kyungmin Park kyungmin.p...@samsung.com
---
 arch/arm/mach-exynos4/Makefile |2 +-
 arch/arm/mach-exynos4/pm-runtime.c |   56 
 2 files changed, 57 insertions(+), 1 deletions(-)
 create mode 100644 arch/arm/mach-exynos4/pm-runtime.c

diff --git a/arch/arm/mach-exynos4/Makefile b/arch/arm/mach-exynos4/Makefile
index 97c31ce..28cdb8b 100644
--- a/arch/arm/mach-exynos4/Makefile
+++ b/arch/arm/mach-exynos4/Makefile
@@ -5,7 +5,7 @@
 #
 # Licensed under GPLv2
 
-obj-y  :=
+obj-y  := pm-runtime.o
 obj-m  :=
 obj-n  :=
 obj-   :=
diff --git a/arch/arm/mach-exynos4/pm-runtime.c 
b/arch/arm/mach-exynos4/pm-runtime.c
new file mode 100644
index 000..4fe9f73
--- /dev/null
+++ b/arch/arm/mach-exynos4/pm-runtime.c
@@ -0,0 +1,56 @@
+/* linux/arch/arm/mach-exynos4/pm-runtime.c
+
+ * Exynos4210 Power management support
+ *
+ * Copyright (c) 2011 Samsung Electronics Co., Ltd.
+ * http://www.samsung.com
+ *
+ * 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.
+*/
+
+#include linux/init.h
+#include linux/kernel.h
+#include linux/io.h
+#include linux/pm_runtime.h
+#include linux/platform_device.h
+#include linux/clk.h
+#include linux/bitmap.h
+#include linux/slab.h
+
+#ifdef CONFIG_PM_RUNTIME
+
+static int default_platform_runtime_idle(struct device *dev)
+{
+   return pm_runtime_suspend(dev);
+}
+
+static struct dev_pm_domain default_pm_domain = {
+   .ops = {
+   .runtime_suspend = pm_clk_suspend,
+   .runtime_resume = pm_clk_resume,
+   .runtime_idle = default_platform_runtime_idle,
+   USE_PLATFORM_PM_SLEEP_OPS
+   },
+};
+
+#define DEFAULT_PM_DOMAIN_PTR  (default_pm_domain)
+
+#else
+
+#define DEFAULT_PM_DOMAIN_PTR  NULL
+
+#endif /* CONFIG_PM_RUNTIME */
+
+static struct pm_clk_notifier_block platform_bus_notifier = {
+   .pm_domain = DEFAULT_PM_DOMAIN_PTR,
+   .con_ids = { NULL, },
+};
+
+static int __init exynos4_pm_runtime_init(void)
+{
+   pm_clk_add_notifier(platform_bus_type, platform_bus_notifier);
+   return 0;
+}
+core_initcall(exynos4_pm_runtime_init);
-- 
1.7.0.4

--
To unsubscribe from this list: send the line unsubscribe linux-samsung-soc in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html