Skip to contentSkip to conversation

Switch to generic syscon regmap based drivers

PATCH New Alim Akhtar 8 participants 38 messages Oct 19, 2015 – Oct 20, 2015

Subsystems (4)
lore
Share & tools
lore

Alim Akhtar

author reviewer
#0 lore raw

cover Switch to generic syscon regmap based drivers

Alim Akhtar (7):
arm: dts: Add syscon-{reboot, poweroff} nodes for exynos3250 SoCs
arm: dts: Add syscon-{reboot, poweroff} nodes for exynos4
arm: dts: Add syscon-{reboot, poweroff} nodes for exynos5
arm: dts: Add syscon-{reboot, poweroff} nodes for exynos5410 SoC
ARM: exynos_defconfig: Normalize exynos defconfig
ARM: exynos_defconfig: Enable generic syscon-{reboot, poweroff}
drivers
ARM: EXYNOS: Remove code for restart and poweroff for exynos SoCs

 arch/arm/boot/dts/exynos3250.dtsi |   14 ++++++++++++
 arch/arm/boot/dts/exynos4.dtsi    |   14 ++++++++++++
 arch/arm/boot/dts/exynos5.dtsi    |   14 ++++++++++++
 arch/arm/boot/dts/exynos5410.dtsi |   14 ++++++++++++
 arch/arm/configs/exynos_defconfig |   11 +++++-----
 arch/arm/mach-exynos/pmu.c        |   43 -------------------------------------
 6 files changed, 61 insertions(+), 49 deletions(-)
Signature · 1 line
1.7.10.4
author reviewer
#1 lore raw

PATCH 1/7 arm: dts: Add syscon-{reboot, poweroff} nodes for exynos3250 SoCs

This patch adds syscon-{reboot, poweroff} nodes to allow the generic syscon-{reboot, poweroff} driver to reset/poweroff exynos3250 SoC.

---
 arch/arm/boot/dts/exynos3250.dtsi |   14 ++++++++++++++
 1 file changed, 14 insertions(+)
arch/arm/boot/dts/exynos3250.dtsi +14 -0
index 033def482fc3..af5d9ad4c7b7 100644
@@ -152,6 +152,20 @@
 			interrupt-parent = <&gic>;
 		};
 
+		poweroff: syscon-poweroff {
+			compatible = "syscon-poweroff";
+			regmap = <&pmu_system_controller>;
+			offset = <0x330C>;
+			mask = <0x5200>;
+		};
+
+		reboot: syscon-reboot {
+			compatible = "syscon-reboot";
+			regmap = <&pmu_system_controller>;
+			offset = <0x0400>;
+			mask = <0x1>;
+		};
+
 		mipi_phy: video-phy at 10020710 {
 			compatible = "samsung,s5pv210-mipi-video-phy";
 			#phy-cells = <1>;
Signature · 1 line
1.7.10.4
#2 lore raw

PATCH 1/7 arm: dts: Add syscon-{reboot, poweroff} nodes for exynos3250 SoCs

Quoted 9 lines · Alim Akhtar

This patch adds syscon-{reboot, poweroff} nodes to allow the generic syscon-{reboot, poweroff} driver to reset/poweroff exynos3250 SoC.

---
arch/arm/boot/dts/exynos3250.dtsi | 14 ++++++++++++++

  1 file changed, 14 insertions(+)

Thanks,
Pankaj Dubey

#3 lore raw

PATCH 1/7 arm: dts: Add syscon-{reboot, poweroff} nodes for exynos3250 SoCs

In reply to Alim Akhtar

Hello Alim,

Quoted 20 lines · Alim Akhtar

This patch adds syscon-{reboot, poweroff} nodes to allow the generic syscon-{reboot, poweroff} driver to reset/poweroff exynos3250 SoC.

---
 arch/arm/boot/dts/exynos3250.dtsi |   14 ++++++++++++++
 1 file changed, 14 insertions(+)
arch/arm/boot/dts/exynos3250.dtsi +4 -0
index 033def482fc3..af5d9ad4c7b7 100644
@@ -152,6 +152,20 @@
 			interrupt-parent = <&gic>;
 		};
 
+		poweroff: syscon-poweroff {
+			compatible = "syscon-poweroff";
+			regmap = <&pmu_system_controller>;
+			offset = <0x330C>;

arch/arm/boot/dts/exynos3250.dtsi line 168

Quoted 10 lines
arch/arm/boot/dts/exynos3250.dtsi +10 -0
+			mask = <0x5200>;
+		};
+
+		reboot: syscon-reboot {
+			compatible = "syscon-reboot";
+			regmap = <&pmu_system_controller>;
+			offset = <0x0400>;
+			mask = <0x1>;
+		};
+

I don't have a Exynos3250 manual but I guess 0x330C is also named PS_HOLD_CONTROL and 0x400 is SWRESET as the other Exynos SoCs.

I wonder if a macro could be used instead of magic numbers or at least have a comment next to the offset field.

The patch looks good to me though and a comment can be added as a follow up so:

Best regards,

Signature · 3 lines
Javier Martinez Canillas
Open Source Group
Samsung Research America
author reviewer
#4 lore raw

PATCH 1/7 arm: dts: Add syscon-{reboot, poweroff} nodes for exynos3250 SoCs

Hi Javier,

Quoted 37 lines · Javier Martinez Canillas

Hello Alim,

Quoted 20 lines · Alim Akhtar

This patch adds syscon-{reboot, poweroff} nodes to allow the generic syscon-{reboot, poweroff} driver to reset/poweroff exynos3250 SoC.

---
  arch/arm/boot/dts/exynos3250.dtsi |   14 ++++++++++++++
  1 file changed, 14 insertions(+)
arch/arm/boot/dts/exynos3250.dtsi +4 -0
index 033def482fc3..af5d9ad4c7b7 100644
@@ -152,6 +152,20 @@
  			interrupt-parent = <&gic>;
  		};
 
+		poweroff: syscon-poweroff {
+			compatible = "syscon-poweroff";
+			regmap = <&pmu_system_controller>;
+			offset = <0x330C>;

arch/arm/boot/dts/exynos3250.dtsi line 168

Quoted 10 lines
arch/arm/boot/dts/exynos3250.dtsi +10 -0
+			mask = <0x5200>;
+		};
+
+		reboot: syscon-reboot {
+			compatible = "syscon-reboot";
+			regmap = <&pmu_system_controller>;
+			offset = <0x0400>;
+			mask = <0x1>;
+		};
+

I don't have a Exynos3250 manual but I guess 0x330C is also named PS_HOLD_CONTROL and 0x400 is SWRESET as the other Exynos SoCs.

Quoted 6 lines

I wonder if a macro could be used instead of magic numbers or at least have a comment next to the offset field.

The patch looks good to me though and a comment can be added as a follow up so:

Will add a comment about register offset next to it.

Quoted 2 lines

Thanks!

Quoted 2 lines

Best regards,

author reviewer
#5 lore raw

PATCH 2/7 arm: dts: Add syscon-{reboot, poweroff} nodes for exynos4

In reply to Alim Akhtar

This patch adds syscon-{reboot, poweroff} nodes to allow the generic syscon-{reboot, poweroff} driver to reset/poweroff exynos4 SoC.

---
 arch/arm/boot/dts/exynos4.dtsi |   14 ++++++++++++++
 1 file changed, 14 insertions(+)
arch/arm/boot/dts/exynos4.dtsi +14 -0
index 98c0a368b777..79015320cdb6 100644
@@ -158,6 +158,20 @@
 		interrupt-parent = <&gic>;
 	};
 
+	poweroff: syscon-poweroff {
+		compatible = "syscon-poweroff";
+		regmap = <&pmu_system_controller>;
+		offset = <0x330C>;
+		mask = <0x5200>;
+	};
+
+	reboot: syscon-reboot {
+		compatible = "syscon-reboot";
+		regmap = <&pmu_system_controller>;
+		offset = <0x0400>;
+		mask = <0x1>;
+	};
+
 	dsi_0: dsi at 11C80000 {
 		compatible = "samsung,exynos4210-mipi-dsi";
 		reg = <0x11C80000 0x10000>;
Signature · 1 line
1.7.10.4
#6 lore raw

PATCH 2/7 arm: dts: Add syscon-{reboot, poweroff} nodes for exynos4

Quoted 8 lines · Alim Akhtar

This patch adds syscon-{reboot, poweroff} nodes to allow the generic syscon-{reboot, poweroff} driver to reset/poweroff exynos4 SoC.

---
arch/arm/boot/dts/exynos4.dtsi | 14 ++++++++++++++

  1 file changed, 14 insertions(+)

Thanks,
Pankaj Dubey

#7 lore raw

PATCH 2/7 arm: dts: Add syscon-{reboot, poweroff} nodes for exynos4

In reply to Alim Akhtar

Hello Alim,

Quoted 20 lines · Alim Akhtar

This patch adds syscon-{reboot, poweroff} nodes to allow the generic syscon-{reboot, poweroff} driver to reset/poweroff exynos4 SoC.

---
 arch/arm/boot/dts/exynos4.dtsi |   14 ++++++++++++++
 1 file changed, 14 insertions(+)
arch/arm/boot/dts/exynos4.dtsi +4 -0
index 98c0a368b777..79015320cdb6 100644
@@ -158,6 +158,20 @@
 		interrupt-parent = <&gic>;
 	};
 
+	poweroff: syscon-poweroff {
+		compatible = "syscon-poweroff";
+		regmap = <&pmu_system_controller>;
+		offset = <0x330C>;

arch/arm/boot/dts/exynos4.dtsi line 174

Quoted 10 lines
arch/arm/boot/dts/exynos4.dtsi +10 -0
+		mask = <0x5200>;
+	};
+
+	reboot: syscon-reboot {
+		compatible = "syscon-reboot";
+		regmap = <&pmu_system_controller>;
+		offset = <0x0400>;
+		mask = <0x1>;
+	};
+

The same comment of patch 1/7 applies to the other DTS changes. I would prefer if the the offset value is documented but as I said it could be a follow up.

Best regards,

Signature · 3 lines
Javier Martinez Canillas
Open Source Group
Samsung Research America
author reviewer
#8 lore raw

PATCH 3/7 arm: dts: Add syscon-{reboot, poweroff} nodes for exynos5

In reply to Alim Akhtar

This patch adds syscon-{reboot, poweroff} nodes to allow the generic syscon-{reboot, poweroff} driver to reset/poweroff exynos5 SoCs.

---
 arch/arm/boot/dts/exynos5.dtsi |   14 ++++++++++++++
 1 file changed, 14 insertions(+)
arch/arm/boot/dts/exynos5.dtsi +14 -0
index 110dbd4fb884..1313777618b7 100644
@@ -88,6 +88,20 @@
 		status = "disabled";
 	};
 
+	poweroff: syscon-poweroff {
+		compatible = "syscon-poweroff";
+		regmap = <&pmu_system_controller>;
+		offset = <0x330C>;
+		mask = <0x5200>;
+	};
+
+	reboot: syscon-reboot {
+		compatible = "syscon-reboot";
+		regmap = <&pmu_system_controller>;
+		offset = <0x0400>;
+		mask = <0x1>;
+	};
+
 	fimd: fimd at 14400000 {
 		compatible = "samsung,exynos5250-fimd";
 		interrupt-parent = <&combiner>;
Signature · 1 line
1.7.10.4
#9 lore raw

PATCH 3/7 arm: dts: Add syscon-{reboot, poweroff} nodes for exynos5

Quoted 8 lines · Alim Akhtar

This patch adds syscon-{reboot, poweroff} nodes to allow the generic syscon-{reboot, poweroff} driver to reset/poweroff exynos5 SoCs.

---
arch/arm/boot/dts/exynos5.dtsi | 14 ++++++++++++++

  1 file changed, 14 insertions(+)

Thanks,
Pankaj Dubey

#10 lore raw

PATCH 3/7 arm: dts: Add syscon-{reboot, poweroff} nodes for exynos5

In reply to Alim Akhtar

Hello Alim,

Quoted 20 lines · Alim Akhtar

This patch adds syscon-{reboot, poweroff} nodes to allow the generic syscon-{reboot, poweroff} driver to reset/poweroff exynos5 SoCs.

---
 arch/arm/boot/dts/exynos5.dtsi |   14 ++++++++++++++
 1 file changed, 14 insertions(+)
arch/arm/boot/dts/exynos5.dtsi +4 -0
index 110dbd4fb884..1313777618b7 100644
@@ -88,6 +88,20 @@
 		status = "disabled";
 	};
 
+	poweroff: syscon-poweroff {
+		compatible = "syscon-poweroff";
+		regmap = <&pmu_system_controller>;
+		offset = <0x330C>;

arch/arm/boot/dts/exynos5.dtsi line 104

Quoted 10 lines
arch/arm/boot/dts/exynos5.dtsi +10 -0
+		mask = <0x5200>;
+	};
+
+	reboot: syscon-reboot {
+		compatible = "syscon-reboot";
+		regmap = <&pmu_system_controller>;
+		offset = <0x0400>;
+		mask = <0x1>;
+	};
+

Best regards,

Signature · 3 lines
Javier Martinez Canillas
Open Source Group
Samsung Research America
author reviewer
#11 lore raw

PATCH 4/7 arm: dts: Add syscon-{reboot, poweroff} nodes for exynos5410 SoC

In reply to Alim Akhtar

This patch adds syscon-{reboot, poweroff} nodes to allow the generic syscon-{reboot, poweroff} driver to reset/poweroff exynos5410 SoC.

---
 arch/arm/boot/dts/exynos5410.dtsi |   14 ++++++++++++++
 1 file changed, 14 insertions(+)
arch/arm/boot/dts/exynos5410.dtsi +14 -0
index 731eefd23fa9..b9bef8b5ffc9 100644
@@ -102,6 +102,20 @@
 			reg = <0x10040000 0x5000>;
 		};
 
+		poweroff: syscon-poweroff {
+			compatible = "syscon-poweroff";
+			regmap = <&pmu_system_controller>;
+			offset = <0x330C>;
+			mask = <0x5200>;
+		};
+
+		reboot: syscon-reboot {
+			compatible = "syscon-reboot";
+			regmap = <&pmu_system_controller>;
+			offset = <0x0400>;
+			mask = <0x1>;
+		};
+
 		mct: mct at 101C0000 {
 			compatible = "samsung,exynos4210-mct";
 			reg = <0x101C0000 0xB00>;
Signature · 1 line
1.7.10.4
#12 lore raw

PATCH 4/7 arm: dts: Add syscon-{reboot, poweroff} nodes for exynos5410 SoC

Quoted 8 lines · Alim Akhtar

This patch adds syscon-{reboot, poweroff} nodes to allow the generic syscon-{reboot, poweroff} driver to reset/poweroff exynos5410 SoC.

---
arch/arm/boot/dts/exynos5410.dtsi | 14 ++++++++++++++

  1 file changed, 14 insertions(+)

Thanks,
Pankaj Dubey

#13 lore raw

PATCH 4/7 arm: dts: Add syscon-{reboot, poweroff} nodes for exynos5410 SoC

In reply to Alim Akhtar

Hello Alim,

Quoted 20 lines · Alim Akhtar

This patch adds syscon-{reboot, poweroff} nodes to allow the generic syscon-{reboot, poweroff} driver to reset/poweroff exynos5410 SoC.

---
 arch/arm/boot/dts/exynos5410.dtsi |   14 ++++++++++++++
 1 file changed, 14 insertions(+)
arch/arm/boot/dts/exynos5410.dtsi +4 -0
index 731eefd23fa9..b9bef8b5ffc9 100644
@@ -102,6 +102,20 @@
 			reg = <0x10040000 0x5000>;
 		};
 
+		poweroff: syscon-poweroff {
+			compatible = "syscon-poweroff";
+			regmap = <&pmu_system_controller>;
+			offset = <0x330C>;

arch/arm/boot/dts/exynos5410.dtsi line 118

Quoted 10 lines
arch/arm/boot/dts/exynos5410.dtsi +10 -0
+			mask = <0x5200>;
+		};
+
+		reboot: syscon-reboot {
+			compatible = "syscon-reboot";
+			regmap = <&pmu_system_controller>;
+			offset = <0x0400>;
+			mask = <0x1>;
+		};
+

Best regards,

Signature · 3 lines
Javier Martinez Canillas
Open Source Group
Samsung Research America
author reviewer
#14 lore raw

PATCH 5/7 ARM: exynos_defconfig: Normalize exynos defconfig

In reply to Alim Akhtar

make savedefconfig result in some difference, lets normalize the defconfig.

---
 arch/arm/configs/exynos_defconfig |    8 ++------
 1 file changed, 2 insertions(+), 6 deletions(-)
arch/arm/configs/exynos_defconfig +2 -6
index 1ff2bfa2e183..3349713e6c63 100644
@@ -99,10 +99,8 @@ CONFIG_SENSORS_LM90=y
 CONFIG_SENSORS_NTC_THERMISTOR=y
 CONFIG_SENSORS_PWM_FAN=y
 CONFIG_SENSORS_INA2XX=y
-CONFIG_THERMAL=y
 CONFIG_CPU_THERMAL=y
 CONFIG_THERMAL_EMULATION=y
-CONFIG_EXYNOS_THERMAL=y
 CONFIG_WATCHDOG=y
 CONFIG_S3C2410_WATCHDOG=y
 CONFIG_MFD_CROS_EC=y
@@ -127,14 +125,14 @@ CONFIG_REGULATOR_S2MPS11=y
 CONFIG_REGULATOR_S5M8767=y
 CONFIG_REGULATOR_TPS65090=y
 CONFIG_DRM=y
-CONFIG_DRM_NXP_PTN3460=y
-CONFIG_DRM_PARADE_PS8622=y
 CONFIG_DRM_EXYNOS=y
 CONFIG_DRM_EXYNOS_FIMD=y
 CONFIG_DRM_EXYNOS_DSI=y
 CONFIG_DRM_EXYNOS_HDMI=y
 CONFIG_DRM_PANEL_SIMPLE=y
 CONFIG_DRM_PANEL_SAMSUNG_S6E8AA0=y
+CONFIG_DRM_NXP_PTN3460=y
+CONFIG_DRM_PARADE_PS8622=y
 CONFIG_FB_SIMPLE=y
 CONFIG_EXYNOS_VIDEO=y
 CONFIG_EXYNOS_MIPI_DSI=y
@@ -175,7 +173,6 @@ CONFIG_RTC_DRV_S5M=y
 CONFIG_RTC_DRV_S3C=y
 CONFIG_DMADEVICES=y
 CONFIG_PL330_DMA=y
-CONFIG_CHROME_PLATFORMS=y
 CONFIG_CROS_EC_CHARDEV=y
 CONFIG_COMMON_CLK_MAX77686=y
 CONFIG_COMMON_CLK_MAX77802=y
@@ -190,7 +187,6 @@ CONFIG_PWM_SAMSUNG=y
 CONFIG_PHY_EXYNOS5250_SATA=y
 CONFIG_EXT2_FS=y
 CONFIG_EXT3_FS=y
-CONFIG_EXT4_FS=y
 CONFIG_MSDOS_FS=y
 CONFIG_VFAT_FS=y
 CONFIG_TMPFS=y
Signature · 1 line
1.7.10.4
#15 lore raw

PATCH 5/7 ARM: exynos_defconfig: Normalize exynos defconfig

Hello Alim,

Quoted 5 lines · Alim Akhtar

make savedefconfig result in some difference, lets normalize the defconfig.

---

Did you make savedefconfig against v4.3-rc6 or tot linux-next?

I remember we had issues in the past due savedefconfig made against linux-next but then some of the patches in linux-next not making it to the next release. So I think it should be good to mention what's the base used for this patch.

Quoted 8 lines
 arch/arm/configs/exynos_defconfig |    8 ++------
 1 file changed, 2 insertions(+), 6 deletions(-)
arch/arm/configs/exynos_defconfig +0 -0
index 1ff2bfa2e183..3349713e6c63 100644

arch/arm/configs/exynos_defconfig CONFIG_SENSORS_LM90=y · line 105

Quoted 7 lines
arch/arm/configs/exynos_defconfig +0 -2
@@ -99,10 +99,8 @@ CONFIG_SENSORS_LM90=y
 CONFIG_SENSORS_NTC_THERMISTOR=y
 CONFIG_SENSORS_PWM_FAN=y
 CONFIG_SENSORS_INA2XX=y
-CONFIG_THERMAL=y
 CONFIG_CPU_THERMAL=y
 CONFIG_THERMAL_EMULATION=y
-CONFIG_EXYNOS_THERMAL=y

I would prefer to split all the changes that removes symbols into a separate patch explaining why these are not needed anymore (i.e: it is selected now by symbol $foo).

Quoted 7 lines
arch/arm/configs/exynos_defconfig +0 -0
 CONFIG_WATCHDOG=y
 CONFIG_S3C2410_WATCHDOG=y
 CONFIG_MFD_CROS_EC=y
@@ -127,14 +125,14 @@ CONFIG_REGULATOR_S2MPS11=y
 CONFIG_REGULATOR_S5M8767=y
 CONFIG_REGULATOR_TPS65090=y
 CONFIG_DRM=y

arch/arm/configs/exynos_defconfig CONFIG_REGULATOR_S2MPS11=y · line 135

Quoted 10 lines
arch/arm/configs/exynos_defconfig +2 -2
-CONFIG_DRM_NXP_PTN3460=y
-CONFIG_DRM_PARADE_PS8622=y
 CONFIG_DRM_EXYNOS=y
 CONFIG_DRM_EXYNOS_FIMD=y
 CONFIG_DRM_EXYNOS_DSI=y
 CONFIG_DRM_EXYNOS_HDMI=y
 CONFIG_DRM_PANEL_SIMPLE=y
 CONFIG_DRM_PANEL_SAMSUNG_S6E8AA0=y
+CONFIG_DRM_NXP_PTN3460=y
+CONFIG_DRM_PARADE_PS8622=y

Moving these DRM bridge symbols to match savedefconfig is ok IMHO.

Quoted 13 lines
arch/arm/configs/exynos_defconfig +0 -1
 CONFIG_FB_SIMPLE=y
 CONFIG_EXYNOS_VIDEO=y
 CONFIG_EXYNOS_MIPI_DSI=y
@@ -175,7 +173,6 @@ CONFIG_RTC_DRV_S5M=y
 CONFIG_RTC_DRV_S3C=y
 CONFIG_DMADEVICES=y
 CONFIG_PL330_DMA=y
-CONFIG_CHROME_PLATFORMS=y
 CONFIG_CROS_EC_CHARDEV=y
 CONFIG_COMMON_CLK_MAX77686=y
 CONFIG_COMMON_CLK_MAX77802=y

arch/arm/configs/exynos_defconfig CONFIG_PWM_SAMSUNG=y · line 192

Quoted 7 lines
arch/arm/configs/exynos_defconfig +0 -1
@@ -190,7 +187,6 @@ CONFIG_PWM_SAMSUNG=y
 CONFIG_PHY_EXYNOS5250_SATA=y
 CONFIG_EXT2_FS=y
 CONFIG_EXT3_FS=y
-CONFIG_EXT4_FS=y
 CONFIG_MSDOS_FS=y
 CONFIG_VFAT_FS=y
 CONFIG_TMPFS=y

Same comment than above, I would prefer these to be split.

Best regards,

Signature · 3 lines
Javier Martinez Canillas
Open Source Group
Samsung Research America
#16 lore raw

PATCH 5/7 ARM: exynos_defconfig: Normalize exynos defconfig

Hi Javier,

Quoted 11 lines · Javier Martinez Canillas

Hello Alim,

Quoted 5 lines · Alim Akhtar

make savedefconfig result in some difference, lets normalize the defconfig.

---

Did you make savedefconfig against v4.3-rc6 or tot linux-next?

These are based on v4.3-rc5.

Quoted 5 lines

I remember we had issues in the past due savedefconfig made against linux-next but then some of the patches in linux-next not making it to the next release. So I think it should be good to mention what's the base used for this patch.

Ah, ok I didn't follow that, will check again on Linux-next as well as on 4.3-rc5

Quoted 20 lines
Quoted 8 lines
 arch/arm/configs/exynos_defconfig |    8 ++------
 1 file changed, 2 insertions(+), 6 deletions(-)
arch/arm/configs/exynos_defconfig +0 -0
index 1ff2bfa2e183..3349713e6c63 100644

arch/arm/configs/exynos_defconfig CONFIG_SENSORS_LM90=y · line 105

Quoted 7 lines
arch/arm/configs/exynos_defconfig +0 -2
@@ -99,10 +99,8 @@ CONFIG_SENSORS_LM90=y
 CONFIG_SENSORS_NTC_THERMISTOR=y
 CONFIG_SENSORS_PWM_FAN=y
 CONFIG_SENSORS_INA2XX=y
-CONFIG_THERMAL=y
 CONFIG_CPU_THERMAL=y
 CONFIG_THERMAL_EMULATION=y
-CONFIG_EXYNOS_THERMAL=y

I would prefer to split all the changes that removes symbols into a separate patch explaining why these are not needed anymore (i.e: it is selected now by symbol $foo).

Ok ..let me rebase my patches and check these config changes again....

Quoted 52 lines
Quoted 7 lines
arch/arm/configs/exynos_defconfig +0 -0
 CONFIG_WATCHDOG=y
 CONFIG_S3C2410_WATCHDOG=y
 CONFIG_MFD_CROS_EC=y
@@ -127,14 +125,14 @@ CONFIG_REGULATOR_S2MPS11=y
 CONFIG_REGULATOR_S5M8767=y
 CONFIG_REGULATOR_TPS65090=y
 CONFIG_DRM=y

arch/arm/configs/exynos_defconfig CONFIG_REGULATOR_S2MPS11=y · line 135

Quoted 10 lines
arch/arm/configs/exynos_defconfig +2 -2
-CONFIG_DRM_NXP_PTN3460=y
-CONFIG_DRM_PARADE_PS8622=y
 CONFIG_DRM_EXYNOS=y
 CONFIG_DRM_EXYNOS_FIMD=y
 CONFIG_DRM_EXYNOS_DSI=y
 CONFIG_DRM_EXYNOS_HDMI=y
 CONFIG_DRM_PANEL_SIMPLE=y
 CONFIG_DRM_PANEL_SAMSUNG_S6E8AA0=y
+CONFIG_DRM_NXP_PTN3460=y
+CONFIG_DRM_PARADE_PS8622=y

Moving these DRM bridge symbols to match savedefconfig is ok IMHO.

Quoted 13 lines
arch/arm/configs/exynos_defconfig +0 -1
 CONFIG_FB_SIMPLE=y
 CONFIG_EXYNOS_VIDEO=y
 CONFIG_EXYNOS_MIPI_DSI=y
@@ -175,7 +173,6 @@ CONFIG_RTC_DRV_S5M=y
 CONFIG_RTC_DRV_S3C=y
 CONFIG_DMADEVICES=y
 CONFIG_PL330_DMA=y
-CONFIG_CHROME_PLATFORMS=y
 CONFIG_CROS_EC_CHARDEV=y
 CONFIG_COMMON_CLK_MAX77686=y
 CONFIG_COMMON_CLK_MAX77802=y

arch/arm/configs/exynos_defconfig CONFIG_PWM_SAMSUNG=y · line 192

Quoted 7 lines
arch/arm/configs/exynos_defconfig +0 -1
@@ -190,7 +187,6 @@ CONFIG_PWM_SAMSUNG=y
 CONFIG_PHY_EXYNOS5250_SATA=y
 CONFIG_EXT2_FS=y
 CONFIG_EXT3_FS=y
-CONFIG_EXT4_FS=y
 CONFIG_MSDOS_FS=y
 CONFIG_VFAT_FS=y
 CONFIG_TMPFS=y

Same comment than above, I would prefer these to be split.

Best regards,
--
Javier Martinez Canillas
Open Source Group
Samsung Research America
--
To unsubscribe from this list: send the line "unsubscribe linux-samsung-soc" in the body of a message to majordomo at vger.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html

Signature · 2 lines
Regards,
Alim
#17 lore raw

PATCH 5/7 ARM: exynos_defconfig: Normalize exynos defconfig

Hello Alim,

Quoted 15 lines · Alim Akhtar

Hi Javier,

Quoted 11 lines · Javier Martinez Canillas

Hello Alim,

Quoted 5 lines · Alim Akhtar

make savedefconfig result in some difference, lets normalize the defconfig.

---

Did you make savedefconfig against v4.3-rc6 or tot linux-next?

Quoted 8 lines

These are based on v4.3-rc5.

Quoted 5 lines

I remember we had issues in the past due savedefconfig made against linux-next but then some of the patches in linux-next not making it to the next release. So I think it should be good to mention what's the base used for this patch.

Ah, ok I didn't follow that, will check again on Linux-next as well as

IIRC the problem was in that case that a patch was adding a new select that made the symbol not necessary in the defconfig. So a patch against linux-next was posted removing the unneeded symbol but at the end the select patch didn't make it to the release but the one removing the symbol did.

Quoted 2 lines

on 4.3-rc5

OK, using 4.3-rcX should be safe AFAICT.

Quoted 20 lines
Quoted 20 lines
Quoted 8 lines
 arch/arm/configs/exynos_defconfig |    8 ++------
 1 file changed, 2 insertions(+), 6 deletions(-)
arch/arm/configs/exynos_defconfig +0 -0
index 1ff2bfa2e183..3349713e6c63 100644

arch/arm/configs/exynos_defconfig CONFIG_SENSORS_LM90=y · line 105

Quoted 7 lines
arch/arm/configs/exynos_defconfig +0 -2
@@ -99,10 +99,8 @@ CONFIG_SENSORS_LM90=y
 CONFIG_SENSORS_NTC_THERMISTOR=y
 CONFIG_SENSORS_PWM_FAN=y
 CONFIG_SENSORS_INA2XX=y
-CONFIG_THERMAL=y
 CONFIG_CPU_THERMAL=y
 CONFIG_THERMAL_EMULATION=y
-CONFIG_EXYNOS_THERMAL=y

I would prefer to split all the changes that removes symbols into a separate patch explaining why these are not needed anymore (i.e: it is selected now by symbol $foo).

Quoted 1 line

Ok ..let me rebase my patches and check these config changes again....

Thanks, the changes looks good to me though so please feel free to add my Reviewed-by tag if you re-spin and split the changes.

Best regards,

Signature · 3 lines
Javier Martinez Canillas
Open Source Group
Samsung Research America
author reviewer
#18 lore raw

PATCH 6/7 ARM: exynos_defconfig: Enable generic syscon-{reboot, poweroff} drivers

In reply to Alim Akhtar

Enable CONFIG_POWER_RESET_SYSCON and CONFIG_POWER_RESET_SYSCON_POWEROFF to allow exynos SoC to make use of generic syscon based reboot/poweroff drivers.

---
 arch/arm/configs/exynos_defconfig |    3 +++
 1 file changed, 3 insertions(+)
arch/arm/configs/exynos_defconfig +3 -0
index 3349713e6c63..cbc2e96b76a3 100644
@@ -95,6 +95,9 @@ CONFIG_BATTERY_MAX17042=y
 CONFIG_CHARGER_MAX14577=y
 CONFIG_CHARGER_MAX77693=y
 CONFIG_CHARGER_TPS65090=y
+CONFIG_POWER_RESET=y
+CONFIG_POWER_RESET_SYSCON=y
+CONFIG_POWER_RESET_SYSCON_POWEROFF=y
 CONFIG_SENSORS_LM90=y
 CONFIG_SENSORS_NTC_THERMISTOR=y
 CONFIG_SENSORS_PWM_FAN=y
Signature · 1 line
1.7.10.4
author reviewer
#19 lore raw

PATCH 7/7 ARM: EXYNOS: Remove code for restart and poweroff for exynos SoCs

In reply to Alim Akhtar

Now we can use the generic syscon-{reboot/poweroff} drivers, so we don't need special handling for reboot/poweroff in exynos pmu driver. This patch remove the same.

---
 arch/arm/mach-exynos/pmu.c |   43 -------------------------------------------
 1 file changed, 43 deletions(-)
arch/arm/mach-exynos/pmu.c +0 -43
index de68938ee6aa..393c04aa727e 100644
@@ -14,9 +14,6 @@
 #include <linux/of_address.h>
 #include <linux/platform_device.h>
 #include <linux/delay.h>
-#include <linux/notifier.h>
-#include <linux/reboot.h>
-
 
 #include "exynos-pmu.h"
 #include "regs-pmu.h"
@@ -681,23 +678,6 @@ static unsigned int const exynos5420_list_disable_pmu_reg[] = {
 	EXYNOS5420_CMU_RESET_FSYS_SYS_PWR_REG,
 };
 
-static void exynos_power_off(void)
-{
-	unsigned int tmp;
-
-	pr_info("Power down.\n");
-	tmp = pmu_raw_readl(EXYNOS_PS_HOLD_CONTROL);
-	tmp ^= (1 << 8);
-	pmu_raw_writel(tmp, EXYNOS_PS_HOLD_CONTROL);
-
-	/* Wait a little so we don't give a false warning below */
-	mdelay(100);
-
-	pr_err("Power down failed, please power off system manually.\n");
-	while (1)
-		;
-}
-
 static void exynos5420_powerdown_conf(enum sys_powerdown mode)
 {
 	u32 this_cluster;
@@ -875,14 +855,6 @@ static void exynos5420_pmu_init(void)
 	pr_info("EXYNOS5420 PMU initialized\n");
 }
 
-static int pmu_restart_notify(struct notifier_block *this,
-		unsigned long code, void *unused)
-{
-	pmu_raw_writel(0x1, EXYNOS_SWRESET);
-
-	return NOTIFY_DONE;
-}
-
 static const struct exynos_pmu_data exynos3250_pmu_data = {
 	.pmu_config	= exynos3250_pmu_config,
 	.pmu_init	= exynos3250_pmu_init,
@@ -940,20 +912,11 @@ static const struct of_device_id exynos_pmu_of_device_ids[] = {
 	{ /*sentinel*/ },
 };
 
-/*
- * Exynos PMU restart notifier, handles restart functionality
- */
-static struct notifier_block pmu_restart_handler = {
-	.notifier_call = pmu_restart_notify,
-	.priority = 128,
-};
-
 static int exynos_pmu_probe(struct platform_device *pdev)
 {
 	const struct of_device_id *match;
 	struct device *dev = &pdev->dev;
 	struct resource *res;
-	int ret;
 
 	res = platform_get_resource(pdev, IORESOURCE_MEM, 0);
 	pmu_base_addr = devm_ioremap_resource(dev, res);
@@ -978,12 +941,6 @@ static int exynos_pmu_probe(struct platform_device *pdev)
 
 	platform_set_drvdata(pdev, pmu_context);
 
-	ret = register_restart_handler(&pmu_restart_handler);
-	if (ret)
-		dev_warn(dev, "can't register restart handler err=%d\n", ret);
-
-	pm_power_off = exynos_power_off;
-
 	dev_dbg(dev, "Exynos PMU Driver probe done\n");
 	return 0;
 }
Signature · 1 line
1.7.10.4
#20 lore raw

PATCH 7/7 ARM: EXYNOS: Remove code for restart and poweroff for exynos SoCs

Quoted 8 lines · Alim Akhtar

Now we can use the generic syscon-{reboot/poweroff} drivers, so we don't need special handling for reboot/poweroff in exynos pmu driver. This patch remove the same.

---
 arch/arm/mach-exynos/pmu.c |   43 -------------------------------------------
 1 file changed, 43 deletions(-)

I think that removal of this stuff will effectively remove the restart/poweroff handlers from:
1. Other defconfigs, like multi_v7
2. Custom configs.

Previously this code was always compiled in for ARCH_EXYNOS. Now it is not so I am thinking about selecting necessary drivers from main exynos Kconfig symbol. That could be tricky though, because "select" should be used only for non-visible symbols.

Any ideas how to solve that?

Best regards,
Krzysztof

Quoted 89 lines
arch/arm/mach-exynos/pmu.c +0 -43
index de68938ee6aa..393c04aa727e 100644
@@ -14,9 +14,6 @@
 #include <linux/of_address.h>
 #include <linux/platform_device.h>
 #include <linux/delay.h>
-#include <linux/notifier.h>
-#include <linux/reboot.h>
-
 
 #include "exynos-pmu.h"
 #include "regs-pmu.h"
@@ -681,23 +678,6 @@ static unsigned int const exynos5420_list_disable_pmu_reg[] = {
 	EXYNOS5420_CMU_RESET_FSYS_SYS_PWR_REG,
 };
 
-static void exynos_power_off(void)
-{
-	unsigned int tmp;
-
-	pr_info("Power down.\n");
-	tmp = pmu_raw_readl(EXYNOS_PS_HOLD_CONTROL);
-	tmp ^= (1 << 8);
-	pmu_raw_writel(tmp, EXYNOS_PS_HOLD_CONTROL);
-
-	/* Wait a little so we don't give a false warning below */
-	mdelay(100);
-
-	pr_err("Power down failed, please power off system manually.\n");
-	while (1)
-		;
-}
-
 static void exynos5420_powerdown_conf(enum sys_powerdown mode)
 {
 	u32 this_cluster;
@@ -875,14 +855,6 @@ static void exynos5420_pmu_init(void)
 	pr_info("EXYNOS5420 PMU initialized\n");
 }
 
-static int pmu_restart_notify(struct notifier_block *this,
-		unsigned long code, void *unused)
-{
-	pmu_raw_writel(0x1, EXYNOS_SWRESET);
-
-	return NOTIFY_DONE;
-}
-
 static const struct exynos_pmu_data exynos3250_pmu_data = {
 	.pmu_config	= exynos3250_pmu_config,
 	.pmu_init	= exynos3250_pmu_init,
@@ -940,20 +912,11 @@ static const struct of_device_id exynos_pmu_of_device_ids[] = {
 	{ /*sentinel*/ },
 };
 
-/*
- * Exynos PMU restart notifier, handles restart functionality
- */
-static struct notifier_block pmu_restart_handler = {
-	.notifier_call = pmu_restart_notify,
-	.priority = 128,
-};
-
 static int exynos_pmu_probe(struct platform_device *pdev)
 {
 	const struct of_device_id *match;
 	struct device *dev = &pdev->dev;
 	struct resource *res;
-	int ret;
 
 	res = platform_get_resource(pdev, IORESOURCE_MEM, 0);
 	pmu_base_addr = devm_ioremap_resource(dev, res);
@@ -978,12 +941,6 @@ static int exynos_pmu_probe(struct platform_device *pdev)
 
 	platform_set_drvdata(pdev, pmu_context);
 
-	ret = register_restart_handler(&pmu_restart_handler);
-	if (ret)
-		dev_warn(dev, "can't register restart handler err=%d\n", ret);
-
-	pm_power_off = exynos_power_off;
-
 	dev_dbg(dev, "Exynos PMU Driver probe done\n");
 	return 0;
 }
author reviewer
#21 lore raw

PATCH 7/7 ARM: EXYNOS: Remove code for restart and poweroff for exynos SoCs

Hello Krzysztof,

Quoted 10 lines · Krzysztof Kozlowski
Quoted 8 lines · Alim Akhtar

Now we can use the generic syscon-{reboot/poweroff} drivers, so we don't need special handling for reboot/poweroff in exynos pmu driver. This patch remove the same.

---
  arch/arm/mach-exynos/pmu.c |   43 -------------------------------------------
  1 file changed, 43 deletions(-)
Quoted 5 lines

I think that removal of this stuff will effectively remove the restart/poweroff handlers from:
1. Other defconfigs, like multi_v7
2. Custom configs.

Well, I did have a plan to enable it on multi_v7
Not sure about other custom configs, if there are some, they should also enable it I feel.

Quoted 5 lines

Previously this code was always compiled in for ARCH_EXYNOS. Now it is not so I am thinking about selecting necessary drivers from main exynos Kconfig symbol. That could be tricky though, because "select" should be used only for non-visible symbols.

Probably adding these to mach-exynos/Kconfig as a "select" will do.

Quoted 96 lines

Any ideas how to solve that?

Best regards,
Krzysztof

Quoted 89 lines
arch/arm/mach-exynos/pmu.c +0 -43
index de68938ee6aa..393c04aa727e 100644
@@ -14,9 +14,6 @@
  #include <linux/of_address.h>
  #include <linux/platform_device.h>
  #include <linux/delay.h>
-#include <linux/notifier.h>
-#include <linux/reboot.h>
-
 
  #include "exynos-pmu.h"
  #include "regs-pmu.h"
@@ -681,23 +678,6 @@ static unsigned int const exynos5420_list_disable_pmu_reg[] = {
  	EXYNOS5420_CMU_RESET_FSYS_SYS_PWR_REG,
  };
 
-static void exynos_power_off(void)
-{
-	unsigned int tmp;
-
-	pr_info("Power down.\n");
-	tmp = pmu_raw_readl(EXYNOS_PS_HOLD_CONTROL);
-	tmp ^= (1 << 8);
-	pmu_raw_writel(tmp, EXYNOS_PS_HOLD_CONTROL);
-
-	/* Wait a little so we don't give a false warning below */
-	mdelay(100);
-
-	pr_err("Power down failed, please power off system manually.\n");
-	while (1)
-		;
-}
-
  static void exynos5420_powerdown_conf(enum sys_powerdown mode)
  {
  	u32 this_cluster;
@@ -875,14 +855,6 @@ static void exynos5420_pmu_init(void)
  	pr_info("EXYNOS5420 PMU initialized\n");
  }
 
-static int pmu_restart_notify(struct notifier_block *this,
-		unsigned long code, void *unused)
-{
-	pmu_raw_writel(0x1, EXYNOS_SWRESET);
-
-	return NOTIFY_DONE;
-}
-
  static const struct exynos_pmu_data exynos3250_pmu_data = {
  	.pmu_config	= exynos3250_pmu_config,
  	.pmu_init	= exynos3250_pmu_init,
@@ -940,20 +912,11 @@ static const struct of_device_id exynos_pmu_of_device_ids[] = {
  	{ /*sentinel*/ },
  };
 
-/*
- * Exynos PMU restart notifier, handles restart functionality
- */
-static struct notifier_block pmu_restart_handler = {
-	.notifier_call = pmu_restart_notify,
-	.priority = 128,
-};
-
  static int exynos_pmu_probe(struct platform_device *pdev)
  {
  	const struct of_device_id *match;
  	struct device *dev = &pdev->dev;
  	struct resource *res;
-	int ret;
 
  	res = platform_get_resource(pdev, IORESOURCE_MEM, 0);
  	pmu_base_addr = devm_ioremap_resource(dev, res);
@@ -978,12 +941,6 @@ static int exynos_pmu_probe(struct platform_device *pdev)
 
  	platform_set_drvdata(pdev, pmu_context);
 
-	ret = register_restart_handler(&pmu_restart_handler);
-	if (ret)
-		dev_warn(dev, "can't register restart handler err=%d\n", ret);
-
-	pm_power_off = exynos_power_off;
-
  	dev_dbg(dev, "Exynos PMU Driver probe done\n");
  	return 0;
  }
#22 lore raw

PATCH 7/7 ARM: EXYNOS: Remove code for restart and poweroff for exynos SoCs

In reply to Krzysztof Kozlowski

Hello,

Quoted 10 lines · Krzysztof Kozlowski
Quoted 8 lines · Alim Akhtar

Now we can use the generic syscon-{reboot/poweroff} drivers, so we don't need special handling for reboot/poweroff in exynos pmu driver. This patch remove the same.

---
 arch/arm/mach-exynos/pmu.c |   43 -------------------------------------------
 1 file changed, 43 deletions(-)
Quoted 5 lines

I think that removal of this stuff will effectively remove the restart/poweroff handlers from:
1. Other defconfigs, like multi_v7
2. Custom configs.

This will also break old DTBs that don't have a "syscon-poweroff" device node that contains the necessary PMU regmap, offset and mask information.

Quoted 7 lines

Previously this code was always compiled in for ARCH_EXYNOS. Now it is not so I am thinking about selecting necessary drivers from main exynos Kconfig symbol. That could be tricky though, because "select" should be used only for non-visible symbols.

Any ideas how to solve that?

Is true that select should only be used for non-visible symbols but there are others user visible symbols that are selected by ARCH_EXYNOS such as EXYNOS_THERMAL. So I think selecting the regmap syscon reset stuff there is a sensible option.

Quoted 3 lines

Best regards,
Krzysztof

Best regards,

Signature · 3 lines
Javier Martinez Canillas
Open Source Group
Samsung Research America
author reviewer
#23 lore raw

PATCH 7/7 ARM: EXYNOS: Remove code for restart and poweroff for exynos SoCs

Quoted 27 lines · Javier Martinez Canillas

Hello,

Quoted 10 lines · Krzysztof Kozlowski
Quoted 8 lines · Alim Akhtar

Now we can use the generic syscon-{reboot/poweroff} drivers, so we don't need special handling for reboot/poweroff in exynos pmu driver. This patch remove the same.

---
  arch/arm/mach-exynos/pmu.c |   43 -------------------------------------------
  1 file changed, 43 deletions(-)
Quoted 5 lines

I think that removal of this stuff will effectively remove the restart/poweroff handlers from:
1. Other defconfigs, like multi_v7
2. Custom configs.

This will also break old DTBs that don't have a "syscon-poweroff" device node that contains the necessary PMU regmap, offset and mask information.

Quoted 5 lines

Previously this code was always compiled in for ARCH_EXYNOS. Now it is not so I am thinking about selecting necessary drivers from main exynos Kconfig symbol. That could be tricky though, because "select" should be used only for non-visible symbols.

Quoted 8 lines
Quoted 2 lines

Any ideas how to solve that?

Is true that select should only be used for non-visible symbols but there are others user visible symbols that are selected by ARCH_EXYNOS such as EXYNOS_THERMAL. So I think selecting the regmap syscon reset stuff there is a sensible option.

Yes, another example is MFD_SYSYCON which is selected from Kconfig. Also CONFIG_POWER_RESET_SYSCON is enable in arch/arm64/config/defconfig. So both approaches are taken here.
will go with maintainer suggestion here.

Quoted 6 lines
Quoted 3 lines

Best regards,
Krzysztof

Best regards,

#24 lore raw

PATCH 7/7 ARM: EXYNOS: Remove code for restart and poweroff for exynos SoCs

In reply to Javier Martinez Canillas

2015-10-19 18:56 GMT+09:00 Javier Martinez Canillas <[email protected]>:

Quoted 13 lines

Hello,

Quoted 10 lines · Krzysztof Kozlowski
Quoted 8 lines · Alim Akhtar

Now we can use the generic syscon-{reboot/poweroff} drivers, so we don't need special handling for reboot/poweroff in exynos pmu driver. This patch remove the same.

---
 arch/arm/mach-exynos/pmu.c |   43 -------------------------------------------
 1 file changed, 43 deletions(-)
Quoted 8 lines
Quoted 5 lines

I think that removal of this stuff will effectively remove the restart/poweroff handlers from:
1. Other defconfigs, like multi_v7
2. Custom configs.

This will also break old DTBs that don't have a "syscon-poweroff" device node that contains the necessary PMU regmap, offset and mask information.

I am not sure whether this is ABI break issue. There was no compatible mentioning that "reset works" which now would be replaced. The existing PMU compatible (like samsung,exynos4412-pmu) does not mention "reset" as a feature coming with this compatible.

So no ABI break.

Quoted 6 lines
Quoted 6 lines

Previously this code was always compiled in for ARCH_EXYNOS. Now it is not so I am thinking about selecting necessary drivers from main exynos Kconfig symbol. That could be tricky though, because "select" should be used only for non-visible symbols.

Quoted 7 lines
Quoted 2 lines

Any ideas how to solve that?

Is true that select should only be used for non-visible symbols but there are others user visible symbols that are selected by ARCH_EXYNOS such as EXYNOS_THERMAL. So I think selecting the regmap syscon reset stuff there is a sensible option.

Selecting from defconfig is not sufficient... since I do not have other idea than selecting then ovak, but Alim please check it whether it does not create circular dependencies on various configs.

Best regards,
Krzysztof

#25 lore raw

PATCH 7/7 ARM: EXYNOS: Remove code for restart and poweroff for exynos SoCs

Hello Krzysztof,

Quoted 23 lines · Krzysztof Kozlowski

2015-10-19 18:56 GMT+09:00 Javier Martinez Canillas <[email protected]>:

Quoted 13 lines

Hello,

Quoted 10 lines · Krzysztof Kozlowski
Quoted 8 lines · Alim Akhtar

Now we can use the generic syscon-{reboot/poweroff} drivers, so we don't need special handling for reboot/poweroff in exynos pmu driver. This patch remove the same.

---
 arch/arm/mach-exynos/pmu.c |   43 -------------------------------------------
 1 file changed, 43 deletions(-)
Quoted 8 lines
Quoted 5 lines

I think that removal of this stuff will effectively remove the restart/poweroff handlers from:
1. Other defconfigs, like multi_v7
2. Custom configs.

This will also break old DTBs that don't have a "syscon-poweroff" device node that contains the necessary PMU regmap, offset and mask information.

Quoted 8 lines

I am not sure whether this is ABI break issue. There was no compatible mentioning that "reset works" which now would be replaced. The existing PMU compatible (like samsung,exynos4412-pmu) does not mention "reset" as a feature coming with this compatible.

So no ABI break.

I deliberately didn't use the "DT ABI break" expression since as you said is not part of the documented DT bindings. But what I said is that this change will break old DTBs with newer kernels since reboot and power off will stop working after $SUBJECT.

I'm not a particular fan of the stable DT idea since in practice it seems to do more harm than good but since that was decided, the expectation for users is that booting a new kernel with an old DT should not cause any regression.

So I think that at least a comment in the commit message is needed so if there are people really using old DTs with newer kernels on Exynos boards, they can know that the commit causes such an issue instead of having to figure it out themselves.

Quoted 9 lines
Quoted 9 lines
Quoted 8 lines

Previously this code was always compiled in for ARCH_EXYNOS. Now it is not so I am thinking about selecting necessary drivers from main exynos Kconfig symbol. That could be tricky though, because "select" should be used only for non-visible symbols.

Any ideas how to solve that?

Quoted 9 lines
Quoted 4 lines

Is true that select should only be used for non-visible symbols but there are others user visible symbols that are selected by ARCH_EXYNOS such as EXYNOS_THERMAL. So I think selecting the regmap syscon reset stuff there is a sensible option.

Selecting from defconfig is not sufficient... since I do not have other idea than selecting then ovak, but Alim please check it whether it does not create circular dependencies on various configs.

Agreed, Kconfig circular dependencies is the reason why select is avoided. Fortunately now the 0-day bot analyzes even posted patches so it's possible that such an issue could be found even before these patches are merged.

Quoted 3 lines

Best regards,
Krzysztof

Best regards,

Signature · 3 lines
Javier Martinez Canillas
Open Source Group
Samsung Research America
#26 lore raw

PATCH 7/7 ARM: EXYNOS: Remove code for restart and poweroff for exynos SoCs

Hi Javier,

Quoted 40 lines · Javier Martinez Canillas

Hello Krzysztof,

Quoted 23 lines · Krzysztof Kozlowski

2015-10-19 18:56 GMT+09:00 Javier Martinez Canillas <[email protected]>:

Quoted 13 lines

Hello,

Quoted 10 lines · Krzysztof Kozlowski
Quoted 8 lines · Alim Akhtar

Now we can use the generic syscon-{reboot/poweroff} drivers, so we don't need special handling for reboot/poweroff in exynos pmu driver. This patch remove the same.

---
 arch/arm/mach-exynos/pmu.c |   43 -------------------------------------------
 1 file changed, 43 deletions(-)
Quoted 8 lines
Quoted 5 lines

I think that removal of this stuff will effectively remove the restart/poweroff handlers from:
1. Other defconfigs, like multi_v7
2. Custom configs.

This will also break old DTBs that don't have a "syscon-poweroff" device node that contains the necessary PMU regmap, offset and mask information.

Quoted 8 lines

I am not sure whether this is ABI break issue. There was no compatible mentioning that "reset works" which now would be replaced. The existing PMU compatible (like samsung,exynos4412-pmu) does not mention "reset" as a feature coming with this compatible.

So no ABI break.

I deliberately didn't use the "DT ABI break" expression since as you said is not part of the documented DT bindings. But what I said is that this change will break old DTBs with newer kernels since reboot and power off will stop working after $SUBJECT.

Quoted 9 lines

I'm not a particular fan of the stable DT idea since in practice it seems to do more harm than good but since that was decided, the expectation for users is that booting a new kernel with an old DT should not cause any regression.

So I think that at least a comment in the commit message is needed so if there are people really using old DTs with newer kernels on Exynos boards, they can know that the commit causes such an issue instead of having to figure it out themselves.

Agree, will add a comment about this in commit message.

Quoted 14 lines
Quoted 14 lines
Quoted 13 lines
Quoted 8 lines

Previously this code was always compiled in for ARCH_EXYNOS. Now it is not so I am thinking about selecting necessary drivers from main exynos Kconfig symbol. That could be tricky though, because "select" should be used only for non-visible symbols.

Any ideas how to solve that?

Is true that select should only be used for non-visible symbols but there are others user visible symbols that are selected by ARCH_EXYNOS such as EXYNOS_THERMAL. So I think selecting the regmap syscon reset stuff there is a sensible option.

Quoted 9 lines
Quoted 4 lines

Selecting from defconfig is not sufficient... since I do not have other idea than selecting then ovak, but Alim please check it whether it does not create circular dependencies on various configs.

Agreed, Kconfig circular dependencies is the reason why select is avoided. Fortunately now the 0-day bot analyzes even posted patches so it's possible that such an issue could be found even before these patches are merged.

ok..will select it from mach-exynos/Kconfig.
Thanks.

Quoted 13 lines
Quoted 3 lines

Best regards,
Krzysztof

Best regards,
--
Javier Martinez Canillas
Open Source Group
Samsung Research America
--
To unsubscribe from this list: send the line "unsubscribe linux-samsung-soc" in the body of a message to majordomo at vger.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html

Signature · 2 lines
Regards,
Alim
#27 lore raw

PATCH 7/7 ARM: EXYNOS: Remove code for restart and poweroff for exynos SoCs

Hello Alim,

Quoted 48 lines · Alim Akhtar

Hi Javier,

Quoted 44 lines · Javier Martinez Canillas

Hello Krzysztof,

Quoted 23 lines · Krzysztof Kozlowski

2015-10-19 18:56 GMT+09:00 Javier Martinez Canillas <[email protected]>:

Quoted 13 lines

Hello,

Quoted 10 lines · Krzysztof Kozlowski
Quoted 8 lines · Alim Akhtar

Now we can use the generic syscon-{reboot/poweroff} drivers, so we don't need special handling for reboot/poweroff in exynos pmu driver. This patch remove the same.

---
 arch/arm/mach-exynos/pmu.c |   43 -------------------------------------------
 1 file changed, 43 deletions(-)
Quoted 8 lines
Quoted 5 lines

I think that removal of this stuff will effectively remove the restart/poweroff handlers from:
1. Other defconfigs, like multi_v7
2. Custom configs.

This will also break old DTBs that don't have a "syscon-poweroff" device node that contains the necessary PMU regmap, offset and mask information.

Quoted 8 lines

I am not sure whether this is ABI break issue. There was no compatible mentioning that "reset works" which now would be replaced. The existing PMU compatible (like samsung,exynos4412-pmu) does not mention "reset" as a feature coming with this compatible.

So no ABI break.

I deliberately didn't use the "DT ABI break" expression since as you said is not part of the documented DT bindings. But what I said is that this change will break old DTBs with newer kernels since reboot and power off will stop working after $SUBJECT.

I'm not a particular fan of the stable DT idea since in practice it seems to do more harm than good but since that was decided, the expectation for users is that booting a new kernel with an old DT should not cause any regression.

Quoted 7 lines
Quoted 5 lines

So I think that at least a comment in the commit message is needed so if there are people really using old DTs with newer kernels on Exynos boards, they can know that the commit causes such an issue instead of having to figure it out themselves.

Agree, will add a comment about this in commit message.

Thanks, with that comment in the commit message, feel free to add my Reviewed-by tag to this patch as well.

Quoted 19 lines
Quoted 19 lines
Quoted 18 lines
Quoted 6 lines
Quoted 6 lines

Previously this code was always compiled in for ARCH_EXYNOS. Now it is not so I am thinking about selecting necessary drivers from main exynos Kconfig symbol. That could be tricky though, because "select" should be used only for non-visible symbols.

Quoted 7 lines
Quoted 2 lines

Any ideas how to solve that?

Is true that select should only be used for non-visible symbols but there are others user visible symbols that are selected by ARCH_EXYNOS such as EXYNOS_THERMAL. So I think selecting the regmap syscon reset stuff there is a sensible option.

Selecting from defconfig is not sufficient... since I do not have other idea than selecting then ovak, but Alim please check it whether it does not create circular dependencies on various configs.

Quoted 7 lines
Quoted 4 lines

Agreed, Kconfig circular dependencies is the reason why select is avoided. Fortunately now the 0-day bot analyzes even posted patches so it's possible that such an issue could be found even before these patches are merged.

ok..will select it from mach-exynos/Kconfig.
Thanks.

Ok, great.

Best regards,

Signature · 3 lines
Javier Martinez Canillas
Open Source Group
Samsung Research America
#28 lore raw

PATCH 7/7 ARM: EXYNOS: Remove code for restart and poweroff for exynos SoCs

In reply to Krzysztof Kozlowski

Hi krzysztof,

Quoted 23 lines · Krzysztof Kozlowski

2015-10-19 18:56 GMT+09:00 Javier Martinez Canillas <[email protected]>:

Quoted 13 lines

Hello,

Quoted 10 lines · Krzysztof Kozlowski
Quoted 8 lines · Alim Akhtar

Now we can use the generic syscon-{reboot/poweroff} drivers, so we don't need special handling for reboot/poweroff in exynos pmu driver. This patch remove the same.

---
 arch/arm/mach-exynos/pmu.c |   43 -------------------------------------------
 1 file changed, 43 deletions(-)
Quoted 8 lines
Quoted 5 lines

I think that removal of this stuff will effectively remove the restart/poweroff handlers from:
1. Other defconfigs, like multi_v7
2. Custom configs.

This will also break old DTBs that don't have a "syscon-poweroff" device node that contains the necessary PMU regmap, offset and mask information.

Quoted 7 lines

I am not sure whether this is ABI break issue. There was no compatible mentioning that "reset works" which now would be replaced. The existing PMU compatible (like samsung,exynos4412-pmu) does not mention "reset" as a feature coming with this compatible.

So no ABI break.

You are right, there is no DT ABI break here.

Quoted 10 lines
Quoted 10 lines
Quoted 9 lines

Previously this code was always compiled in for ARCH_EXYNOS. Now it is not so I am thinking about selecting necessary drivers from main exynos Kconfig symbol. That could be tricky though, because "select" should be used only for non-visible symbols.

Any ideas how to solve that?

Quoted 9 lines
Quoted 4 lines

Is true that select should only be used for non-visible symbols but there are others user visible symbols that are selected by ARCH_EXYNOS such as EXYNOS_THERMAL. So I think selecting the regmap syscon reset stuff there is a sensible option.

Selecting from defconfig is not sufficient... since I do not have other idea than selecting then ovak, but Alim please check it whether it does not create circular dependencies on various configs.

I checked in multi_v7_defconfig SYSCON_RESET is already enabled by default. so I doubt we are going to run into any circular dependencies, will check again..thanks.

Quoted 6 lines

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

Signature · 2 lines
Regards,
Alim
#29 lore raw

PATCH 7/7 ARM: EXYNOS: Remove code for restart and poweroff for exynos SoCs

Quoted 14 lines · Alim Akhtar
Quoted 14 lines
Quoted 13 lines
Quoted 8 lines

Previously this code was always compiled in for ARCH_EXYNOS. Now it is not so I am thinking about selecting necessary drivers from main exynos Kconfig symbol. That could be tricky though, because "select" should be used only for non-visible symbols.

Any ideas how to solve that?

Is true that select should only be used for non-visible symbols but there are others user visible symbols that are selected by ARCH_EXYNOS such as EXYNOS_THERMAL. So I think selecting the regmap syscon reset stuff there is a sensible option.

Quoted 7 lines
Quoted 4 lines

Selecting from defconfig is not sufficient... since I do not have other idea than selecting then ovak, but Alim please check it whether it does not create circular dependencies on various configs.

I checked in multi_v7_defconfig SYSCON_RESET is already enabled by default. so I doubt we are going to run into any circular dependencies, will check again..thanks.

The circular dependency does not happen when some defconfig selects it. Instead it could happen when some other Kconfig symbol selects such (and there are more dependencies).

So what I am saying here, after adding "select SYSCON_RESET" in mach-exynos/Kconfig, please build configs:
1. allyes
2. allmod,
3. multi_v7,
4. (and of course) exynos.

Best regards,
Krzysztof

#30 lore raw

cover Switch to generic syscon regmap based drivers

In reply to Alim Akhtar

On 19.10.2015 15:03, Alim Akhtar wrote:
...

Hi,

I am happy to see more contributions from your side! Keep it up. :)

However this empty space in your cover letter is the place for description of the patchset. What do you want to achieve here? What kind of problem are you solving? What features are you adding? Any dependencies?

Best regards,
Krzysztof

Quoted 18 lines

Alim Akhtar (7):
arm: dts: Add syscon-{reboot, poweroff} nodes for exynos3250 SoCs
arm: dts: Add syscon-{reboot, poweroff} nodes for exynos4
arm: dts: Add syscon-{reboot, poweroff} nodes for exynos5
arm: dts: Add syscon-{reboot, poweroff} nodes for exynos5410 SoC
ARM: exynos_defconfig: Normalize exynos defconfig
ARM: exynos_defconfig: Enable generic syscon-{reboot, poweroff}
drivers
ARM: EXYNOS: Remove code for restart and poweroff for exynos SoCs

 arch/arm/boot/dts/exynos3250.dtsi |   14 ++++++++++++
 arch/arm/boot/dts/exynos4.dtsi    |   14 ++++++++++++
 arch/arm/boot/dts/exynos5.dtsi    |   14 ++++++++++++
 arch/arm/boot/dts/exynos5410.dtsi |   14 ++++++++++++
 arch/arm/configs/exynos_defconfig |   11 +++++-----
 arch/arm/mach-exynos/pmu.c        |   43 -------------------------------------
 6 files changed, 61 insertions(+), 49 deletions(-)
author reviewer
#31 lore raw

cover Switch to generic syscon regmap based drivers

Quoted 7 lines · Krzysztof Kozlowski

On 19.10.2015 15:03, Alim Akhtar wrote:
...

Hi,

I am happy to see more contributions from your side! Keep it up. :)

Thank you! will keep finding time and doing it.

Quoted 4 lines

However this empty space in your cover letter is the place for description of the patchset. What do you want to achieve here? What kind of problem are you solving? What features are you adding? Any dependencies?

Ah, my bad, I used --compose option with git-send-email and did composed the message, somehow it got missed. Will take care.

The motivation came when I tried to used reboot/poweroff on exynos7, and since exynos7 has not added/enabled PMU and does not have access to arch/arm/mach-exynos, so option are to have a reboot/restart driver or we move pmu.c out of mach-exynos. I know there where some effort in past to move pmu.c to drivers, but I feel that is still WIP.
And then I came across this generic syscon regmap based driver which are already in place, so just used it.
Hope that helps.

Quoted 23 lines

Best regards,
Krzysztof

Quoted 18 lines

Alim Akhtar (7):
arm: dts: Add syscon-{reboot, poweroff} nodes for exynos3250 SoCs
arm: dts: Add syscon-{reboot, poweroff} nodes for exynos4
arm: dts: Add syscon-{reboot, poweroff} nodes for exynos5
arm: dts: Add syscon-{reboot, poweroff} nodes for exynos5410 SoC
ARM: exynos_defconfig: Normalize exynos defconfig
ARM: exynos_defconfig: Enable generic syscon-{reboot, poweroff}
drivers
ARM: EXYNOS: Remove code for restart and poweroff for exynos SoCs

  arch/arm/boot/dts/exynos3250.dtsi |   14 ++++++++++++
  arch/arm/boot/dts/exynos4.dtsi    |   14 ++++++++++++
  arch/arm/boot/dts/exynos5.dtsi    |   14 ++++++++++++
  arch/arm/boot/dts/exynos5410.dtsi |   14 ++++++++++++
  arch/arm/configs/exynos_defconfig |   11 +++++-----
  arch/arm/mach-exynos/pmu.c        |   43 -------------------------------------
  6 files changed, 61 insertions(+), 49 deletions(-)
#32 lore raw

cover Switch to generic syscon regmap based drivers

In reply to Alim Akhtar

Hello Alim,

I tested the Exynos4 bits on a Odroid-X2 and I can confirm that poweroff/reboot (still) work.

With best wishes,
Tobias

Quoted 18 lines · Alim Akhtar

Alim Akhtar (7):
arm: dts: Add syscon-{reboot, poweroff} nodes for exynos3250 SoCs
arm: dts: Add syscon-{reboot, poweroff} nodes for exynos4
arm: dts: Add syscon-{reboot, poweroff} nodes for exynos5
arm: dts: Add syscon-{reboot, poweroff} nodes for exynos5410 SoC
ARM: exynos_defconfig: Normalize exynos defconfig
ARM: exynos_defconfig: Enable generic syscon-{reboot, poweroff}
drivers
ARM: EXYNOS: Remove code for restart and poweroff for exynos SoCs

 arch/arm/boot/dts/exynos3250.dtsi |   14 ++++++++++++
 arch/arm/boot/dts/exynos4.dtsi    |   14 ++++++++++++
 arch/arm/boot/dts/exynos5.dtsi    |   14 ++++++++++++
 arch/arm/boot/dts/exynos5410.dtsi |   14 ++++++++++++
 arch/arm/configs/exynos_defconfig |   11 +++++-----
 arch/arm/mach-exynos/pmu.c        |   43 -------------------------------------
 6 files changed, 61 insertions(+), 49 deletions(-)
#33 lore raw

cover Switch to generic syscon regmap based drivers

Hi Tobias,

Quoted 5 lines · Tobias Jakobi

Hello Alim,

I tested the Exynos4 bits on a Odroid-X2 and I can confirm that poweroff/reboot (still) work.

Thanks for helping out in testing, will add your Tested-by of patch 2/7.

Quoted 28 lines

With best wishes,
Tobias

Quoted 10 lines · Alim Akhtar

Alim Akhtar (7):
arm: dts: Add syscon-{reboot, poweroff} nodes for exynos3250 SoCs
arm: dts: Add syscon-{reboot, poweroff} nodes for exynos4
arm: dts: Add syscon-{reboot, poweroff} nodes for exynos5
arm: dts: Add syscon-{reboot, poweroff} nodes for exynos5410 SoC
ARM: exynos_defconfig: Normalize exynos defconfig
ARM: exynos_defconfig: Enable generic syscon-{reboot, poweroff}
drivers
ARM: EXYNOS: Remove code for restart and poweroff for exynos SoCs

Quoted 8 lines
 arch/arm/boot/dts/exynos3250.dtsi |   14 ++++++++++++
 arch/arm/boot/dts/exynos4.dtsi    |   14 ++++++++++++
 arch/arm/boot/dts/exynos5.dtsi    |   14 ++++++++++++
 arch/arm/boot/dts/exynos5410.dtsi |   14 ++++++++++++
 arch/arm/configs/exynos_defconfig |   11 +++++-----
 arch/arm/mach-exynos/pmu.c        |   43 -------------------------------------
 6 files changed, 61 insertions(+), 49 deletions(-)

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

Signature · 2 lines
Regards,
Alim
#34 lore raw

cover Switch to generic syscon regmap based drivers

In reply to Alim Akhtar
Quoted 18 lines · Alim Akhtar

Alim Akhtar (7):
arm: dts: Add syscon-{reboot, poweroff} nodes for exynos3250 SoCs
arm: dts: Add syscon-{reboot, poweroff} nodes for exynos4
arm: dts: Add syscon-{reboot, poweroff} nodes for exynos5
arm: dts: Add syscon-{reboot, poweroff} nodes for exynos5410 SoC
ARM: exynos_defconfig: Normalize exynos defconfig
ARM: exynos_defconfig: Enable generic syscon-{reboot, poweroff}
drivers
ARM: EXYNOS: Remove code for restart and poweroff for exynos SoCs

 arch/arm/boot/dts/exynos3250.dtsi |   14 ++++++++++++
 arch/arm/boot/dts/exynos4.dtsi    |   14 ++++++++++++
 arch/arm/boot/dts/exynos5.dtsi    |   14 ++++++++++++
 arch/arm/boot/dts/exynos5410.dtsi |   14 ++++++++++++
 arch/arm/configs/exynos_defconfig |   11 +++++-----
 arch/arm/mach-exynos/pmu.c        |   43 -------------------------------------
 6 files changed, 61 insertions(+), 49 deletions(-)
Quoted 6 lines

--
1.7.10.4
--
To unsubscribe from this list: send the line "unsubscribe devicetree" in the body of a message to majordomo at vger.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html

Feel free to add Acked-By: Moritz Fischer <[email protected]> to the patches in your series

Moritz

author reviewer
#35 lore raw

cover Switch to generic syscon regmap based drivers

Hi Moritz,

Quoted 26 lines · Moritz Fischer
Quoted 18 lines · Alim Akhtar

Alim Akhtar (7):
arm: dts: Add syscon-{reboot, poweroff} nodes for exynos3250 SoCs
arm: dts: Add syscon-{reboot, poweroff} nodes for exynos4
arm: dts: Add syscon-{reboot, poweroff} nodes for exynos5
arm: dts: Add syscon-{reboot, poweroff} nodes for exynos5410 SoC
ARM: exynos_defconfig: Normalize exynos defconfig
ARM: exynos_defconfig: Enable generic syscon-{reboot, poweroff}
drivers
ARM: EXYNOS: Remove code for restart and poweroff for exynos SoCs

  arch/arm/boot/dts/exynos3250.dtsi |   14 ++++++++++++
  arch/arm/boot/dts/exynos4.dtsi    |   14 ++++++++++++
  arch/arm/boot/dts/exynos5.dtsi    |   14 ++++++++++++
  arch/arm/boot/dts/exynos5410.dtsi |   14 ++++++++++++
  arch/arm/configs/exynos_defconfig |   11 +++++-----
  arch/arm/mach-exynos/pmu.c        |   43 -------------------------------------
  6 files changed, 61 insertions(+), 49 deletions(-)
Quoted 6 lines

--
1.7.10.4
--
To unsubscribe from this list: send the line "unsubscribe devicetree" in the body of a message to majordomo at vger.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html

Quoted 3 lines

Feel free to add Acked-By: Moritz Fischer <[email protected]> to the patches in your series

Thanks!

Quoted 2 lines

Moritz

#36 lore raw

cover Switch to generic syscon regmap based drivers

In reply to Alim Akhtar

Am 19.10.2015 um 08:03 schrieb Alim Akhtar:

Quoted 10 lines

Alim Akhtar (7):
arm: dts: Add syscon-{reboot, poweroff} nodes for exynos3250 SoCs
arm: dts: Add syscon-{reboot, poweroff} nodes for exynos4
arm: dts: Add syscon-{reboot, poweroff} nodes for exynos5
arm: dts: Add syscon-{reboot, poweroff} nodes for exynos5410 SoC
ARM: exynos_defconfig: Normalize exynos defconfig
ARM: exynos_defconfig: Enable generic syscon-{reboot, poweroff}
drivers
ARM: EXYNOS: Remove code for restart and poweroff for exynos SoCs

Quoted 8 lines
 arch/arm/boot/dts/exynos3250.dtsi |   14 ++++++++++++
 arch/arm/boot/dts/exynos4.dtsi    |   14 ++++++++++++
 arch/arm/boot/dts/exynos5.dtsi    |   14 ++++++++++++
 arch/arm/boot/dts/exynos5410.dtsi |   14 ++++++++++++
 arch/arm/configs/exynos_defconfig |   11 +++++-----
 arch/arm/mach-exynos/pmu.c        |   43 -------------------------------------
 6 files changed, 61 insertions(+), 49 deletions(-)

Hi,

I have tested this patch on my Odroid U3 and U3+ using 4.3.0-rc6 from Tobias' repo at https://github.com/tobiasjakobi/linux-odroid/tree/odroid-4.3.y

and his debug config:
https://raw.githubusercontent.com/tobiasjakobi/odroid-environment/master/sourcecode/system/vanilla-4.3-debug.conf

halt -p works (power goes down to 0W)

reboot does not work, stuck at 0.5W, right after
"systemd-shutdown[1]: rebooting".

reboot did work with 4.3.0-rc3 from above repo (without Alim's patch).

Thanks,

Signature · 1 line
Markus Reichl
#37 lore raw

cover Switch to generic syscon regmap based drivers

2015-10-20 22:43 GMT+09:00 Markus Reichl <[email protected]>:

Quoted 27 lines

Am 19.10.2015 um 08:03 schrieb Alim Akhtar:

Quoted 10 lines

Alim Akhtar (7):
arm: dts: Add syscon-{reboot, poweroff} nodes for exynos3250 SoCs
arm: dts: Add syscon-{reboot, poweroff} nodes for exynos4
arm: dts: Add syscon-{reboot, poweroff} nodes for exynos5
arm: dts: Add syscon-{reboot, poweroff} nodes for exynos5410 SoC
ARM: exynos_defconfig: Normalize exynos defconfig
ARM: exynos_defconfig: Enable generic syscon-{reboot, poweroff}
drivers
ARM: EXYNOS: Remove code for restart and poweroff for exynos SoCs

Quoted 8 lines
 arch/arm/boot/dts/exynos3250.dtsi |   14 ++++++++++++
 arch/arm/boot/dts/exynos4.dtsi    |   14 ++++++++++++
 arch/arm/boot/dts/exynos5.dtsi    |   14 ++++++++++++
 arch/arm/boot/dts/exynos5410.dtsi |   14 ++++++++++++
 arch/arm/configs/exynos_defconfig |   11 +++++-----
 arch/arm/mach-exynos/pmu.c        |   43 -------------------------------------
 6 files changed, 61 insertions(+), 49 deletions(-)

Hi,

I have tested this patch on my Odroid U3 and U3+ using 4.3.0-rc6 from Tobias' repo at https://github.com/tobiasjakobi/linux-odroid/tree/odroid-4.3.y

and his debug config:
https://raw.githubusercontent.com/tobiasjakobi/odroid-environment/master/sourcecode/system/vanilla-4.3-debug.conf

Quoted 6 lines

halt -p works (power goes down to 0W)

reboot does not work, stuck at 0.5W, right after
"systemd-shutdown[1]: rebooting".

reboot did work with 4.3.0-rc3 from above repo (without Alim's patch).

Hi Markus,

You replied to v1 so I assume you tested v1. Please test latest version: v2.

Mentioned Tobias' repo does not look like vanilla 4.3.0-rc6. Because of that it may contain additional patches which can fix something... or break something (like the reboot).
Please test it on latest mainline release or some recent linux-next.

In my case I tested it on linux-next on Oroid XU3 and tomorrow I will give it a try on Trats2.

Best regards,
Krzysztof