Re: [PATCH 1/4] ARM: EXYNOS: Hook up power domains to generic power domain infrastructure (part 2)

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On Thursday 01 March 2012 04:58:23 Kukjin Kim wrote:
> Bartlomiej Zolnierkiewicz wrote:
> > 
> > * Add support of enabling/disabling modules in S5P_CLKGATE_BLOCK register.
> 
> NO. I remember, we talked about this before and I'm still thinking it should
> be handled independently.

OK, here is only the cleanup part.  Unfortunately I couldn't find
the previous discussion regarding S5P_CLKGATE_BLOCK register handling
on the public mailing lists so could you please describe how it
should be done properly?

Best regards,
--
Bartlomiej Zolnierkiewicz
Samsung Poland R&D Center


From: Bartlomiej Zolnierkiewicz <b.zolnierkie@xxxxxxxxxxx>
Subject: [PATCH] ARM: EXYNOS: Remove leftovers of the Samsung specific power domain control

Cc: Thomas Abraham <thomas.abraham@xxxxxxxxxx>
Cc: Rob Herring <rob.herring@xxxxxxxxxxx>
Cc: Grant Likely <grant.likely@xxxxxxxxxxxx>
Cc: Rafael J. Wysocki <rjw@xxxxxxx>
Signed-off-by: Bartlomiej Zolnierkiewicz <b.zolnierkie@xxxxxxxxxxx>
Signed-off-by: Kyungmin Park <kyungmin.park@xxxxxxxxxxx>
---

 arch/arm/mach-exynos/mach-nuri.c           |    1 
 arch/arm/mach-exynos/mach-origen.c         |    1 
 arch/arm/mach-exynos/mach-smdkv310.c       |    1 
 arch/arm/mach-exynos/mach-universal_c210.c |    1 
 arch/arm/plat-samsung/Kconfig              |    8 --
 arch/arm/plat-samsung/Makefile             |    4 -
 arch/arm/plat-samsung/include/plat/devs.h  |    1 
 arch/arm/plat-samsung/include/plat/pd.h    |   30 ---------
 arch/arm/plat-samsung/pd.c                 |   95 -----------------------------
 9 files changed, 142 deletions(-)

Index: linux-sprc/arch/arm/mach-exynos/mach-nuri.c
===================================================================
--- linux-sprc.orig/arch/arm/mach-exynos/mach-nuri.c	2012-03-06 15:59:13.432481942 +0100
+++ linux-sprc/arch/arm/mach-exynos/mach-nuri.c	2012-03-06 15:59:22.528481940 +0100
@@ -48,7 +48,6 @@
 #include <plat/gpio-cfg.h>
 #include <plat/iic.h>
 #include <plat/mfc.h>
-#include <plat/pd.h>
 #include <plat/fimc-core.h>
 #include <plat/camport.h>
 #include <plat/mipi_csis.h>
Index: linux-sprc/arch/arm/mach-exynos/mach-origen.c
===================================================================
--- linux-sprc.orig/arch/arm/mach-exynos/mach-origen.c	2012-03-06 15:59:13.432481942 +0100
+++ linux-sprc/arch/arm/mach-exynos/mach-origen.c	2012-03-06 15:59:22.528481940 +0100
@@ -38,7 +38,6 @@
 #include <plat/clock.h>
 #include <plat/gpio-cfg.h>
 #include <plat/backlight.h>
-#include <plat/pd.h>
 #include <plat/fb.h>
 #include <plat/mfc.h>
 
Index: linux-sprc/arch/arm/mach-exynos/mach-smdkv310.c
===================================================================
--- linux-sprc.orig/arch/arm/mach-exynos/mach-smdkv310.c	2012-03-06 15:59:13.432481942 +0100
+++ linux-sprc/arch/arm/mach-exynos/mach-smdkv310.c	2012-03-06 15:59:22.532481931 +0100
@@ -34,7 +34,6 @@
 #include <plat/keypad.h>
 #include <plat/sdhci.h>
 #include <plat/iic.h>
-#include <plat/pd.h>
 #include <plat/gpio-cfg.h>
 #include <plat/backlight.h>
 #include <plat/mfc.h>
Index: linux-sprc/arch/arm/mach-exynos/mach-universal_c210.c
===================================================================
--- linux-sprc.orig/arch/arm/mach-exynos/mach-universal_c210.c	2012-03-06 15:59:13.432481942 +0100
+++ linux-sprc/arch/arm/mach-exynos/mach-universal_c210.c	2012-03-06 15:59:22.532481931 +0100
@@ -35,7 +35,6 @@
 #include <plat/fb.h>
 #include <plat/mfc.h>
 #include <plat/sdhci.h>
-#include <plat/pd.h>
 #include <plat/regs-fb-v4.h>
 #include <plat/fimc-core.h>
 #include <plat/camport.h>
Index: linux-sprc/arch/arm/plat-samsung/Kconfig
===================================================================
--- linux-sprc.orig/arch/arm/plat-samsung/Kconfig	2012-03-06 15:57:57.092481952 +0100
+++ linux-sprc/arch/arm/plat-samsung/Kconfig	2012-03-06 15:59:22.532481931 +0100
@@ -350,14 +350,6 @@
 	  and above. This code allows a set of interrupt to wakeup-mask
 	  mappings. See <plat/wakeup-mask.h>
 
-comment "Power Domain"
-
-config SAMSUNG_PD
-	bool "Samsung Power Domain"
-	depends on PM_RUNTIME
-	help
-	  Say Y here if you want to control Power Domain by Runtime PM.
-
 config DEBUG_S3C_UART
 	depends on PLAT_SAMSUNG
 	int
Index: linux-sprc/arch/arm/plat-samsung/Makefile
===================================================================
--- linux-sprc.orig/arch/arm/plat-samsung/Makefile	2012-03-06 15:57:57.092481952 +0100
+++ linux-sprc/arch/arm/plat-samsung/Makefile	2012-03-06 15:59:22.532481931 +0100
@@ -47,10 +47,6 @@
 
 obj-$(CONFIG_SAMSUNG_WAKEMASK)	+= wakeup-mask.o
 
-# PD support
-
-obj-$(CONFIG_SAMSUNG_PD)	+= pd.o
-
 # PWM support
 
 obj-$(CONFIG_HAVE_PWM)		+= pwm.o
Index: linux-sprc/arch/arm/plat-samsung/include/plat/devs.h
===================================================================
--- linux-sprc.orig/arch/arm/plat-samsung/include/plat/devs.h	2012-03-06 15:59:13.444481941 +0100
+++ linux-sprc/arch/arm/plat-samsung/include/plat/devs.h	2012-03-06 15:59:22.532481931 +0100
@@ -128,7 +128,6 @@
 extern struct platform_device exynos4_device_pcm0;
 extern struct platform_device exynos4_device_pcm1;
 extern struct platform_device exynos4_device_pcm2;
-extern struct platform_device exynos4_device_pd[];
 extern struct platform_device exynos4_device_spdif;
 extern struct platform_device exynos4_device_sysmmu;
 
Index: linux-sprc/arch/arm/plat-samsung/include/plat/pd.h
===================================================================
--- linux-sprc.orig/arch/arm/plat-samsung/include/plat/pd.h	2012-03-06 15:59:13.444481941 +0100
+++ /dev/null	1970-01-01 00:00:00.000000000 +0000
@@ -1,30 +0,0 @@
-/* linux/arch/arm/plat-samsung/include/plat/pd.h
- *
- * Copyright (c) 2010-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.
-*/
-
-#ifndef __ASM_PLAT_SAMSUNG_PD_H
-#define __ASM_PLAT_SAMSUNG_PD_H __FILE__
-
-struct samsung_pd_info {
-	int (*enable)(struct device *dev);
-	int (*disable)(struct device *dev);
-	void __iomem *base;
-};
-
-enum exynos4_pd_block {
-	PD_MFC,
-	PD_G3D,
-	PD_LCD0,
-	PD_LCD1,
-	PD_TV,
-	PD_CAM,
-	PD_GPS
-};
-
-#endif /* __ASM_PLAT_SAMSUNG_PD_H */
Index: linux-sprc/arch/arm/plat-samsung/pd.c
===================================================================
--- linux-sprc.orig/arch/arm/plat-samsung/pd.c	2012-03-06 15:57:57.000000000 +0100
+++ /dev/null	1970-01-01 00:00:00.000000000 +0000
@@ -1,95 +0,0 @@
-/* linux/arch/arm/plat-samsung/pd.c
- *
- * Copyright (c) 2010 Samsung Electronics Co., Ltd.
- *		http://www.samsung.com
- *
- * Samsung Power domain 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.
-*/
-
-#include <linux/init.h>
-#include <linux/export.h>
-#include <linux/platform_device.h>
-#include <linux/err.h>
-#include <linux/pm_runtime.h>
-
-#include <plat/pd.h>
-
-static int samsung_pd_probe(struct platform_device *pdev)
-{
-	struct samsung_pd_info *pdata = pdev->dev.platform_data;
-	struct device *dev = &pdev->dev;
-
-	if (!pdata) {
-		dev_err(dev, "no device data specified\n");
-		return -ENOENT;
-	}
-
-	pm_runtime_set_active(dev);
-	pm_runtime_enable(dev);
-
-	dev_info(dev, "power domain registered\n");
-	return 0;
-}
-
-static int __devexit samsung_pd_remove(struct platform_device *pdev)
-{
-	struct device *dev = &pdev->dev;
-
-	pm_runtime_disable(dev);
-	return 0;
-}
-
-static int samsung_pd_runtime_suspend(struct device *dev)
-{
-	struct samsung_pd_info *pdata = dev->platform_data;
-	int ret = 0;
-
-	if (pdata->disable)
-		ret = pdata->disable(dev);
-
-	dev_dbg(dev, "suspended\n");
-	return ret;
-}
-
-static int samsung_pd_runtime_resume(struct device *dev)
-{
-	struct samsung_pd_info *pdata = dev->platform_data;
-	int ret = 0;
-
-	if (pdata->enable)
-		ret = pdata->enable(dev);
-
-	dev_dbg(dev, "resumed\n");
-	return ret;
-}
-
-static const struct dev_pm_ops samsung_pd_pm_ops = {
-	.runtime_suspend	= samsung_pd_runtime_suspend,
-	.runtime_resume		= samsung_pd_runtime_resume,
-};
-
-static struct platform_driver samsung_pd_driver = {
-	.driver		= {
-		.name		= "samsung-pd",
-		.owner		= THIS_MODULE,
-		.pm		= &samsung_pd_pm_ops,
-	},
-	.probe		= samsung_pd_probe,
-	.remove		= __devexit_p(samsung_pd_remove),
-};
-
-static int __init samsung_pd_init(void)
-{
-	int ret;
-
-	ret = platform_driver_register(&samsung_pd_driver);
-	if (ret)
-		printk(KERN_ERR "%s: failed to add PD driver\n", __func__);
-
-	return ret;
-}
-arch_initcall(samsung_pd_init);
--
To unsubscribe from this list: send the line "unsubscribe linux-samsung-soc" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html


[Index of Archives]     [Linux SoC Development]     [Linux Rockchip Development]     [Linux USB Development]     [Video for Linux]     [Linux Audio Users]     [Linux SCSI]     [Yosemite News]

  Powered by Linux