All of lore.kernel.org
 help / color / mirror / Atom feed
* [PATCH v2 0/6] ARM: sunxi: Machine code cleanup
@ 2014-05-07  2:44 ` Maxime Ripard
  0 siblings, 0 replies; 60+ messages in thread
From: Maxime Ripard @ 2014-05-07  2:44 UTC (permalink / raw)
  To: Arnd Bergmann, wim, dbaryshkov, dwmw2
  Cc: linux-arm-kernel, linux-kernel, linux-watchdog, linux-sunxi,
	linux, Maxime Ripard

Hi,

This serie moves the restart code out of the mach-sunxi directory to
either the watchdog driver or to a new driver in drivers/power/reset.

Since the reset code was pretty much all the code left in the
mach-sunxi directory for all the SoCs but the A31, the only thing left
into mach-sunxi are empty machine definition.

Thanks, Maxime

Changes from v1:
  - Left the minimal machines instead of removing them
  - Changed the context pointer in the watchdog driver to just a
    global base address

Maxime Ripard (6):
  wdt: sunxi: Move restart code to the watchdog driver
  power: reset: Add Allwinner A31 reset code
  ARM: sunxi: Remove reset code from the platform
  ARM: sunxi: Remove init_machine callback
  ARM: sunxi: Add A31 reset driver to sunxi_defconfig
  ARM: multi_v7: Add Allwinner reset drivers to multi_v7_defconfig

 arch/arm/configs/multi_v7_defconfig |   2 +
 arch/arm/configs/sunxi_defconfig    |   3 +
 arch/arm/mach-sunxi/sunxi.c         | 107 ------------------------------------
 drivers/power/reset/Kconfig         |   7 +++
 drivers/power/reset/Makefile        |   1 +
 drivers/power/reset/sun6i-reboot.c  |  85 ++++++++++++++++++++++++++++
 drivers/watchdog/sunxi_wdt.c        |  29 ++++++++++
 7 files changed, 127 insertions(+), 107 deletions(-)
 create mode 100644 drivers/power/reset/sun6i-reboot.c

-- 
1.9.1


^ permalink raw reply	[flat|nested] 60+ messages in thread

* [PATCH v2 0/6] ARM: sunxi: Machine code cleanup
@ 2014-05-07  2:44 ` Maxime Ripard
  0 siblings, 0 replies; 60+ messages in thread
From: Maxime Ripard @ 2014-05-07  2:44 UTC (permalink / raw)
  To: linux-arm-kernel

Hi,

This serie moves the restart code out of the mach-sunxi directory to
either the watchdog driver or to a new driver in drivers/power/reset.

Since the reset code was pretty much all the code left in the
mach-sunxi directory for all the SoCs but the A31, the only thing left
into mach-sunxi are empty machine definition.

Thanks, Maxime

Changes from v1:
  - Left the minimal machines instead of removing them
  - Changed the context pointer in the watchdog driver to just a
    global base address

Maxime Ripard (6):
  wdt: sunxi: Move restart code to the watchdog driver
  power: reset: Add Allwinner A31 reset code
  ARM: sunxi: Remove reset code from the platform
  ARM: sunxi: Remove init_machine callback
  ARM: sunxi: Add A31 reset driver to sunxi_defconfig
  ARM: multi_v7: Add Allwinner reset drivers to multi_v7_defconfig

 arch/arm/configs/multi_v7_defconfig |   2 +
 arch/arm/configs/sunxi_defconfig    |   3 +
 arch/arm/mach-sunxi/sunxi.c         | 107 ------------------------------------
 drivers/power/reset/Kconfig         |   7 +++
 drivers/power/reset/Makefile        |   1 +
 drivers/power/reset/sun6i-reboot.c  |  85 ++++++++++++++++++++++++++++
 drivers/watchdog/sunxi_wdt.c        |  29 ++++++++++
 7 files changed, 127 insertions(+), 107 deletions(-)
 create mode 100644 drivers/power/reset/sun6i-reboot.c

-- 
1.9.1

^ permalink raw reply	[flat|nested] 60+ messages in thread

* [PATCH v2 1/6] wdt: sunxi: Move restart code to the watchdog driver
  2014-05-07  2:44 ` Maxime Ripard
@ 2014-05-07  2:44   ` Maxime Ripard
  -1 siblings, 0 replies; 60+ messages in thread
From: Maxime Ripard @ 2014-05-07  2:44 UTC (permalink / raw)
  To: Arnd Bergmann, wim, dbaryshkov, dwmw2
  Cc: linux-arm-kernel, linux-kernel, linux-watchdog, linux-sunxi,
	linux, Maxime Ripard

Most of the watchdog code is duplicated between the machine restart code and
the watchdog driver. Add the restart hook to the watchdog driver, to be able to
remove it from the machine code eventually.

Signed-off-by: Maxime Ripard <maxime.ripard@free-electrons.com>
Acked-by: Arnd Bergmann <arnd@arndb.de>
---
 drivers/watchdog/sunxi_wdt.c | 29 +++++++++++++++++++++++++++++
 1 file changed, 29 insertions(+)

diff --git a/drivers/watchdog/sunxi_wdt.c b/drivers/watchdog/sunxi_wdt.c
index cd00a7836cdc..0d07855bc88a 100644
--- a/drivers/watchdog/sunxi_wdt.c
+++ b/drivers/watchdog/sunxi_wdt.c
@@ -14,6 +14,7 @@
  */
 
 #include <linux/clk.h>
+#include <linux/delay.h>
 #include <linux/err.h>
 #include <linux/init.h>
 #include <linux/io.h>
@@ -22,9 +23,12 @@
 #include <linux/moduleparam.h>
 #include <linux/of.h>
 #include <linux/platform_device.h>
+#include <linux/reboot.h>
 #include <linux/types.h>
 #include <linux/watchdog.h>
 
+#include <asm/system_misc.h>
+
 #define WDT_MAX_TIMEOUT         16
 #define WDT_MIN_TIMEOUT         1
 #define WDT_MODE_TIMEOUT(n)     ((n) << 3)
@@ -70,6 +74,26 @@ static const int wdt_timeout_map[] = {
 	[16] = 0b1011, /* 16s */
 };
 
+static void __iomem *reboot_wdt_base;
+
+static void sun4i_wdt_restart(enum reboot_mode mode, const char *cmd)
+{
+	/* Enable timer and set reset bit in the watchdog */
+	writel(WDT_MODE_EN | WDT_MODE_RST_EN, reboot_wdt_base + WDT_MODE);
+
+	/*
+	 * Restart the watchdog. The default (and lowest) interval
+	 * value for the watchdog is 0.5s.
+	 */
+	writel(WDT_CTRL_RELOAD, reboot_wdt_base + WDT_CTRL);
+
+	while (1) {
+		mdelay(5);
+		writel(WDT_MODE_EN | WDT_MODE_RST_EN,
+		       reboot_wdt_base + WDT_MODE);
+	}
+}
+
 static int sunxi_wdt_ping(struct watchdog_device *wdt_dev)
 {
 	struct sunxi_wdt_dev *sunxi_wdt = watchdog_get_drvdata(wdt_dev);
@@ -181,6 +205,9 @@ static int sunxi_wdt_probe(struct platform_device *pdev)
 	if (unlikely(err))
 		return err;
 
+	reboot_wdt_base = sunxi_wdt->wdt_base;
+	arm_pm_restart = sun4i_wdt_restart;
+
 	dev_info(&pdev->dev, "Watchdog enabled (timeout=%d sec, nowayout=%d)",
 			sunxi_wdt->wdt_dev.timeout, nowayout);
 
@@ -191,6 +218,8 @@ static int sunxi_wdt_remove(struct platform_device *pdev)
 {
 	struct sunxi_wdt_dev *sunxi_wdt = platform_get_drvdata(pdev);
 
+	arm_pm_restart = NULL;
+
 	watchdog_unregister_device(&sunxi_wdt->wdt_dev);
 	watchdog_set_drvdata(&sunxi_wdt->wdt_dev, NULL);
 
-- 
1.9.1


^ permalink raw reply related	[flat|nested] 60+ messages in thread

* [PATCH v2 1/6] wdt: sunxi: Move restart code to the watchdog driver
@ 2014-05-07  2:44   ` Maxime Ripard
  0 siblings, 0 replies; 60+ messages in thread
From: Maxime Ripard @ 2014-05-07  2:44 UTC (permalink / raw)
  To: linux-arm-kernel

Most of the watchdog code is duplicated between the machine restart code and
the watchdog driver. Add the restart hook to the watchdog driver, to be able to
remove it from the machine code eventually.

Signed-off-by: Maxime Ripard <maxime.ripard@free-electrons.com>
Acked-by: Arnd Bergmann <arnd@arndb.de>
---
 drivers/watchdog/sunxi_wdt.c | 29 +++++++++++++++++++++++++++++
 1 file changed, 29 insertions(+)

diff --git a/drivers/watchdog/sunxi_wdt.c b/drivers/watchdog/sunxi_wdt.c
index cd00a7836cdc..0d07855bc88a 100644
--- a/drivers/watchdog/sunxi_wdt.c
+++ b/drivers/watchdog/sunxi_wdt.c
@@ -14,6 +14,7 @@
  */
 
 #include <linux/clk.h>
+#include <linux/delay.h>
 #include <linux/err.h>
 #include <linux/init.h>
 #include <linux/io.h>
@@ -22,9 +23,12 @@
 #include <linux/moduleparam.h>
 #include <linux/of.h>
 #include <linux/platform_device.h>
+#include <linux/reboot.h>
 #include <linux/types.h>
 #include <linux/watchdog.h>
 
+#include <asm/system_misc.h>
+
 #define WDT_MAX_TIMEOUT         16
 #define WDT_MIN_TIMEOUT         1
 #define WDT_MODE_TIMEOUT(n)     ((n) << 3)
@@ -70,6 +74,26 @@ static const int wdt_timeout_map[] = {
 	[16] = 0b1011, /* 16s */
 };
 
+static void __iomem *reboot_wdt_base;
+
+static void sun4i_wdt_restart(enum reboot_mode mode, const char *cmd)
+{
+	/* Enable timer and set reset bit in the watchdog */
+	writel(WDT_MODE_EN | WDT_MODE_RST_EN, reboot_wdt_base + WDT_MODE);
+
+	/*
+	 * Restart the watchdog. The default (and lowest) interval
+	 * value for the watchdog is 0.5s.
+	 */
+	writel(WDT_CTRL_RELOAD, reboot_wdt_base + WDT_CTRL);
+
+	while (1) {
+		mdelay(5);
+		writel(WDT_MODE_EN | WDT_MODE_RST_EN,
+		       reboot_wdt_base + WDT_MODE);
+	}
+}
+
 static int sunxi_wdt_ping(struct watchdog_device *wdt_dev)
 {
 	struct sunxi_wdt_dev *sunxi_wdt = watchdog_get_drvdata(wdt_dev);
@@ -181,6 +205,9 @@ static int sunxi_wdt_probe(struct platform_device *pdev)
 	if (unlikely(err))
 		return err;
 
+	reboot_wdt_base = sunxi_wdt->wdt_base;
+	arm_pm_restart = sun4i_wdt_restart;
+
 	dev_info(&pdev->dev, "Watchdog enabled (timeout=%d sec, nowayout=%d)",
 			sunxi_wdt->wdt_dev.timeout, nowayout);
 
@@ -191,6 +218,8 @@ static int sunxi_wdt_remove(struct platform_device *pdev)
 {
 	struct sunxi_wdt_dev *sunxi_wdt = platform_get_drvdata(pdev);
 
+	arm_pm_restart = NULL;
+
 	watchdog_unregister_device(&sunxi_wdt->wdt_dev);
 	watchdog_set_drvdata(&sunxi_wdt->wdt_dev, NULL);
 
-- 
1.9.1

^ permalink raw reply related	[flat|nested] 60+ messages in thread

* [PATCH v2 2/6] power: reset: Add Allwinner A31 reset code
  2014-05-07  2:44 ` Maxime Ripard
@ 2014-05-07  2:44   ` Maxime Ripard
  -1 siblings, 0 replies; 60+ messages in thread
From: Maxime Ripard @ 2014-05-07  2:44 UTC (permalink / raw)
  To: Arnd Bergmann, wim, dbaryshkov, dwmw2
  Cc: linux-arm-kernel, linux-kernel, linux-watchdog, linux-sunxi,
	linux, Maxime Ripard

That code used to be in the machine code, but it's more fit here with other
restart hooks.

That will allow to cleanup the machine directory, while waiting for a proper
watchdog driver for the A31.

Signed-off-by: Maxime Ripard <maxime.ripard@free-electrons.com>
Acked-by: Arnd Bergmann <arnd@arndb.de>
---
 drivers/power/reset/Kconfig        |  7 ++++
 drivers/power/reset/Makefile       |  1 +
 drivers/power/reset/sun6i-reboot.c | 85 ++++++++++++++++++++++++++++++++++++++
 3 files changed, 93 insertions(+)
 create mode 100644 drivers/power/reset/sun6i-reboot.c

diff --git a/drivers/power/reset/Kconfig b/drivers/power/reset/Kconfig
index fa0e4e057b99..67aeb6ec08f9 100644
--- a/drivers/power/reset/Kconfig
+++ b/drivers/power/reset/Kconfig
@@ -43,6 +43,13 @@ config POWER_RESET_RESTART
 	  Instead they restart, and u-boot holds the SoC until the
 	  user presses a key. u-boot then boots into Linux.
 
+config POWER_RESET_SUN6I
+	bool "Allwinner A31 SoC reset driver"
+	depends on ARCH_SUNXI
+	depends on POWER_RESET
+	help
+	  Reboot support for the Allwinner A31 SoCs.
+
 config POWER_RESET_VEXPRESS
 	bool "ARM Versatile Express power-off and reset driver"
 	depends on ARM || ARM64
diff --git a/drivers/power/reset/Makefile b/drivers/power/reset/Makefile
index a5b4a77d1a41..950fdc011c7a 100644
--- a/drivers/power/reset/Makefile
+++ b/drivers/power/reset/Makefile
@@ -3,5 +3,6 @@ obj-$(CONFIG_POWER_RESET_GPIO) += gpio-poweroff.o
 obj-$(CONFIG_POWER_RESET_MSM) += msm-poweroff.o
 obj-$(CONFIG_POWER_RESET_QNAP) += qnap-poweroff.o
 obj-$(CONFIG_POWER_RESET_RESTART) += restart-poweroff.o
+obj-$(CONFIG_POWER_RESET_SUN6I) += sun6i-reboot.o
 obj-$(CONFIG_POWER_RESET_VEXPRESS) += vexpress-poweroff.o
 obj-$(CONFIG_POWER_RESET_XGENE) += xgene-reboot.o
diff --git a/drivers/power/reset/sun6i-reboot.c b/drivers/power/reset/sun6i-reboot.c
new file mode 100644
index 000000000000..af2cd7ff2fe8
--- /dev/null
+++ b/drivers/power/reset/sun6i-reboot.c
@@ -0,0 +1,85 @@
+/*
+ * Allwinner A31 SoCs reset code
+ *
+ * Copyright (C) 2012-2014 Maxime Ripard
+ *
+ * Maxime Ripard <maxime.ripard@free-electrons.com>
+ *
+ * This file is licensed under the terms of the GNU General Public
+ * License version 2.  This program is licensed "as is" without any
+ * warranty of any kind, whether express or implied.
+ */
+
+#include <linux/delay.h>
+#include <linux/io.h>
+#include <linux/module.h>
+#include <linux/of_address.h>
+#include <linux/platform_device.h>
+#include <linux/reboot.h>
+
+#include <asm/system_misc.h>
+
+#define SUN6I_WATCHDOG1_IRQ_REG		0x00
+#define SUN6I_WATCHDOG1_CTRL_REG	0x10
+#define SUN6I_WATCHDOG1_CTRL_RESTART		BIT(0)
+#define SUN6I_WATCHDOG1_CONFIG_REG	0x14
+#define SUN6I_WATCHDOG1_CONFIG_RESTART		BIT(0)
+#define SUN6I_WATCHDOG1_CONFIG_IRQ		BIT(1)
+#define SUN6I_WATCHDOG1_MODE_REG	0x18
+#define SUN6I_WATCHDOG1_MODE_ENABLE		BIT(0)
+
+static void __iomem *wdt_base;
+
+static void sun6i_wdt_restart(enum reboot_mode mode, const char *cmd)
+{
+	if (!wdt_base)
+		return;
+
+	/* Disable interrupts */
+	writel(0, wdt_base + SUN6I_WATCHDOG1_IRQ_REG);
+
+	/* We want to disable the IRQ and just reset the whole system */
+	writel(SUN6I_WATCHDOG1_CONFIG_RESTART,
+		wdt_base + SUN6I_WATCHDOG1_CONFIG_REG);
+
+	/* Enable timer. The default and lowest interval value is 0.5s */
+	writel(SUN6I_WATCHDOG1_MODE_ENABLE,
+		wdt_base + SUN6I_WATCHDOG1_MODE_REG);
+
+	/* Restart the watchdog. */
+	writel(SUN6I_WATCHDOG1_CTRL_RESTART,
+		wdt_base + SUN6I_WATCHDOG1_CTRL_REG);
+
+	while (1) {
+		mdelay(5);
+		writel(SUN6I_WATCHDOG1_MODE_ENABLE,
+			wdt_base + SUN6I_WATCHDOG1_MODE_REG);
+	}
+}
+
+static int sun6i_reboot_probe(struct platform_device *pdev)
+{
+	wdt_base = of_iomap(pdev->dev.of_node, 0);
+	if (!wdt_base) {
+		WARN(1, "failed to map watchdog base address");
+		return -ENODEV;
+	}
+
+	arm_pm_restart = sun6i_wdt_restart;
+
+	return 0;
+}
+
+static struct of_device_id sun6i_reboot_of_match[] = {
+	{ .compatible = "allwinner,sun6i-a31-wdt" },
+	{}
+};
+
+static struct platform_driver sun6i_reboot_driver = {
+	.probe = sun6i_reboot_probe,
+	.driver = {
+		.name = "sun6i-reboot",
+		.of_match_table = sun6i_reboot_of_match,
+	},
+};
+module_platform_driver(sun6i_reboot_driver);
-- 
1.9.1


^ permalink raw reply related	[flat|nested] 60+ messages in thread

* [PATCH v2 2/6] power: reset: Add Allwinner A31 reset code
@ 2014-05-07  2:44   ` Maxime Ripard
  0 siblings, 0 replies; 60+ messages in thread
From: Maxime Ripard @ 2014-05-07  2:44 UTC (permalink / raw)
  To: linux-arm-kernel

That code used to be in the machine code, but it's more fit here with other
restart hooks.

That will allow to cleanup the machine directory, while waiting for a proper
watchdog driver for the A31.

Signed-off-by: Maxime Ripard <maxime.ripard@free-electrons.com>
Acked-by: Arnd Bergmann <arnd@arndb.de>
---
 drivers/power/reset/Kconfig        |  7 ++++
 drivers/power/reset/Makefile       |  1 +
 drivers/power/reset/sun6i-reboot.c | 85 ++++++++++++++++++++++++++++++++++++++
 3 files changed, 93 insertions(+)
 create mode 100644 drivers/power/reset/sun6i-reboot.c

diff --git a/drivers/power/reset/Kconfig b/drivers/power/reset/Kconfig
index fa0e4e057b99..67aeb6ec08f9 100644
--- a/drivers/power/reset/Kconfig
+++ b/drivers/power/reset/Kconfig
@@ -43,6 +43,13 @@ config POWER_RESET_RESTART
 	  Instead they restart, and u-boot holds the SoC until the
 	  user presses a key. u-boot then boots into Linux.
 
+config POWER_RESET_SUN6I
+	bool "Allwinner A31 SoC reset driver"
+	depends on ARCH_SUNXI
+	depends on POWER_RESET
+	help
+	  Reboot support for the Allwinner A31 SoCs.
+
 config POWER_RESET_VEXPRESS
 	bool "ARM Versatile Express power-off and reset driver"
 	depends on ARM || ARM64
diff --git a/drivers/power/reset/Makefile b/drivers/power/reset/Makefile
index a5b4a77d1a41..950fdc011c7a 100644
--- a/drivers/power/reset/Makefile
+++ b/drivers/power/reset/Makefile
@@ -3,5 +3,6 @@ obj-$(CONFIG_POWER_RESET_GPIO) += gpio-poweroff.o
 obj-$(CONFIG_POWER_RESET_MSM) += msm-poweroff.o
 obj-$(CONFIG_POWER_RESET_QNAP) += qnap-poweroff.o
 obj-$(CONFIG_POWER_RESET_RESTART) += restart-poweroff.o
+obj-$(CONFIG_POWER_RESET_SUN6I) += sun6i-reboot.o
 obj-$(CONFIG_POWER_RESET_VEXPRESS) += vexpress-poweroff.o
 obj-$(CONFIG_POWER_RESET_XGENE) += xgene-reboot.o
diff --git a/drivers/power/reset/sun6i-reboot.c b/drivers/power/reset/sun6i-reboot.c
new file mode 100644
index 000000000000..af2cd7ff2fe8
--- /dev/null
+++ b/drivers/power/reset/sun6i-reboot.c
@@ -0,0 +1,85 @@
+/*
+ * Allwinner A31 SoCs reset code
+ *
+ * Copyright (C) 2012-2014 Maxime Ripard
+ *
+ * Maxime Ripard <maxime.ripard@free-electrons.com>
+ *
+ * This file is licensed under the terms of the GNU General Public
+ * License version 2.  This program is licensed "as is" without any
+ * warranty of any kind, whether express or implied.
+ */
+
+#include <linux/delay.h>
+#include <linux/io.h>
+#include <linux/module.h>
+#include <linux/of_address.h>
+#include <linux/platform_device.h>
+#include <linux/reboot.h>
+
+#include <asm/system_misc.h>
+
+#define SUN6I_WATCHDOG1_IRQ_REG		0x00
+#define SUN6I_WATCHDOG1_CTRL_REG	0x10
+#define SUN6I_WATCHDOG1_CTRL_RESTART		BIT(0)
+#define SUN6I_WATCHDOG1_CONFIG_REG	0x14
+#define SUN6I_WATCHDOG1_CONFIG_RESTART		BIT(0)
+#define SUN6I_WATCHDOG1_CONFIG_IRQ		BIT(1)
+#define SUN6I_WATCHDOG1_MODE_REG	0x18
+#define SUN6I_WATCHDOG1_MODE_ENABLE		BIT(0)
+
+static void __iomem *wdt_base;
+
+static void sun6i_wdt_restart(enum reboot_mode mode, const char *cmd)
+{
+	if (!wdt_base)
+		return;
+
+	/* Disable interrupts */
+	writel(0, wdt_base + SUN6I_WATCHDOG1_IRQ_REG);
+
+	/* We want to disable the IRQ and just reset the whole system */
+	writel(SUN6I_WATCHDOG1_CONFIG_RESTART,
+		wdt_base + SUN6I_WATCHDOG1_CONFIG_REG);
+
+	/* Enable timer. The default and lowest interval value is 0.5s */
+	writel(SUN6I_WATCHDOG1_MODE_ENABLE,
+		wdt_base + SUN6I_WATCHDOG1_MODE_REG);
+
+	/* Restart the watchdog. */
+	writel(SUN6I_WATCHDOG1_CTRL_RESTART,
+		wdt_base + SUN6I_WATCHDOG1_CTRL_REG);
+
+	while (1) {
+		mdelay(5);
+		writel(SUN6I_WATCHDOG1_MODE_ENABLE,
+			wdt_base + SUN6I_WATCHDOG1_MODE_REG);
+	}
+}
+
+static int sun6i_reboot_probe(struct platform_device *pdev)
+{
+	wdt_base = of_iomap(pdev->dev.of_node, 0);
+	if (!wdt_base) {
+		WARN(1, "failed to map watchdog base address");
+		return -ENODEV;
+	}
+
+	arm_pm_restart = sun6i_wdt_restart;
+
+	return 0;
+}
+
+static struct of_device_id sun6i_reboot_of_match[] = {
+	{ .compatible = "allwinner,sun6i-a31-wdt" },
+	{}
+};
+
+static struct platform_driver sun6i_reboot_driver = {
+	.probe = sun6i_reboot_probe,
+	.driver = {
+		.name = "sun6i-reboot",
+		.of_match_table = sun6i_reboot_of_match,
+	},
+};
+module_platform_driver(sun6i_reboot_driver);
-- 
1.9.1

^ permalink raw reply related	[flat|nested] 60+ messages in thread

* [PATCH v2 3/6] ARM: sunxi: Remove reset code from the platform
  2014-05-07  2:44 ` Maxime Ripard
@ 2014-05-07  2:44   ` Maxime Ripard
  -1 siblings, 0 replies; 60+ messages in thread
From: Maxime Ripard @ 2014-05-07  2:44 UTC (permalink / raw)
  To: Arnd Bergmann, wim, dbaryshkov, dwmw2
  Cc: linux-arm-kernel, linux-kernel, linux-watchdog, linux-sunxi,
	linux, Maxime Ripard

Now that reset is handled either by the watchdog driver for the sun4i, sun5i
and sun7i, and by a driver of its own for sun6i, we can remove it from the
platform code.

Signed-off-by: Maxime Ripard <maxime.ripard@free-electrons.com>
Acked-by: Arnd Bergmann <arnd@arndb.de>
---
 arch/arm/mach-sunxi/sunxi.c | 98 ---------------------------------------------
 1 file changed, 98 deletions(-)

diff --git a/arch/arm/mach-sunxi/sunxi.c b/arch/arm/mach-sunxi/sunxi.c
index 460b5a4962ef..1c62a0a021d7 100644
--- a/arch/arm/mach-sunxi/sunxi.c
+++ b/arch/arm/mach-sunxi/sunxi.c
@@ -12,109 +12,14 @@
 
 #include <linux/clk-provider.h>
 #include <linux/clocksource.h>
-#include <linux/delay.h>
-#include <linux/kernel.h>
-#include <linux/init.h>
-#include <linux/of_address.h>
-#include <linux/of_irq.h>
 #include <linux/of_platform.h>
-#include <linux/io.h>
-#include <linux/reboot.h>
 
 #include <asm/mach/arch.h>
-#include <asm/mach/map.h>
-#include <asm/system_misc.h>
 
 #include "common.h"
 
-#define SUN4I_WATCHDOG_CTRL_REG		0x00
-#define SUN4I_WATCHDOG_CTRL_RESTART		BIT(0)
-#define SUN4I_WATCHDOG_MODE_REG		0x04
-#define SUN4I_WATCHDOG_MODE_ENABLE		BIT(0)
-#define SUN4I_WATCHDOG_MODE_RESET_ENABLE	BIT(1)
-
-#define SUN6I_WATCHDOG1_IRQ_REG		0x00
-#define SUN6I_WATCHDOG1_CTRL_REG	0x10
-#define SUN6I_WATCHDOG1_CTRL_RESTART		BIT(0)
-#define SUN6I_WATCHDOG1_CONFIG_REG	0x14
-#define SUN6I_WATCHDOG1_CONFIG_RESTART		BIT(0)
-#define SUN6I_WATCHDOG1_CONFIG_IRQ		BIT(1)
-#define SUN6I_WATCHDOG1_MODE_REG	0x18
-#define SUN6I_WATCHDOG1_MODE_ENABLE		BIT(0)
-
-static void __iomem *wdt_base;
-
-static void sun4i_restart(enum reboot_mode mode, const char *cmd)
-{
-	if (!wdt_base)
-		return;
-
-	/* Enable timer and set reset bit in the watchdog */
-	writel(SUN4I_WATCHDOG_MODE_ENABLE | SUN4I_WATCHDOG_MODE_RESET_ENABLE,
-	       wdt_base + SUN4I_WATCHDOG_MODE_REG);
-
-	/*
-	 * Restart the watchdog. The default (and lowest) interval
-	 * value for the watchdog is 0.5s.
-	 */
-	writel(SUN4I_WATCHDOG_CTRL_RESTART, wdt_base + SUN4I_WATCHDOG_CTRL_REG);
-
-	while (1) {
-		mdelay(5);
-		writel(SUN4I_WATCHDOG_MODE_ENABLE | SUN4I_WATCHDOG_MODE_RESET_ENABLE,
-		       wdt_base + SUN4I_WATCHDOG_MODE_REG);
-	}
-}
-
-static void sun6i_restart(enum reboot_mode mode, const char *cmd)
-{
-	if (!wdt_base)
-		return;
-
-	/* Disable interrupts */
-	writel(0, wdt_base + SUN6I_WATCHDOG1_IRQ_REG);
-
-	/* We want to disable the IRQ and just reset the whole system */
-	writel(SUN6I_WATCHDOG1_CONFIG_RESTART,
-		wdt_base + SUN6I_WATCHDOG1_CONFIG_REG);
-
-	/* Enable timer. The default and lowest interval value is 0.5s */
-	writel(SUN6I_WATCHDOG1_MODE_ENABLE,
-		wdt_base + SUN6I_WATCHDOG1_MODE_REG);
-
-	/* Restart the watchdog. */
-	writel(SUN6I_WATCHDOG1_CTRL_RESTART,
-		wdt_base + SUN6I_WATCHDOG1_CTRL_REG);
-
-	while (1) {
-		mdelay(5);
-		writel(SUN6I_WATCHDOG1_MODE_ENABLE,
-			wdt_base + SUN6I_WATCHDOG1_MODE_REG);
-	}
-}
-
-static struct of_device_id sunxi_restart_ids[] = {
-	{ .compatible = "allwinner,sun4i-a10-wdt" },
-	{ .compatible = "allwinner,sun6i-a31-wdt" },
-	{ /*sentinel*/ }
-};
-
-static void sunxi_setup_restart(void)
-{
-	struct device_node *np;
-
-	np = of_find_matching_node(NULL, sunxi_restart_ids);
-	if (WARN(!np, "unable to setup watchdog restart"))
-		return;
-
-	wdt_base = of_iomap(np, 0);
-	WARN(!wdt_base, "failed to map watchdog base address");
-}
-
 static void __init sunxi_dt_init(void)
 {
-	sunxi_setup_restart();
-
 	of_platform_populate(NULL, of_default_bus_match_table, NULL, NULL);
 }
 
@@ -128,7 +33,6 @@ static const char * const sunxi_board_dt_compat[] = {
 DT_MACHINE_START(SUNXI_DT, "Allwinner A1X (Device Tree)")
 	.init_machine	= sunxi_dt_init,
 	.dt_compat	= sunxi_board_dt_compat,
-	.restart	= sun4i_restart,
 MACHINE_END
 
 static const char * const sun6i_board_dt_compat[] = {
@@ -148,7 +52,6 @@ DT_MACHINE_START(SUN6I_DT, "Allwinner sun6i (A31) Family")
 	.init_machine	= sunxi_dt_init,
 	.init_time	= sun6i_timer_init,
 	.dt_compat	= sun6i_board_dt_compat,
-	.restart	= sun6i_restart,
 	.smp		= smp_ops(sun6i_smp_ops),
 MACHINE_END
 
@@ -160,5 +63,4 @@ static const char * const sun7i_board_dt_compat[] = {
 DT_MACHINE_START(SUN7I_DT, "Allwinner sun7i (A20) Family")
 	.init_machine	= sunxi_dt_init,
 	.dt_compat	= sun7i_board_dt_compat,
-	.restart	= sun4i_restart,
 MACHINE_END
-- 
1.9.1


^ permalink raw reply related	[flat|nested] 60+ messages in thread

* [PATCH v2 3/6] ARM: sunxi: Remove reset code from the platform
@ 2014-05-07  2:44   ` Maxime Ripard
  0 siblings, 0 replies; 60+ messages in thread
From: Maxime Ripard @ 2014-05-07  2:44 UTC (permalink / raw)
  To: linux-arm-kernel

Now that reset is handled either by the watchdog driver for the sun4i, sun5i
and sun7i, and by a driver of its own for sun6i, we can remove it from the
platform code.

Signed-off-by: Maxime Ripard <maxime.ripard@free-electrons.com>
Acked-by: Arnd Bergmann <arnd@arndb.de>
---
 arch/arm/mach-sunxi/sunxi.c | 98 ---------------------------------------------
 1 file changed, 98 deletions(-)

diff --git a/arch/arm/mach-sunxi/sunxi.c b/arch/arm/mach-sunxi/sunxi.c
index 460b5a4962ef..1c62a0a021d7 100644
--- a/arch/arm/mach-sunxi/sunxi.c
+++ b/arch/arm/mach-sunxi/sunxi.c
@@ -12,109 +12,14 @@
 
 #include <linux/clk-provider.h>
 #include <linux/clocksource.h>
-#include <linux/delay.h>
-#include <linux/kernel.h>
-#include <linux/init.h>
-#include <linux/of_address.h>
-#include <linux/of_irq.h>
 #include <linux/of_platform.h>
-#include <linux/io.h>
-#include <linux/reboot.h>
 
 #include <asm/mach/arch.h>
-#include <asm/mach/map.h>
-#include <asm/system_misc.h>
 
 #include "common.h"
 
-#define SUN4I_WATCHDOG_CTRL_REG		0x00
-#define SUN4I_WATCHDOG_CTRL_RESTART		BIT(0)
-#define SUN4I_WATCHDOG_MODE_REG		0x04
-#define SUN4I_WATCHDOG_MODE_ENABLE		BIT(0)
-#define SUN4I_WATCHDOG_MODE_RESET_ENABLE	BIT(1)
-
-#define SUN6I_WATCHDOG1_IRQ_REG		0x00
-#define SUN6I_WATCHDOG1_CTRL_REG	0x10
-#define SUN6I_WATCHDOG1_CTRL_RESTART		BIT(0)
-#define SUN6I_WATCHDOG1_CONFIG_REG	0x14
-#define SUN6I_WATCHDOG1_CONFIG_RESTART		BIT(0)
-#define SUN6I_WATCHDOG1_CONFIG_IRQ		BIT(1)
-#define SUN6I_WATCHDOG1_MODE_REG	0x18
-#define SUN6I_WATCHDOG1_MODE_ENABLE		BIT(0)
-
-static void __iomem *wdt_base;
-
-static void sun4i_restart(enum reboot_mode mode, const char *cmd)
-{
-	if (!wdt_base)
-		return;
-
-	/* Enable timer and set reset bit in the watchdog */
-	writel(SUN4I_WATCHDOG_MODE_ENABLE | SUN4I_WATCHDOG_MODE_RESET_ENABLE,
-	       wdt_base + SUN4I_WATCHDOG_MODE_REG);
-
-	/*
-	 * Restart the watchdog. The default (and lowest) interval
-	 * value for the watchdog is 0.5s.
-	 */
-	writel(SUN4I_WATCHDOG_CTRL_RESTART, wdt_base + SUN4I_WATCHDOG_CTRL_REG);
-
-	while (1) {
-		mdelay(5);
-		writel(SUN4I_WATCHDOG_MODE_ENABLE | SUN4I_WATCHDOG_MODE_RESET_ENABLE,
-		       wdt_base + SUN4I_WATCHDOG_MODE_REG);
-	}
-}
-
-static void sun6i_restart(enum reboot_mode mode, const char *cmd)
-{
-	if (!wdt_base)
-		return;
-
-	/* Disable interrupts */
-	writel(0, wdt_base + SUN6I_WATCHDOG1_IRQ_REG);
-
-	/* We want to disable the IRQ and just reset the whole system */
-	writel(SUN6I_WATCHDOG1_CONFIG_RESTART,
-		wdt_base + SUN6I_WATCHDOG1_CONFIG_REG);
-
-	/* Enable timer. The default and lowest interval value is 0.5s */
-	writel(SUN6I_WATCHDOG1_MODE_ENABLE,
-		wdt_base + SUN6I_WATCHDOG1_MODE_REG);
-
-	/* Restart the watchdog. */
-	writel(SUN6I_WATCHDOG1_CTRL_RESTART,
-		wdt_base + SUN6I_WATCHDOG1_CTRL_REG);
-
-	while (1) {
-		mdelay(5);
-		writel(SUN6I_WATCHDOG1_MODE_ENABLE,
-			wdt_base + SUN6I_WATCHDOG1_MODE_REG);
-	}
-}
-
-static struct of_device_id sunxi_restart_ids[] = {
-	{ .compatible = "allwinner,sun4i-a10-wdt" },
-	{ .compatible = "allwinner,sun6i-a31-wdt" },
-	{ /*sentinel*/ }
-};
-
-static void sunxi_setup_restart(void)
-{
-	struct device_node *np;
-
-	np = of_find_matching_node(NULL, sunxi_restart_ids);
-	if (WARN(!np, "unable to setup watchdog restart"))
-		return;
-
-	wdt_base = of_iomap(np, 0);
-	WARN(!wdt_base, "failed to map watchdog base address");
-}
-
 static void __init sunxi_dt_init(void)
 {
-	sunxi_setup_restart();
-
 	of_platform_populate(NULL, of_default_bus_match_table, NULL, NULL);
 }
 
@@ -128,7 +33,6 @@ static const char * const sunxi_board_dt_compat[] = {
 DT_MACHINE_START(SUNXI_DT, "Allwinner A1X (Device Tree)")
 	.init_machine	= sunxi_dt_init,
 	.dt_compat	= sunxi_board_dt_compat,
-	.restart	= sun4i_restart,
 MACHINE_END
 
 static const char * const sun6i_board_dt_compat[] = {
@@ -148,7 +52,6 @@ DT_MACHINE_START(SUN6I_DT, "Allwinner sun6i (A31) Family")
 	.init_machine	= sunxi_dt_init,
 	.init_time	= sun6i_timer_init,
 	.dt_compat	= sun6i_board_dt_compat,
-	.restart	= sun6i_restart,
 	.smp		= smp_ops(sun6i_smp_ops),
 MACHINE_END
 
@@ -160,5 +63,4 @@ static const char * const sun7i_board_dt_compat[] = {
 DT_MACHINE_START(SUN7I_DT, "Allwinner sun7i (A20) Family")
 	.init_machine	= sunxi_dt_init,
 	.dt_compat	= sun7i_board_dt_compat,
-	.restart	= sun4i_restart,
 MACHINE_END
-- 
1.9.1

^ permalink raw reply related	[flat|nested] 60+ messages in thread

* [PATCH v2 4/6] ARM: sunxi: Remove init_machine callback
  2014-05-07  2:44 ` Maxime Ripard
@ 2014-05-07  2:44   ` Maxime Ripard
  -1 siblings, 0 replies; 60+ messages in thread
From: Maxime Ripard @ 2014-05-07  2:44 UTC (permalink / raw)
  To: Arnd Bergmann, wim, dbaryshkov, dwmw2
  Cc: linux-arm-kernel, linux-kernel, linux-watchdog, linux-sunxi,
	linux, Maxime Ripard

The init_machine hook is now at its default value. We can remove it.

Even though the sun4i and sun7i machines are nothing more than generic machines
now, leave them in so that we won't have to add them back if needed, and so
that the machine is still displayed in /proc/cpuinfo.

Signed-off-by: Maxime Ripard <maxime.ripard@free-electrons.com>
---
 arch/arm/mach-sunxi/sunxi.c | 9 ---------
 1 file changed, 9 deletions(-)

diff --git a/arch/arm/mach-sunxi/sunxi.c b/arch/arm/mach-sunxi/sunxi.c
index 1c62a0a021d7..efb2f93b02e6 100644
--- a/arch/arm/mach-sunxi/sunxi.c
+++ b/arch/arm/mach-sunxi/sunxi.c
@@ -12,17 +12,11 @@
 
 #include <linux/clk-provider.h>
 #include <linux/clocksource.h>
-#include <linux/of_platform.h>
 
 #include <asm/mach/arch.h>
 
 #include "common.h"
 
-static void __init sunxi_dt_init(void)
-{
-	of_platform_populate(NULL, of_default_bus_match_table, NULL, NULL);
-}
-
 static const char * const sunxi_board_dt_compat[] = {
 	"allwinner,sun4i-a10",
 	"allwinner,sun5i-a10s",
@@ -31,7 +25,6 @@ static const char * const sunxi_board_dt_compat[] = {
 };
 
 DT_MACHINE_START(SUNXI_DT, "Allwinner A1X (Device Tree)")
-	.init_machine	= sunxi_dt_init,
 	.dt_compat	= sunxi_board_dt_compat,
 MACHINE_END
 
@@ -49,7 +42,6 @@ static void __init sun6i_timer_init(void)
 }
 
 DT_MACHINE_START(SUN6I_DT, "Allwinner sun6i (A31) Family")
-	.init_machine	= sunxi_dt_init,
 	.init_time	= sun6i_timer_init,
 	.dt_compat	= sun6i_board_dt_compat,
 	.smp		= smp_ops(sun6i_smp_ops),
@@ -61,6 +53,5 @@ static const char * const sun7i_board_dt_compat[] = {
 };
 
 DT_MACHINE_START(SUN7I_DT, "Allwinner sun7i (A20) Family")
-	.init_machine	= sunxi_dt_init,
 	.dt_compat	= sun7i_board_dt_compat,
 MACHINE_END
-- 
1.9.1


^ permalink raw reply related	[flat|nested] 60+ messages in thread

* [PATCH v2 4/6] ARM: sunxi: Remove init_machine callback
@ 2014-05-07  2:44   ` Maxime Ripard
  0 siblings, 0 replies; 60+ messages in thread
From: Maxime Ripard @ 2014-05-07  2:44 UTC (permalink / raw)
  To: linux-arm-kernel

The init_machine hook is now at its default value. We can remove it.

Even though the sun4i and sun7i machines are nothing more than generic machines
now, leave them in so that we won't have to add them back if needed, and so
that the machine is still displayed in /proc/cpuinfo.

Signed-off-by: Maxime Ripard <maxime.ripard@free-electrons.com>
---
 arch/arm/mach-sunxi/sunxi.c | 9 ---------
 1 file changed, 9 deletions(-)

diff --git a/arch/arm/mach-sunxi/sunxi.c b/arch/arm/mach-sunxi/sunxi.c
index 1c62a0a021d7..efb2f93b02e6 100644
--- a/arch/arm/mach-sunxi/sunxi.c
+++ b/arch/arm/mach-sunxi/sunxi.c
@@ -12,17 +12,11 @@
 
 #include <linux/clk-provider.h>
 #include <linux/clocksource.h>
-#include <linux/of_platform.h>
 
 #include <asm/mach/arch.h>
 
 #include "common.h"
 
-static void __init sunxi_dt_init(void)
-{
-	of_platform_populate(NULL, of_default_bus_match_table, NULL, NULL);
-}
-
 static const char * const sunxi_board_dt_compat[] = {
 	"allwinner,sun4i-a10",
 	"allwinner,sun5i-a10s",
@@ -31,7 +25,6 @@ static const char * const sunxi_board_dt_compat[] = {
 };
 
 DT_MACHINE_START(SUNXI_DT, "Allwinner A1X (Device Tree)")
-	.init_machine	= sunxi_dt_init,
 	.dt_compat	= sunxi_board_dt_compat,
 MACHINE_END
 
@@ -49,7 +42,6 @@ static void __init sun6i_timer_init(void)
 }
 
 DT_MACHINE_START(SUN6I_DT, "Allwinner sun6i (A31) Family")
-	.init_machine	= sunxi_dt_init,
 	.init_time	= sun6i_timer_init,
 	.dt_compat	= sun6i_board_dt_compat,
 	.smp		= smp_ops(sun6i_smp_ops),
@@ -61,6 +53,5 @@ static const char * const sun7i_board_dt_compat[] = {
 };
 
 DT_MACHINE_START(SUN7I_DT, "Allwinner sun7i (A20) Family")
-	.init_machine	= sunxi_dt_init,
 	.dt_compat	= sun7i_board_dt_compat,
 MACHINE_END
-- 
1.9.1

^ permalink raw reply related	[flat|nested] 60+ messages in thread

* [PATCH v2 5/6] ARM: sunxi: Add A31 reset driver to sunxi_defconfig
  2014-05-07  2:44 ` Maxime Ripard
@ 2014-05-07  2:44   ` Maxime Ripard
  -1 siblings, 0 replies; 60+ messages in thread
From: Maxime Ripard @ 2014-05-07  2:44 UTC (permalink / raw)
  To: Arnd Bergmann, wim, dbaryshkov, dwmw2
  Cc: linux-arm-kernel, linux-kernel, linux-watchdog, linux-sunxi,
	linux, Maxime Ripard

Now that the A31 reset code is a driver of its own, we need it in the
defconfig.

Signed-off-by: Maxime Ripard <maxime.ripard@free-electrons.com>
---
 arch/arm/configs/sunxi_defconfig | 3 +++
 1 file changed, 3 insertions(+)

diff --git a/arch/arm/configs/sunxi_defconfig b/arch/arm/configs/sunxi_defconfig
index 81ba78eaf54a..e0c91b23fde7 100644
--- a/arch/arm/configs/sunxi_defconfig
+++ b/arch/arm/configs/sunxi_defconfig
@@ -52,6 +52,9 @@ CONFIG_I2C_MV64XXX=y
 CONFIG_SPI=y
 CONFIG_SPI_SUN6I=y
 CONFIG_GPIO_SYSFS=y
+CONFIG_POWER_SUPPLY=y
+CONFIG_POWER_RESET=y
+CONFIG_POWER_RESET_SUN6I=y
 # CONFIG_HWMON is not set
 CONFIG_WATCHDOG=y
 CONFIG_SUNXI_WATCHDOG=y
-- 
1.9.1


^ permalink raw reply related	[flat|nested] 60+ messages in thread

* [PATCH v2 5/6] ARM: sunxi: Add A31 reset driver to sunxi_defconfig
@ 2014-05-07  2:44   ` Maxime Ripard
  0 siblings, 0 replies; 60+ messages in thread
From: Maxime Ripard @ 2014-05-07  2:44 UTC (permalink / raw)
  To: linux-arm-kernel

Now that the A31 reset code is a driver of its own, we need it in the
defconfig.

Signed-off-by: Maxime Ripard <maxime.ripard@free-electrons.com>
---
 arch/arm/configs/sunxi_defconfig | 3 +++
 1 file changed, 3 insertions(+)

diff --git a/arch/arm/configs/sunxi_defconfig b/arch/arm/configs/sunxi_defconfig
index 81ba78eaf54a..e0c91b23fde7 100644
--- a/arch/arm/configs/sunxi_defconfig
+++ b/arch/arm/configs/sunxi_defconfig
@@ -52,6 +52,9 @@ CONFIG_I2C_MV64XXX=y
 CONFIG_SPI=y
 CONFIG_SPI_SUN6I=y
 CONFIG_GPIO_SYSFS=y
+CONFIG_POWER_SUPPLY=y
+CONFIG_POWER_RESET=y
+CONFIG_POWER_RESET_SUN6I=y
 # CONFIG_HWMON is not set
 CONFIG_WATCHDOG=y
 CONFIG_SUNXI_WATCHDOG=y
-- 
1.9.1

^ permalink raw reply related	[flat|nested] 60+ messages in thread

* [PATCH v2 6/6] ARM: multi_v7: Add Allwinner reset drivers to multi_v7_defconfig
  2014-05-07  2:44 ` Maxime Ripard
@ 2014-05-07  2:44   ` Maxime Ripard
  -1 siblings, 0 replies; 60+ messages in thread
From: Maxime Ripard @ 2014-05-07  2:44 UTC (permalink / raw)
  To: Arnd Bergmann, wim, dbaryshkov, dwmw2
  Cc: linux-arm-kernel, linux-kernel, linux-watchdog, linux-sunxi,
	linux, Maxime Ripard

Now that the reset code are part of drivers of their own, we need those in the
defconfig.

Signed-off-by: Maxime Ripard <maxime.ripard@free-electrons.com>
---
 arch/arm/configs/multi_v7_defconfig | 2 ++
 1 file changed, 2 insertions(+)

diff --git a/arch/arm/configs/multi_v7_defconfig b/arch/arm/configs/multi_v7_defconfig
index d4e8a47a2f7c..960187ac35e0 100644
--- a/arch/arm/configs/multi_v7_defconfig
+++ b/arch/arm/configs/multi_v7_defconfig
@@ -200,12 +200,14 @@ CONFIG_BATTERY_SBS=y
 CONFIG_CHARGER_TPS65090=y
 CONFIG_POWER_RESET_AS3722=y
 CONFIG_POWER_RESET_GPIO=y
+CONFIG_POWER_RESET_SUN6I=y
 CONFIG_SENSORS_LM90=y
 CONFIG_THERMAL=y
 CONFIG_DOVE_THERMAL=y
 CONFIG_ARMADA_THERMAL=y
 CONFIG_WATCHDOG=y
 CONFIG_ORION_WATCHDOG=y
+CONFIG_SUNXI_WATCHDOG=y
 CONFIG_MFD_AS3722=y
 CONFIG_MFD_CROS_EC=y
 CONFIG_MFD_CROS_EC_SPI=y
-- 
1.9.1


^ permalink raw reply related	[flat|nested] 60+ messages in thread

* [PATCH v2 6/6] ARM: multi_v7: Add Allwinner reset drivers to multi_v7_defconfig
@ 2014-05-07  2:44   ` Maxime Ripard
  0 siblings, 0 replies; 60+ messages in thread
From: Maxime Ripard @ 2014-05-07  2:44 UTC (permalink / raw)
  To: linux-arm-kernel

Now that the reset code are part of drivers of their own, we need those in the
defconfig.

Signed-off-by: Maxime Ripard <maxime.ripard@free-electrons.com>
---
 arch/arm/configs/multi_v7_defconfig | 2 ++
 1 file changed, 2 insertions(+)

diff --git a/arch/arm/configs/multi_v7_defconfig b/arch/arm/configs/multi_v7_defconfig
index d4e8a47a2f7c..960187ac35e0 100644
--- a/arch/arm/configs/multi_v7_defconfig
+++ b/arch/arm/configs/multi_v7_defconfig
@@ -200,12 +200,14 @@ CONFIG_BATTERY_SBS=y
 CONFIG_CHARGER_TPS65090=y
 CONFIG_POWER_RESET_AS3722=y
 CONFIG_POWER_RESET_GPIO=y
+CONFIG_POWER_RESET_SUN6I=y
 CONFIG_SENSORS_LM90=y
 CONFIG_THERMAL=y
 CONFIG_DOVE_THERMAL=y
 CONFIG_ARMADA_THERMAL=y
 CONFIG_WATCHDOG=y
 CONFIG_ORION_WATCHDOG=y
+CONFIG_SUNXI_WATCHDOG=y
 CONFIG_MFD_AS3722=y
 CONFIG_MFD_CROS_EC=y
 CONFIG_MFD_CROS_EC_SPI=y
-- 
1.9.1

^ permalink raw reply related	[flat|nested] 60+ messages in thread

* Re: [PATCH v2 1/6] wdt: sunxi: Move restart code to the watchdog driver
  2014-05-07  2:44   ` Maxime Ripard
@ 2014-05-07 21:33     ` Guenter Roeck
  -1 siblings, 0 replies; 60+ messages in thread
From: Guenter Roeck @ 2014-05-07 21:33 UTC (permalink / raw)
  To: Maxime Ripard
  Cc: Arnd Bergmann, wim, dbaryshkov, dwmw2, linux-arm-kernel,
	linux-kernel, linux-watchdog, linux-sunxi

On Tue, May 06, 2014 at 09:44:19PM -0500, Maxime Ripard wrote:
> Most of the watchdog code is duplicated between the machine restart code and
> the watchdog driver. Add the restart hook to the watchdog driver, to be able to
> remove it from the machine code eventually.
> 
> Signed-off-by: Maxime Ripard <maxime.ripard@free-electrons.com>
> Acked-by: Arnd Bergmann <arnd@arndb.de>

Reviewed-by: Guenter Roeck <linux@roeck-us.net>

^ permalink raw reply	[flat|nested] 60+ messages in thread

* [PATCH v2 1/6] wdt: sunxi: Move restart code to the watchdog driver
@ 2014-05-07 21:33     ` Guenter Roeck
  0 siblings, 0 replies; 60+ messages in thread
From: Guenter Roeck @ 2014-05-07 21:33 UTC (permalink / raw)
  To: linux-arm-kernel

On Tue, May 06, 2014 at 09:44:19PM -0500, Maxime Ripard wrote:
> Most of the watchdog code is duplicated between the machine restart code and
> the watchdog driver. Add the restart hook to the watchdog driver, to be able to
> remove it from the machine code eventually.
> 
> Signed-off-by: Maxime Ripard <maxime.ripard@free-electrons.com>
> Acked-by: Arnd Bergmann <arnd@arndb.de>

Reviewed-by: Guenter Roeck <linux@roeck-us.net>

^ permalink raw reply	[flat|nested] 60+ messages in thread

* Re: [PATCH v2 1/6] wdt: sunxi: Move restart code to the watchdog driver
  2014-05-07 21:33     ` Guenter Roeck
@ 2014-05-15  9:11       ` Maxime Ripard
  -1 siblings, 0 replies; 60+ messages in thread
From: Maxime Ripard @ 2014-05-15  9:11 UTC (permalink / raw)
  To: Guenter Roeck
  Cc: Arnd Bergmann, wim, dbaryshkov, dwmw2, linux-arm-kernel,
	linux-kernel, linux-watchdog, linux-sunxi

[-- Attachment #1: Type: text/plain, Size: 689 bytes --]

On Wed, May 07, 2014 at 02:33:18PM -0700, Guenter Roeck wrote:
> On Tue, May 06, 2014 at 09:44:19PM -0500, Maxime Ripard wrote:
> > Most of the watchdog code is duplicated between the machine restart code and
> > the watchdog driver. Add the restart hook to the watchdog driver, to be able to
> > remove it from the machine code eventually.
> > 
> > Signed-off-by: Maxime Ripard <maxime.ripard@free-electrons.com>
> > Acked-by: Arnd Bergmann <arnd@arndb.de>
> 
> Reviewed-by: Guenter Roeck <linux@roeck-us.net>

Wim, do you have any comment on this one?

Maxime

-- 
Maxime Ripard, Free Electrons
Embedded Linux, Kernel and Android engineering
http://free-electrons.com

[-- Attachment #2: Digital signature --]
[-- Type: application/pgp-signature, Size: 819 bytes --]

^ permalink raw reply	[flat|nested] 60+ messages in thread

* [PATCH v2 1/6] wdt: sunxi: Move restart code to the watchdog driver
@ 2014-05-15  9:11       ` Maxime Ripard
  0 siblings, 0 replies; 60+ messages in thread
From: Maxime Ripard @ 2014-05-15  9:11 UTC (permalink / raw)
  To: linux-arm-kernel

On Wed, May 07, 2014 at 02:33:18PM -0700, Guenter Roeck wrote:
> On Tue, May 06, 2014 at 09:44:19PM -0500, Maxime Ripard wrote:
> > Most of the watchdog code is duplicated between the machine restart code and
> > the watchdog driver. Add the restart hook to the watchdog driver, to be able to
> > remove it from the machine code eventually.
> > 
> > Signed-off-by: Maxime Ripard <maxime.ripard@free-electrons.com>
> > Acked-by: Arnd Bergmann <arnd@arndb.de>
> 
> Reviewed-by: Guenter Roeck <linux@roeck-us.net>

Wim, do you have any comment on this one?

Maxime

-- 
Maxime Ripard, Free Electrons
Embedded Linux, Kernel and Android engineering
http://free-electrons.com
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 819 bytes
Desc: Digital signature
URL: <http://lists.infradead.org/pipermail/linux-arm-kernel/attachments/20140515/9b5481c6/attachment.sig>

^ permalink raw reply	[flat|nested] 60+ messages in thread

* Re: [PATCH v2 1/6] wdt: sunxi: Move restart code to the watchdog driver
  2014-05-15  9:11       ` Maxime Ripard
@ 2014-05-19 15:04         ` Maxime Ripard
  -1 siblings, 0 replies; 60+ messages in thread
From: Maxime Ripard @ 2014-05-19 15:04 UTC (permalink / raw)
  To: wim, Guenter Roeck
  Cc: Arnd Bergmann, dbaryshkov, dwmw2, linux-arm-kernel, linux-kernel,
	linux-watchdog, linux-sunxi

[-- Attachment #1: Type: text/plain, Size: 893 bytes --]

On Thu, May 15, 2014 at 11:11:23AM +0200, Maxime Ripard wrote:
> On Wed, May 07, 2014 at 02:33:18PM -0700, Guenter Roeck wrote:
> > On Tue, May 06, 2014 at 09:44:19PM -0500, Maxime Ripard wrote:
> > > Most of the watchdog code is duplicated between the machine restart code and
> > > the watchdog driver. Add the restart hook to the watchdog driver, to be able to
> > > remove it from the machine code eventually.
> > > 
> > > Signed-off-by: Maxime Ripard <maxime.ripard@free-electrons.com>
> > > Acked-by: Arnd Bergmann <arnd@arndb.de>
> > 
> > Reviewed-by: Guenter Roeck <linux@roeck-us.net>
> 
> Wim, do you have any comment on this one?

Ping?

It would be really great to see this in 3.16, and we get quite close
to the end of ARM's merge window.

Maxime

-- 
Maxime Ripard, Free Electrons
Embedded Linux, Kernel and Android engineering
http://free-electrons.com

[-- Attachment #2: Digital signature --]
[-- Type: application/pgp-signature, Size: 819 bytes --]

^ permalink raw reply	[flat|nested] 60+ messages in thread

* [PATCH v2 1/6] wdt: sunxi: Move restart code to the watchdog driver
@ 2014-05-19 15:04         ` Maxime Ripard
  0 siblings, 0 replies; 60+ messages in thread
From: Maxime Ripard @ 2014-05-19 15:04 UTC (permalink / raw)
  To: linux-arm-kernel

On Thu, May 15, 2014 at 11:11:23AM +0200, Maxime Ripard wrote:
> On Wed, May 07, 2014 at 02:33:18PM -0700, Guenter Roeck wrote:
> > On Tue, May 06, 2014 at 09:44:19PM -0500, Maxime Ripard wrote:
> > > Most of the watchdog code is duplicated between the machine restart code and
> > > the watchdog driver. Add the restart hook to the watchdog driver, to be able to
> > > remove it from the machine code eventually.
> > > 
> > > Signed-off-by: Maxime Ripard <maxime.ripard@free-electrons.com>
> > > Acked-by: Arnd Bergmann <arnd@arndb.de>
> > 
> > Reviewed-by: Guenter Roeck <linux@roeck-us.net>
> 
> Wim, do you have any comment on this one?

Ping?

It would be really great to see this in 3.16, and we get quite close
to the end of ARM's merge window.

Maxime

-- 
Maxime Ripard, Free Electrons
Embedded Linux, Kernel and Android engineering
http://free-electrons.com
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 819 bytes
Desc: Digital signature
URL: <http://lists.infradead.org/pipermail/linux-arm-kernel/attachments/20140519/ab19d5ae/attachment.sig>

^ permalink raw reply	[flat|nested] 60+ messages in thread

* Re: [PATCH v2 1/6] wdt: sunxi: Move restart code to the watchdog driver
  2014-05-19 15:04         ` Maxime Ripard
@ 2014-05-22 20:34           ` Maxime Ripard
  -1 siblings, 0 replies; 60+ messages in thread
From: Maxime Ripard @ 2014-05-22 20:34 UTC (permalink / raw)
  To: wim, Guenter Roeck
  Cc: Arnd Bergmann, dbaryshkov, dwmw2, linux-arm-kernel, linux-kernel,
	linux-watchdog, linux-sunxi

[-- Attachment #1: Type: text/plain, Size: 1182 bytes --]

On Mon, May 19, 2014 at 05:04:22PM +0200, Maxime Ripard wrote:
> On Thu, May 15, 2014 at 11:11:23AM +0200, Maxime Ripard wrote:
> > On Wed, May 07, 2014 at 02:33:18PM -0700, Guenter Roeck wrote:
> > > On Tue, May 06, 2014 at 09:44:19PM -0500, Maxime Ripard wrote:
> > > > Most of the watchdog code is duplicated between the machine restart code and
> > > > the watchdog driver. Add the restart hook to the watchdog driver, to be able to
> > > > remove it from the machine code eventually.
> > > > 
> > > > Signed-off-by: Maxime Ripard <maxime.ripard@free-electrons.com>
> > > > Acked-by: Arnd Bergmann <arnd@arndb.de>
> > > 
> > > Reviewed-by: Guenter Roeck <linux@roeck-us.net>
> > 
> > Wim, do you have any comment on this one?
> 
> Ping?
> 
> It would be really great to see this in 3.16, and we get quite close
> to the end of ARM's merge window.

Ping?

Guenter, since you seem to be the only responsive, may I suggest that
you start merging patches and do a pull request to either Wim or Linus
directly during the merge window?

Maxime

-- 
Maxime Ripard, Free Electrons
Embedded Linux, Kernel and Android engineering
http://free-electrons.com

[-- Attachment #2: Digital signature --]
[-- Type: application/pgp-signature, Size: 819 bytes --]

^ permalink raw reply	[flat|nested] 60+ messages in thread

* [PATCH v2 1/6] wdt: sunxi: Move restart code to the watchdog driver
@ 2014-05-22 20:34           ` Maxime Ripard
  0 siblings, 0 replies; 60+ messages in thread
From: Maxime Ripard @ 2014-05-22 20:34 UTC (permalink / raw)
  To: linux-arm-kernel

On Mon, May 19, 2014 at 05:04:22PM +0200, Maxime Ripard wrote:
> On Thu, May 15, 2014 at 11:11:23AM +0200, Maxime Ripard wrote:
> > On Wed, May 07, 2014 at 02:33:18PM -0700, Guenter Roeck wrote:
> > > On Tue, May 06, 2014 at 09:44:19PM -0500, Maxime Ripard wrote:
> > > > Most of the watchdog code is duplicated between the machine restart code and
> > > > the watchdog driver. Add the restart hook to the watchdog driver, to be able to
> > > > remove it from the machine code eventually.
> > > > 
> > > > Signed-off-by: Maxime Ripard <maxime.ripard@free-electrons.com>
> > > > Acked-by: Arnd Bergmann <arnd@arndb.de>
> > > 
> > > Reviewed-by: Guenter Roeck <linux@roeck-us.net>
> > 
> > Wim, do you have any comment on this one?
> 
> Ping?
> 
> It would be really great to see this in 3.16, and we get quite close
> to the end of ARM's merge window.

Ping?

Guenter, since you seem to be the only responsive, may I suggest that
you start merging patches and do a pull request to either Wim or Linus
directly during the merge window?

Maxime

-- 
Maxime Ripard, Free Electrons
Embedded Linux, Kernel and Android engineering
http://free-electrons.com
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 819 bytes
Desc: Digital signature
URL: <http://lists.infradead.org/pipermail/linux-arm-kernel/attachments/20140522/f6bbe3dc/attachment.sig>

^ permalink raw reply	[flat|nested] 60+ messages in thread

* Re: [PATCH v2 1/6] wdt: sunxi: Move restart code to the watchdog driver
  2014-05-22 20:34           ` Maxime Ripard
@ 2014-05-22 20:39             ` One Thousand Gnomes
  -1 siblings, 0 replies; 60+ messages in thread
From: One Thousand Gnomes @ 2014-05-22 20:39 UTC (permalink / raw)
  To: Maxime Ripard
  Cc: wim, Guenter Roeck, Arnd Bergmann, dbaryshkov, dwmw2,
	linux-arm-kernel, linux-kernel, linux-watchdog, linux-sunxi

On Thu, 22 May 2014 22:34:44 +0200
Maxime Ripard <maxime.ripard@free-electrons.com> wrote:

> On Mon, May 19, 2014 at 05:04:22PM +0200, Maxime Ripard wrote:
> > On Thu, May 15, 2014 at 11:11:23AM +0200, Maxime Ripard wrote:
> > > On Wed, May 07, 2014 at 02:33:18PM -0700, Guenter Roeck wrote:
> > > > On Tue, May 06, 2014 at 09:44:19PM -0500, Maxime Ripard wrote:
> > > > > Most of the watchdog code is duplicated between the machine restart code and
> > > > > the watchdog driver. Add the restart hook to the watchdog driver, to be able to
> > > > > remove it from the machine code eventually.
> > > > > 
> > > > > Signed-off-by: Maxime Ripard <maxime.ripard@free-electrons.com>
> > > > > Acked-by: Arnd Bergmann <arnd@arndb.de>
> > > > 
> > > > Reviewed-by: Guenter Roeck <linux@roeck-us.net>
> > > 
> > > Wim, do you have any comment on this one?
> > 
> > Ping?
> > 
> > It would be really great to see this in 3.16, and we get quite close
> > to the end of ARM's merge window.
> 
> Ping?
> 
> Guenter, since you seem to be the only responsive, may I suggest that
> you start merging patches and do a pull request to either Wim or Linus
> directly during the merge window?

I've yet to see anyone explain why this is an improvement over the
current situation ?

^ permalink raw reply	[flat|nested] 60+ messages in thread

* [PATCH v2 1/6] wdt: sunxi: Move restart code to the watchdog driver
@ 2014-05-22 20:39             ` One Thousand Gnomes
  0 siblings, 0 replies; 60+ messages in thread
From: One Thousand Gnomes @ 2014-05-22 20:39 UTC (permalink / raw)
  To: linux-arm-kernel

On Thu, 22 May 2014 22:34:44 +0200
Maxime Ripard <maxime.ripard@free-electrons.com> wrote:

> On Mon, May 19, 2014 at 05:04:22PM +0200, Maxime Ripard wrote:
> > On Thu, May 15, 2014 at 11:11:23AM +0200, Maxime Ripard wrote:
> > > On Wed, May 07, 2014 at 02:33:18PM -0700, Guenter Roeck wrote:
> > > > On Tue, May 06, 2014 at 09:44:19PM -0500, Maxime Ripard wrote:
> > > > > Most of the watchdog code is duplicated between the machine restart code and
> > > > > the watchdog driver. Add the restart hook to the watchdog driver, to be able to
> > > > > remove it from the machine code eventually.
> > > > > 
> > > > > Signed-off-by: Maxime Ripard <maxime.ripard@free-electrons.com>
> > > > > Acked-by: Arnd Bergmann <arnd@arndb.de>
> > > > 
> > > > Reviewed-by: Guenter Roeck <linux@roeck-us.net>
> > > 
> > > Wim, do you have any comment on this one?
> > 
> > Ping?
> > 
> > It would be really great to see this in 3.16, and we get quite close
> > to the end of ARM's merge window.
> 
> Ping?
> 
> Guenter, since you seem to be the only responsive, may I suggest that
> you start merging patches and do a pull request to either Wim or Linus
> directly during the merge window?

I've yet to see anyone explain why this is an improvement over the
current situation ?

^ permalink raw reply	[flat|nested] 60+ messages in thread

* Re: [PATCH v2 1/6] wdt: sunxi: Move restart code to the watchdog driver
  2014-05-22 20:39             ` One Thousand Gnomes
@ 2014-05-22 20:56               ` Maxime Ripard
  -1 siblings, 0 replies; 60+ messages in thread
From: Maxime Ripard @ 2014-05-22 20:56 UTC (permalink / raw)
  To: One Thousand Gnomes
  Cc: wim, Guenter Roeck, Arnd Bergmann, dbaryshkov, dwmw2,
	linux-arm-kernel, linux-kernel, linux-watchdog, linux-sunxi

[-- Attachment #1: Type: text/plain, Size: 1562 bytes --]

On Thu, May 22, 2014 at 09:39:43PM +0100, One Thousand Gnomes wrote:
> On Thu, 22 May 2014 22:34:44 +0200
> Maxime Ripard <maxime.ripard@free-electrons.com> wrote:
> 
> > On Mon, May 19, 2014 at 05:04:22PM +0200, Maxime Ripard wrote:
> > > On Thu, May 15, 2014 at 11:11:23AM +0200, Maxime Ripard wrote:
> > > > On Wed, May 07, 2014 at 02:33:18PM -0700, Guenter Roeck wrote:
> > > > > On Tue, May 06, 2014 at 09:44:19PM -0500, Maxime Ripard wrote:
> > > > > > Most of the watchdog code is duplicated between the machine restart code and
> > > > > > the watchdog driver. Add the restart hook to the watchdog driver, to be able to
> > > > > > remove it from the machine code eventually.
> > > > > > 
> > > > > > Signed-off-by: Maxime Ripard <maxime.ripard@free-electrons.com>
> > > > > > Acked-by: Arnd Bergmann <arnd@arndb.de>
> > > > > 
> > > > > Reviewed-by: Guenter Roeck <linux@roeck-us.net>
> > > > 
> > > > Wim, do you have any comment on this one?
> > > 
> > > Ping?
> > > 
> > > It would be really great to see this in 3.16, and we get quite close
> > > to the end of ARM's merge window.
> > 
> > Ping?
> > 
> > Guenter, since you seem to be the only responsive, may I suggest that
> > you start merging patches and do a pull request to either Wim or Linus
> > directly during the merge window?
> 
> I've yet to see anyone explain why this is an improvement over the
> current situation ?

"This" being ... ?

-- 
Maxime Ripard, Free Electrons
Embedded Linux, Kernel and Android engineering
http://free-electrons.com

[-- Attachment #2: Digital signature --]
[-- Type: application/pgp-signature, Size: 819 bytes --]

^ permalink raw reply	[flat|nested] 60+ messages in thread

* [PATCH v2 1/6] wdt: sunxi: Move restart code to the watchdog driver
@ 2014-05-22 20:56               ` Maxime Ripard
  0 siblings, 0 replies; 60+ messages in thread
From: Maxime Ripard @ 2014-05-22 20:56 UTC (permalink / raw)
  To: linux-arm-kernel

On Thu, May 22, 2014 at 09:39:43PM +0100, One Thousand Gnomes wrote:
> On Thu, 22 May 2014 22:34:44 +0200
> Maxime Ripard <maxime.ripard@free-electrons.com> wrote:
> 
> > On Mon, May 19, 2014 at 05:04:22PM +0200, Maxime Ripard wrote:
> > > On Thu, May 15, 2014 at 11:11:23AM +0200, Maxime Ripard wrote:
> > > > On Wed, May 07, 2014 at 02:33:18PM -0700, Guenter Roeck wrote:
> > > > > On Tue, May 06, 2014 at 09:44:19PM -0500, Maxime Ripard wrote:
> > > > > > Most of the watchdog code is duplicated between the machine restart code and
> > > > > > the watchdog driver. Add the restart hook to the watchdog driver, to be able to
> > > > > > remove it from the machine code eventually.
> > > > > > 
> > > > > > Signed-off-by: Maxime Ripard <maxime.ripard@free-electrons.com>
> > > > > > Acked-by: Arnd Bergmann <arnd@arndb.de>
> > > > > 
> > > > > Reviewed-by: Guenter Roeck <linux@roeck-us.net>
> > > > 
> > > > Wim, do you have any comment on this one?
> > > 
> > > Ping?
> > > 
> > > It would be really great to see this in 3.16, and we get quite close
> > > to the end of ARM's merge window.
> > 
> > Ping?
> > 
> > Guenter, since you seem to be the only responsive, may I suggest that
> > you start merging patches and do a pull request to either Wim or Linus
> > directly during the merge window?
> 
> I've yet to see anyone explain why this is an improvement over the
> current situation ?

"This" being ... ?

-- 
Maxime Ripard, Free Electrons
Embedded Linux, Kernel and Android engineering
http://free-electrons.com
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 819 bytes
Desc: Digital signature
URL: <http://lists.infradead.org/pipermail/linux-arm-kernel/attachments/20140522/56d63281/attachment-0001.sig>

^ permalink raw reply	[flat|nested] 60+ messages in thread

* Re: [PATCH v2 1/6] wdt: sunxi: Move restart code to the watchdog driver
  2014-05-22 20:34           ` Maxime Ripard
@ 2014-05-22 21:12             ` Guenter Roeck
  -1 siblings, 0 replies; 60+ messages in thread
From: Guenter Roeck @ 2014-05-22 21:12 UTC (permalink / raw)
  To: Maxime Ripard
  Cc: wim, Arnd Bergmann, dbaryshkov, dwmw2, linux-arm-kernel,
	linux-kernel, linux-watchdog, linux-sunxi

On Thu, May 22, 2014 at 10:34:44PM +0200, Maxime Ripard wrote:
> On Mon, May 19, 2014 at 05:04:22PM +0200, Maxime Ripard wrote:
> > On Thu, May 15, 2014 at 11:11:23AM +0200, Maxime Ripard wrote:
> > > On Wed, May 07, 2014 at 02:33:18PM -0700, Guenter Roeck wrote:
> > > > On Tue, May 06, 2014 at 09:44:19PM -0500, Maxime Ripard wrote:
> > > > > Most of the watchdog code is duplicated between the machine restart code and
> > > > > the watchdog driver. Add the restart hook to the watchdog driver, to be able to
> > > > > remove it from the machine code eventually.
> > > > > 
> > > > > Signed-off-by: Maxime Ripard <maxime.ripard@free-electrons.com>
> > > > > Acked-by: Arnd Bergmann <arnd@arndb.de>
> > > > 
> > > > Reviewed-by: Guenter Roeck <linux@roeck-us.net>
> > > 
> > > Wim, do you have any comment on this one?
> > 
> > Ping?
> > 
> > It would be really great to see this in 3.16, and we get quite close
> > to the end of ARM's merge window.
> 
> Ping?
> 
> Guenter, since you seem to be the only responsive, may I suggest that
> you start merging patches and do a pull request to either Wim or Linus
> directly during the merge window?
> 
I had prepared a pull request for Wim last weekend or so, but then there
were more patches piling in and I got distracted, so I didn't have time
to actually send it. I'll try again this weekend ... the kids should be
busy learning for their finals, and I'll have Friday and Monday off
from work, so I should be able to find the time.

As for sending patches to Linus directly, well, Wim is the watchdog maintainer.
I manage to upset enough people, and would not want to add Wim to the list.

The patches _are_ in my watchdog-next branch and get some coverage from
both my auto-builders and from Fenguang's build robots, so while they are
not in linux-next, they are not completely in the dark either.

Guenter

^ permalink raw reply	[flat|nested] 60+ messages in thread

* [PATCH v2 1/6] wdt: sunxi: Move restart code to the watchdog driver
@ 2014-05-22 21:12             ` Guenter Roeck
  0 siblings, 0 replies; 60+ messages in thread
From: Guenter Roeck @ 2014-05-22 21:12 UTC (permalink / raw)
  To: linux-arm-kernel

On Thu, May 22, 2014 at 10:34:44PM +0200, Maxime Ripard wrote:
> On Mon, May 19, 2014 at 05:04:22PM +0200, Maxime Ripard wrote:
> > On Thu, May 15, 2014 at 11:11:23AM +0200, Maxime Ripard wrote:
> > > On Wed, May 07, 2014 at 02:33:18PM -0700, Guenter Roeck wrote:
> > > > On Tue, May 06, 2014 at 09:44:19PM -0500, Maxime Ripard wrote:
> > > > > Most of the watchdog code is duplicated between the machine restart code and
> > > > > the watchdog driver. Add the restart hook to the watchdog driver, to be able to
> > > > > remove it from the machine code eventually.
> > > > > 
> > > > > Signed-off-by: Maxime Ripard <maxime.ripard@free-electrons.com>
> > > > > Acked-by: Arnd Bergmann <arnd@arndb.de>
> > > > 
> > > > Reviewed-by: Guenter Roeck <linux@roeck-us.net>
> > > 
> > > Wim, do you have any comment on this one?
> > 
> > Ping?
> > 
> > It would be really great to see this in 3.16, and we get quite close
> > to the end of ARM's merge window.
> 
> Ping?
> 
> Guenter, since you seem to be the only responsive, may I suggest that
> you start merging patches and do a pull request to either Wim or Linus
> directly during the merge window?
> 
I had prepared a pull request for Wim last weekend or so, but then there
were more patches piling in and I got distracted, so I didn't have time
to actually send it. I'll try again this weekend ... the kids should be
busy learning for their finals, and I'll have Friday and Monday off
from work, so I should be able to find the time.

As for sending patches to Linus directly, well, Wim is the watchdog maintainer.
I manage to upset enough people, and would not want to add Wim to the list.

The patches _are_ in my watchdog-next branch and get some coverage from
both my auto-builders and from Fenguang's build robots, so while they are
not in linux-next, they are not completely in the dark either.

Guenter

^ permalink raw reply	[flat|nested] 60+ messages in thread

* Re: [PATCH v2 1/6] wdt: sunxi: Move restart code to the watchdog driver
  2014-05-22 21:12             ` Guenter Roeck
@ 2014-05-23  8:33               ` Maxime Ripard
  -1 siblings, 0 replies; 60+ messages in thread
From: Maxime Ripard @ 2014-05-23  8:33 UTC (permalink / raw)
  To: Guenter Roeck
  Cc: wim, Arnd Bergmann, dbaryshkov, dwmw2, linux-arm-kernel,
	linux-kernel, linux-watchdog, linux-sunxi

[-- Attachment #1: Type: text/plain, Size: 2210 bytes --]

On Thu, May 22, 2014 at 02:12:07PM -0700, Guenter Roeck wrote:
> On Thu, May 22, 2014 at 10:34:44PM +0200, Maxime Ripard wrote:
> > On Mon, May 19, 2014 at 05:04:22PM +0200, Maxime Ripard wrote:
> > > On Thu, May 15, 2014 at 11:11:23AM +0200, Maxime Ripard wrote:
> > > > On Wed, May 07, 2014 at 02:33:18PM -0700, Guenter Roeck wrote:
> > > > > On Tue, May 06, 2014 at 09:44:19PM -0500, Maxime Ripard wrote:
> > > > > > Most of the watchdog code is duplicated between the machine restart code and
> > > > > > the watchdog driver. Add the restart hook to the watchdog driver, to be able to
> > > > > > remove it from the machine code eventually.
> > > > > > 
> > > > > > Signed-off-by: Maxime Ripard <maxime.ripard@free-electrons.com>
> > > > > > Acked-by: Arnd Bergmann <arnd@arndb.de>
> > > > > 
> > > > > Reviewed-by: Guenter Roeck <linux@roeck-us.net>
> > > > 
> > > > Wim, do you have any comment on this one?
> > > 
> > > Ping?
> > > 
> > > It would be really great to see this in 3.16, and we get quite close
> > > to the end of ARM's merge window.
> > 
> > Ping?
> > 
> > Guenter, since you seem to be the only responsive, may I suggest that
> > you start merging patches and do a pull request to either Wim or Linus
> > directly during the merge window?
> > 
> I had prepared a pull request for Wim last weekend or so, but then there
> were more patches piling in and I got distracted, so I didn't have time
> to actually send it. I'll try again this weekend ... the kids should be
> busy learning for their finals, and I'll have Friday and Monday off
> from work, so I should be able to find the time.
> 
> As for sending patches to Linus directly, well, Wim is the watchdog maintainer.
> I manage to upset enough people, and would not want to add Wim to the list.
> 
> The patches _are_ in my watchdog-next branch and get some coverage from
> both my auto-builders and from Fenguang's build robots, so while they are
> not in linux-next, they are not completely in the dark either.

Ok, so I can merge the other patches then.

Thanks!
Maxime

-- 
Maxime Ripard, Free Electrons
Embedded Linux, Kernel and Android engineering
http://free-electrons.com

[-- Attachment #2: Digital signature --]
[-- Type: application/pgp-signature, Size: 819 bytes --]

^ permalink raw reply	[flat|nested] 60+ messages in thread

* [PATCH v2 1/6] wdt: sunxi: Move restart code to the watchdog driver
@ 2014-05-23  8:33               ` Maxime Ripard
  0 siblings, 0 replies; 60+ messages in thread
From: Maxime Ripard @ 2014-05-23  8:33 UTC (permalink / raw)
  To: linux-arm-kernel

On Thu, May 22, 2014 at 02:12:07PM -0700, Guenter Roeck wrote:
> On Thu, May 22, 2014 at 10:34:44PM +0200, Maxime Ripard wrote:
> > On Mon, May 19, 2014 at 05:04:22PM +0200, Maxime Ripard wrote:
> > > On Thu, May 15, 2014 at 11:11:23AM +0200, Maxime Ripard wrote:
> > > > On Wed, May 07, 2014 at 02:33:18PM -0700, Guenter Roeck wrote:
> > > > > On Tue, May 06, 2014 at 09:44:19PM -0500, Maxime Ripard wrote:
> > > > > > Most of the watchdog code is duplicated between the machine restart code and
> > > > > > the watchdog driver. Add the restart hook to the watchdog driver, to be able to
> > > > > > remove it from the machine code eventually.
> > > > > > 
> > > > > > Signed-off-by: Maxime Ripard <maxime.ripard@free-electrons.com>
> > > > > > Acked-by: Arnd Bergmann <arnd@arndb.de>
> > > > > 
> > > > > Reviewed-by: Guenter Roeck <linux@roeck-us.net>
> > > > 
> > > > Wim, do you have any comment on this one?
> > > 
> > > Ping?
> > > 
> > > It would be really great to see this in 3.16, and we get quite close
> > > to the end of ARM's merge window.
> > 
> > Ping?
> > 
> > Guenter, since you seem to be the only responsive, may I suggest that
> > you start merging patches and do a pull request to either Wim or Linus
> > directly during the merge window?
> > 
> I had prepared a pull request for Wim last weekend or so, but then there
> were more patches piling in and I got distracted, so I didn't have time
> to actually send it. I'll try again this weekend ... the kids should be
> busy learning for their finals, and I'll have Friday and Monday off
> from work, so I should be able to find the time.
> 
> As for sending patches to Linus directly, well, Wim is the watchdog maintainer.
> I manage to upset enough people, and would not want to add Wim to the list.
> 
> The patches _are_ in my watchdog-next branch and get some coverage from
> both my auto-builders and from Fenguang's build robots, so while they are
> not in linux-next, they are not completely in the dark either.

Ok, so I can merge the other patches then.

Thanks!
Maxime

-- 
Maxime Ripard, Free Electrons
Embedded Linux, Kernel and Android engineering
http://free-electrons.com
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 819 bytes
Desc: Digital signature
URL: <http://lists.infradead.org/pipermail/linux-arm-kernel/attachments/20140523/11b568dc/attachment.sig>

^ permalink raw reply	[flat|nested] 60+ messages in thread

* Re: [PATCH v2 1/6] wdt: sunxi: Move restart code to the watchdog driver
  2014-05-22 21:12             ` Guenter Roeck
@ 2014-06-23 10:31               ` Maxime Ripard
  -1 siblings, 0 replies; 60+ messages in thread
From: Maxime Ripard @ 2014-06-23 10:31 UTC (permalink / raw)
  To: wim, Guenter Roeck
  Cc: Arnd Bergmann, dbaryshkov, dwmw2, linux-arm-kernel, linux-kernel,
	linux-watchdog, linux-sunxi

[-- Attachment #1: Type: text/plain, Size: 2411 bytes --]

On Thu, May 22, 2014 at 02:12:07PM -0700, Guenter Roeck wrote:
> On Thu, May 22, 2014 at 10:34:44PM +0200, Maxime Ripard wrote:
> > On Mon, May 19, 2014 at 05:04:22PM +0200, Maxime Ripard wrote:
> > > On Thu, May 15, 2014 at 11:11:23AM +0200, Maxime Ripard wrote:
> > > > On Wed, May 07, 2014 at 02:33:18PM -0700, Guenter Roeck wrote:
> > > > > On Tue, May 06, 2014 at 09:44:19PM -0500, Maxime Ripard wrote:
> > > > > > Most of the watchdog code is duplicated between the machine restart code and
> > > > > > the watchdog driver. Add the restart hook to the watchdog driver, to be able to
> > > > > > remove it from the machine code eventually.
> > > > > > 
> > > > > > Signed-off-by: Maxime Ripard <maxime.ripard@free-electrons.com>
> > > > > > Acked-by: Arnd Bergmann <arnd@arndb.de>
> > > > > 
> > > > > Reviewed-by: Guenter Roeck <linux@roeck-us.net>
> > > > 
> > > > Wim, do you have any comment on this one?
> > > 
> > > Ping?
> > > 
> > > It would be really great to see this in 3.16, and we get quite close
> > > to the end of ARM's merge window.
> > 
> > Ping?
> > 
> > Guenter, since you seem to be the only responsive, may I suggest that
> > you start merging patches and do a pull request to either Wim or Linus
> > directly during the merge window?
> > 
> I had prepared a pull request for Wim last weekend or so, but then there
> were more patches piling in and I got distracted, so I didn't have time
> to actually send it. I'll try again this weekend ... the kids should be
> busy learning for their finals, and I'll have Friday and Monday off
> from work, so I should be able to find the time.
> 
> As for sending patches to Linus directly, well, Wim is the watchdog maintainer.
> I manage to upset enough people, and would not want to add Wim to the list.
> 
> The patches _are_ in my watchdog-next branch and get some coverage from
> both my auto-builders and from Fenguang's build robots, so while they are
> not in linux-next, they are not completely in the dark either.

So, this patch finally didn't make it into 3.16. Great. Now, we can't
even reboot the boards.

Given how it's just impossible to get something merged reliably
through the watchdog tree, I guess I should just start merging the
patches through mine?

Maxime

-- 
Maxime Ripard, Free Electrons
Embedded Linux, Kernel and Android engineering
http://free-electrons.com

[-- Attachment #2: Digital signature --]
[-- Type: application/pgp-signature, Size: 819 bytes --]

^ permalink raw reply	[flat|nested] 60+ messages in thread

* [PATCH v2 1/6] wdt: sunxi: Move restart code to the watchdog driver
@ 2014-06-23 10:31               ` Maxime Ripard
  0 siblings, 0 replies; 60+ messages in thread
From: Maxime Ripard @ 2014-06-23 10:31 UTC (permalink / raw)
  To: linux-arm-kernel

On Thu, May 22, 2014 at 02:12:07PM -0700, Guenter Roeck wrote:
> On Thu, May 22, 2014 at 10:34:44PM +0200, Maxime Ripard wrote:
> > On Mon, May 19, 2014 at 05:04:22PM +0200, Maxime Ripard wrote:
> > > On Thu, May 15, 2014 at 11:11:23AM +0200, Maxime Ripard wrote:
> > > > On Wed, May 07, 2014 at 02:33:18PM -0700, Guenter Roeck wrote:
> > > > > On Tue, May 06, 2014 at 09:44:19PM -0500, Maxime Ripard wrote:
> > > > > > Most of the watchdog code is duplicated between the machine restart code and
> > > > > > the watchdog driver. Add the restart hook to the watchdog driver, to be able to
> > > > > > remove it from the machine code eventually.
> > > > > > 
> > > > > > Signed-off-by: Maxime Ripard <maxime.ripard@free-electrons.com>
> > > > > > Acked-by: Arnd Bergmann <arnd@arndb.de>
> > > > > 
> > > > > Reviewed-by: Guenter Roeck <linux@roeck-us.net>
> > > > 
> > > > Wim, do you have any comment on this one?
> > > 
> > > Ping?
> > > 
> > > It would be really great to see this in 3.16, and we get quite close
> > > to the end of ARM's merge window.
> > 
> > Ping?
> > 
> > Guenter, since you seem to be the only responsive, may I suggest that
> > you start merging patches and do a pull request to either Wim or Linus
> > directly during the merge window?
> > 
> I had prepared a pull request for Wim last weekend or so, but then there
> were more patches piling in and I got distracted, so I didn't have time
> to actually send it. I'll try again this weekend ... the kids should be
> busy learning for their finals, and I'll have Friday and Monday off
> from work, so I should be able to find the time.
> 
> As for sending patches to Linus directly, well, Wim is the watchdog maintainer.
> I manage to upset enough people, and would not want to add Wim to the list.
> 
> The patches _are_ in my watchdog-next branch and get some coverage from
> both my auto-builders and from Fenguang's build robots, so while they are
> not in linux-next, they are not completely in the dark either.

So, this patch finally didn't make it into 3.16. Great. Now, we can't
even reboot the boards.

Given how it's just impossible to get something merged reliably
through the watchdog tree, I guess I should just start merging the
patches through mine?

Maxime

-- 
Maxime Ripard, Free Electrons
Embedded Linux, Kernel and Android engineering
http://free-electrons.com
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 819 bytes
Desc: Digital signature
URL: <http://lists.infradead.org/pipermail/linux-arm-kernel/attachments/20140623/8b71e6ef/attachment.sig>

^ permalink raw reply	[flat|nested] 60+ messages in thread

* Re: [PATCH v2 1/6] wdt: sunxi: Move restart code to the watchdog driver
  2014-06-23 10:31               ` Maxime Ripard
@ 2014-06-23 14:30                 ` Guenter Roeck
  -1 siblings, 0 replies; 60+ messages in thread
From: Guenter Roeck @ 2014-06-23 14:30 UTC (permalink / raw)
  To: Maxime Ripard, wim
  Cc: Arnd Bergmann, dbaryshkov, dwmw2, linux-arm-kernel, linux-kernel,
	linux-watchdog, linux-sunxi

On 06/23/2014 03:31 AM, Maxime Ripard wrote:
> On Thu, May 22, 2014 at 02:12:07PM -0700, Guenter Roeck wrote:
>> On Thu, May 22, 2014 at 10:34:44PM +0200, Maxime Ripard wrote:
>>> On Mon, May 19, 2014 at 05:04:22PM +0200, Maxime Ripard wrote:
>>>> On Thu, May 15, 2014 at 11:11:23AM +0200, Maxime Ripard wrote:
>>>>> On Wed, May 07, 2014 at 02:33:18PM -0700, Guenter Roeck wrote:
>>>>>> On Tue, May 06, 2014 at 09:44:19PM -0500, Maxime Ripard wrote:
>>>>>>> Most of the watchdog code is duplicated between the machine restart code and
>>>>>>> the watchdog driver. Add the restart hook to the watchdog driver, to be able to
>>>>>>> remove it from the machine code eventually.
>>>>>>>
>>>>>>> Signed-off-by: Maxime Ripard <maxime.ripard@free-electrons.com>
>>>>>>> Acked-by: Arnd Bergmann <arnd@arndb.de>
>>>>>>
>>>>>> Reviewed-by: Guenter Roeck <linux@roeck-us.net>
>>>>>
>>>>> Wim, do you have any comment on this one?
>>>>
>>>> Ping?
>>>>
>>>> It would be really great to see this in 3.16, and we get quite close
>>>> to the end of ARM's merge window.
>>>
>>> Ping?
>>>
>>> Guenter, since you seem to be the only responsive, may I suggest that
>>> you start merging patches and do a pull request to either Wim or Linus
>>> directly during the merge window?
>>>
>> I had prepared a pull request for Wim last weekend or so, but then there
>> were more patches piling in and I got distracted, so I didn't have time
>> to actually send it. I'll try again this weekend ... the kids should be
>> busy learning for their finals, and I'll have Friday and Monday off
>> from work, so I should be able to find the time.
>>
>> As for sending patches to Linus directly, well, Wim is the watchdog maintainer.
>> I manage to upset enough people, and would not want to add Wim to the list.
>>
>> The patches _are_ in my watchdog-next branch and get some coverage from
>> both my auto-builders and from Fenguang's build robots, so while they are
>> not in linux-next, they are not completely in the dark either.
>
> So, this patch finally didn't make it into 3.16. Great. Now, we can't
> even reboot the boards.
>
> Given how it's just impossible to get something merged reliably
> through the watchdog tree, I guess I should just start merging the
> patches through mine?
>

You can not really blame Wim here.

In this case, I suspect the major reason for not accepting the patch
is that I tried to provide a clean method / API for "reset through watchdog
subsystem", which went nowhere, in my understanding because someone objected
that it would be the wrong thing to do [1] and it didn't get approval /
acceptance from the arm maintainers. If it is wrong to reset the board
from the watchdog subsystem in a clean way, it is for sure even more wrong
to do it as you proposed in your patch.

My conclusion therefore is that all board reset code should move back out
of the watchdog subsystem, and that we should not accept such code in the
future. This is not my personal preference, but I do believe that we should
do it in a clean way or not at all.

Guenter

---
[1] https://lkml.org/lkml/2014/5/15/838

^ permalink raw reply	[flat|nested] 60+ messages in thread

* [PATCH v2 1/6] wdt: sunxi: Move restart code to the watchdog driver
@ 2014-06-23 14:30                 ` Guenter Roeck
  0 siblings, 0 replies; 60+ messages in thread
From: Guenter Roeck @ 2014-06-23 14:30 UTC (permalink / raw)
  To: linux-arm-kernel

On 06/23/2014 03:31 AM, Maxime Ripard wrote:
> On Thu, May 22, 2014 at 02:12:07PM -0700, Guenter Roeck wrote:
>> On Thu, May 22, 2014 at 10:34:44PM +0200, Maxime Ripard wrote:
>>> On Mon, May 19, 2014 at 05:04:22PM +0200, Maxime Ripard wrote:
>>>> On Thu, May 15, 2014 at 11:11:23AM +0200, Maxime Ripard wrote:
>>>>> On Wed, May 07, 2014 at 02:33:18PM -0700, Guenter Roeck wrote:
>>>>>> On Tue, May 06, 2014 at 09:44:19PM -0500, Maxime Ripard wrote:
>>>>>>> Most of the watchdog code is duplicated between the machine restart code and
>>>>>>> the watchdog driver. Add the restart hook to the watchdog driver, to be able to
>>>>>>> remove it from the machine code eventually.
>>>>>>>
>>>>>>> Signed-off-by: Maxime Ripard <maxime.ripard@free-electrons.com>
>>>>>>> Acked-by: Arnd Bergmann <arnd@arndb.de>
>>>>>>
>>>>>> Reviewed-by: Guenter Roeck <linux@roeck-us.net>
>>>>>
>>>>> Wim, do you have any comment on this one?
>>>>
>>>> Ping?
>>>>
>>>> It would be really great to see this in 3.16, and we get quite close
>>>> to the end of ARM's merge window.
>>>
>>> Ping?
>>>
>>> Guenter, since you seem to be the only responsive, may I suggest that
>>> you start merging patches and do a pull request to either Wim or Linus
>>> directly during the merge window?
>>>
>> I had prepared a pull request for Wim last weekend or so, but then there
>> were more patches piling in and I got distracted, so I didn't have time
>> to actually send it. I'll try again this weekend ... the kids should be
>> busy learning for their finals, and I'll have Friday and Monday off
>> from work, so I should be able to find the time.
>>
>> As for sending patches to Linus directly, well, Wim is the watchdog maintainer.
>> I manage to upset enough people, and would not want to add Wim to the list.
>>
>> The patches _are_ in my watchdog-next branch and get some coverage from
>> both my auto-builders and from Fenguang's build robots, so while they are
>> not in linux-next, they are not completely in the dark either.
>
> So, this patch finally didn't make it into 3.16. Great. Now, we can't
> even reboot the boards.
>
> Given how it's just impossible to get something merged reliably
> through the watchdog tree, I guess I should just start merging the
> patches through mine?
>

You can not really blame Wim here.

In this case, I suspect the major reason for not accepting the patch
is that I tried to provide a clean method / API for "reset through watchdog
subsystem", which went nowhere, in my understanding because someone objected
that it would be the wrong thing to do [1] and it didn't get approval /
acceptance from the arm maintainers. If it is wrong to reset the board
from the watchdog subsystem in a clean way, it is for sure even more wrong
to do it as you proposed in your patch.

My conclusion therefore is that all board reset code should move back out
of the watchdog subsystem, and that we should not accept such code in the
future. This is not my personal preference, but I do believe that we should
do it in a clean way or not at all.

Guenter

---
[1] https://lkml.org/lkml/2014/5/15/838

^ permalink raw reply	[flat|nested] 60+ messages in thread

* Re: [PATCH v2 1/6] wdt: sunxi: Move restart code to the watchdog driver
  2014-06-23 14:30                 ` Guenter Roeck
@ 2014-06-23 14:42                   ` Arnd Bergmann
  -1 siblings, 0 replies; 60+ messages in thread
From: Arnd Bergmann @ 2014-06-23 14:42 UTC (permalink / raw)
  To: Guenter Roeck
  Cc: Maxime Ripard, wim, dbaryshkov, dwmw2, linux-arm-kernel,
	linux-kernel, linux-watchdog, linux-sunxi

On Monday 23 June 2014 07:30:56 Guenter Roeck wrote:
> On 06/23/2014 03:31 AM, Maxime Ripard wrote:
> > On Thu, May 22, 2014 at 02:12:07PM -0700, Guenter Roeck wrote:
> >> On Thu, May 22, 2014 at 10:34:44PM +0200, Maxime Ripard wrote:
> >>> On Mon, May 19, 2014 at 05:04:22PM +0200, Maxime Ripard wrote:
> >>
> >> The patches _are_ in my watchdog-next branch and get some coverage from
> >> both my auto-builders and from Fenguang's build robots, so while they are
> >> not in linux-next, they are not completely in the dark either.
> >
> > So, this patch finally didn't make it into 3.16. Great. Now, we can't
> > even reboot the boards.
> >
> > Given how it's just impossible to get something merged reliably
> > through the watchdog tree, I guess I should just start merging the
> > patches through mine?
> >
> 
> You can not really blame Wim here.
> 
> In this case, I suspect the major reason for not accepting the patch
> is that I tried to provide a clean method / API for "reset through watchdog
> subsystem", which went nowhere, in my understanding because someone objected
> that it would be the wrong thing to do [1] and it didn't get approval /
> acceptance from the arm maintainers. If it is wrong to reset the board
> from the watchdog subsystem in a clean way, it is for sure even more wrong
> to do it as you proposed in your patch.
> 
> My conclusion therefore is that all board reset code should move back out
> of the watchdog subsystem, and that we should not accept such code in the
> future. This is not my personal preference, but I do believe that we should
> do it in a clean way or not at all.

Moved to where?

I certainly don't want it in the platform directories, and for arm64 we
intentionally don't have a place to put this stuff.

drivers/power/reset would be an option, but then we have to solve the
problem of loading two drivers for one device first.

	Arnd


^ permalink raw reply	[flat|nested] 60+ messages in thread

* [PATCH v2 1/6] wdt: sunxi: Move restart code to the watchdog driver
@ 2014-06-23 14:42                   ` Arnd Bergmann
  0 siblings, 0 replies; 60+ messages in thread
From: Arnd Bergmann @ 2014-06-23 14:42 UTC (permalink / raw)
  To: linux-arm-kernel

On Monday 23 June 2014 07:30:56 Guenter Roeck wrote:
> On 06/23/2014 03:31 AM, Maxime Ripard wrote:
> > On Thu, May 22, 2014 at 02:12:07PM -0700, Guenter Roeck wrote:
> >> On Thu, May 22, 2014 at 10:34:44PM +0200, Maxime Ripard wrote:
> >>> On Mon, May 19, 2014 at 05:04:22PM +0200, Maxime Ripard wrote:
> >>
> >> The patches _are_ in my watchdog-next branch and get some coverage from
> >> both my auto-builders and from Fenguang's build robots, so while they are
> >> not in linux-next, they are not completely in the dark either.
> >
> > So, this patch finally didn't make it into 3.16. Great. Now, we can't
> > even reboot the boards.
> >
> > Given how it's just impossible to get something merged reliably
> > through the watchdog tree, I guess I should just start merging the
> > patches through mine?
> >
> 
> You can not really blame Wim here.
> 
> In this case, I suspect the major reason for not accepting the patch
> is that I tried to provide a clean method / API for "reset through watchdog
> subsystem", which went nowhere, in my understanding because someone objected
> that it would be the wrong thing to do [1] and it didn't get approval /
> acceptance from the arm maintainers. If it is wrong to reset the board
> from the watchdog subsystem in a clean way, it is for sure even more wrong
> to do it as you proposed in your patch.
> 
> My conclusion therefore is that all board reset code should move back out
> of the watchdog subsystem, and that we should not accept such code in the
> future. This is not my personal preference, but I do believe that we should
> do it in a clean way or not at all.

Moved to where?

I certainly don't want it in the platform directories, and for arm64 we
intentionally don't have a place to put this stuff.

drivers/power/reset would be an option, but then we have to solve the
problem of loading two drivers for one device first.

	Arnd

^ permalink raw reply	[flat|nested] 60+ messages in thread

* Re: [PATCH v2 1/6] wdt: sunxi: Move restart code to the watchdog driver
  2014-06-23 14:42                   ` Arnd Bergmann
@ 2014-06-23 15:16                     ` Guenter Roeck
  -1 siblings, 0 replies; 60+ messages in thread
From: Guenter Roeck @ 2014-06-23 15:16 UTC (permalink / raw)
  To: Arnd Bergmann
  Cc: Maxime Ripard, wim, dbaryshkov, dwmw2, linux-arm-kernel,
	linux-kernel, linux-watchdog, linux-sunxi

On 06/23/2014 07:42 AM, Arnd Bergmann wrote:
> On Monday 23 June 2014 07:30:56 Guenter Roeck wrote:
>> On 06/23/2014 03:31 AM, Maxime Ripard wrote:
>>> On Thu, May 22, 2014 at 02:12:07PM -0700, Guenter Roeck wrote:
>>>> On Thu, May 22, 2014 at 10:34:44PM +0200, Maxime Ripard wrote:
>>>>> On Mon, May 19, 2014 at 05:04:22PM +0200, Maxime Ripard wrote:
>>>>
>>>> The patches _are_ in my watchdog-next branch and get some coverage from
>>>> both my auto-builders and from Fenguang's build robots, so while they are
>>>> not in linux-next, they are not completely in the dark either.
>>>
>>> So, this patch finally didn't make it into 3.16. Great. Now, we can't
>>> even reboot the boards.
>>>
>>> Given how it's just impossible to get something merged reliably
>>> through the watchdog tree, I guess I should just start merging the
>>> patches through mine?
>>>
>>
>> You can not really blame Wim here.
>>
>> In this case, I suspect the major reason for not accepting the patch
>> is that I tried to provide a clean method / API for "reset through watchdog
>> subsystem", which went nowhere, in my understanding because someone objected
>> that it would be the wrong thing to do [1] and it didn't get approval /
>> acceptance from the arm maintainers. If it is wrong to reset the board
>> from the watchdog subsystem in a clean way, it is for sure even more wrong
>> to do it as you proposed in your patch.
>>
>> My conclusion therefore is that all board reset code should move back out
>> of the watchdog subsystem, and that we should not accept such code in the
>> future. This is not my personal preference, but I do believe that we should
>> do it in a clean way or not at all.
>
> Moved to where?
>
> I certainly don't want it in the platform directories, and for arm64 we
> intentionally don't have a place to put this stuff.
>

I have no idea, but setting the arm reset function pointer from a watchdog
driver doesn't seem like a good idea either. The arm code _does_ provide
and expect platform code to set the reset function, so having it in the arm
code would at least make more sense than expecting some unrelated driver
code to set it - especially since it is inherently racy [1].

> drivers/power/reset would be an option, but then we have to solve the
> problem of loading two drivers for one device first.
>
It sounds crazy and may be huge overkill, but one solution for this is
would be to use mfd to bridge the gap.

Guenter

---
[1] https://lkml.org/lkml/2014/5/15/838


^ permalink raw reply	[flat|nested] 60+ messages in thread

* [PATCH v2 1/6] wdt: sunxi: Move restart code to the watchdog driver
@ 2014-06-23 15:16                     ` Guenter Roeck
  0 siblings, 0 replies; 60+ messages in thread
From: Guenter Roeck @ 2014-06-23 15:16 UTC (permalink / raw)
  To: linux-arm-kernel

On 06/23/2014 07:42 AM, Arnd Bergmann wrote:
> On Monday 23 June 2014 07:30:56 Guenter Roeck wrote:
>> On 06/23/2014 03:31 AM, Maxime Ripard wrote:
>>> On Thu, May 22, 2014 at 02:12:07PM -0700, Guenter Roeck wrote:
>>>> On Thu, May 22, 2014 at 10:34:44PM +0200, Maxime Ripard wrote:
>>>>> On Mon, May 19, 2014 at 05:04:22PM +0200, Maxime Ripard wrote:
>>>>
>>>> The patches _are_ in my watchdog-next branch and get some coverage from
>>>> both my auto-builders and from Fenguang's build robots, so while they are
>>>> not in linux-next, they are not completely in the dark either.
>>>
>>> So, this patch finally didn't make it into 3.16. Great. Now, we can't
>>> even reboot the boards.
>>>
>>> Given how it's just impossible to get something merged reliably
>>> through the watchdog tree, I guess I should just start merging the
>>> patches through mine?
>>>
>>
>> You can not really blame Wim here.
>>
>> In this case, I suspect the major reason for not accepting the patch
>> is that I tried to provide a clean method / API for "reset through watchdog
>> subsystem", which went nowhere, in my understanding because someone objected
>> that it would be the wrong thing to do [1] and it didn't get approval /
>> acceptance from the arm maintainers. If it is wrong to reset the board
>> from the watchdog subsystem in a clean way, it is for sure even more wrong
>> to do it as you proposed in your patch.
>>
>> My conclusion therefore is that all board reset code should move back out
>> of the watchdog subsystem, and that we should not accept such code in the
>> future. This is not my personal preference, but I do believe that we should
>> do it in a clean way or not at all.
>
> Moved to where?
>
> I certainly don't want it in the platform directories, and for arm64 we
> intentionally don't have a place to put this stuff.
>

I have no idea, but setting the arm reset function pointer from a watchdog
driver doesn't seem like a good idea either. The arm code _does_ provide
and expect platform code to set the reset function, so having it in the arm
code would at least make more sense than expecting some unrelated driver
code to set it - especially since it is inherently racy [1].

> drivers/power/reset would be an option, but then we have to solve the
> problem of loading two drivers for one device first.
>
It sounds crazy and may be huge overkill, but one solution for this is
would be to use mfd to bridge the gap.

Guenter

---
[1] https://lkml.org/lkml/2014/5/15/838

^ permalink raw reply	[flat|nested] 60+ messages in thread

* Re: [PATCH v2 1/6] wdt: sunxi: Move restart code to the watchdog driver
  2014-06-23 15:16                     ` Guenter Roeck
@ 2014-06-23 15:35                       ` Arnd Bergmann
  -1 siblings, 0 replies; 60+ messages in thread
From: Arnd Bergmann @ 2014-06-23 15:35 UTC (permalink / raw)
  To: Guenter Roeck
  Cc: Maxime Ripard, wim, dbaryshkov, dwmw2, linux-arm-kernel,
	linux-kernel, linux-watchdog, linux-sunxi

On Monday 23 June 2014 08:16:18 Guenter Roeck wrote:
> > Moved to where?
> >
> > I certainly don't want it in the platform directories, and for arm64 we
> > intentionally don't have a place to put this stuff.
> >
> 
> I have no idea, but setting the arm reset function pointer from a watchdog
> driver doesn't seem like a good idea either. The arm code _does_ provide
> and expect platform code to set the reset function, so having it in the arm
> code would at least make more sense than expecting some unrelated driver
> code to set it - especially since it is inherently racy [1].

I don't think the race is inherent. We could solve the multiple registration
problem and the unload problem using a notifier chain. If there are actually
cases where we expect to see multiple reboot functions to be present in the
system, we could go one step further and have a priority associated with
it, so we try the best function first and fall back to soft_restart()
if everything else fails.

	Arnd

^ permalink raw reply	[flat|nested] 60+ messages in thread

* [PATCH v2 1/6] wdt: sunxi: Move restart code to the watchdog driver
@ 2014-06-23 15:35                       ` Arnd Bergmann
  0 siblings, 0 replies; 60+ messages in thread
From: Arnd Bergmann @ 2014-06-23 15:35 UTC (permalink / raw)
  To: linux-arm-kernel

On Monday 23 June 2014 08:16:18 Guenter Roeck wrote:
> > Moved to where?
> >
> > I certainly don't want it in the platform directories, and for arm64 we
> > intentionally don't have a place to put this stuff.
> >
> 
> I have no idea, but setting the arm reset function pointer from a watchdog
> driver doesn't seem like a good idea either. The arm code _does_ provide
> and expect platform code to set the reset function, so having it in the arm
> code would at least make more sense than expecting some unrelated driver
> code to set it - especially since it is inherently racy [1].

I don't think the race is inherent. We could solve the multiple registration
problem and the unload problem using a notifier chain. If there are actually
cases where we expect to see multiple reboot functions to be present in the
system, we could go one step further and have a priority associated with
it, so we try the best function first and fall back to soft_restart()
if everything else fails.

	Arnd

^ permalink raw reply	[flat|nested] 60+ messages in thread

* Re: [PATCH v2 1/6] wdt: sunxi: Move restart code to the watchdog driver
  2014-06-23 15:35                       ` Arnd Bergmann
@ 2014-06-23 15:40                         ` Guenter Roeck
  -1 siblings, 0 replies; 60+ messages in thread
From: Guenter Roeck @ 2014-06-23 15:40 UTC (permalink / raw)
  To: Arnd Bergmann
  Cc: Maxime Ripard, wim, dbaryshkov, dwmw2, linux-arm-kernel,
	linux-kernel, linux-watchdog, linux-sunxi

On 06/23/2014 08:35 AM, Arnd Bergmann wrote:
> On Monday 23 June 2014 08:16:18 Guenter Roeck wrote:
>>> Moved to where?
>>>
>>> I certainly don't want it in the platform directories, and for arm64 we
>>> intentionally don't have a place to put this stuff.
>>>
>>
>> I have no idea, but setting the arm reset function pointer from a watchdog
>> driver doesn't seem like a good idea either. The arm code _does_ provide
>> and expect platform code to set the reset function, so having it in the arm
>> code would at least make more sense than expecting some unrelated driver
>> code to set it - especially since it is inherently racy [1].
>
> I don't think the race is inherent. We could solve the multiple registration
> problem and the unload problem using a notifier chain. If there are actually
> cases where we expect to see multiple reboot functions to be present in the
> system, we could go one step further and have a priority associated with
> it, so we try the best function first and fall back to soft_restart()
> if everything else fails.
>

You mean something like a restart notifier, which would be called from
architecture code (and replace the arm reset function pointer) ?
Yes, that sounds like a possible solution.

Guenter



^ permalink raw reply	[flat|nested] 60+ messages in thread

* [PATCH v2 1/6] wdt: sunxi: Move restart code to the watchdog driver
@ 2014-06-23 15:40                         ` Guenter Roeck
  0 siblings, 0 replies; 60+ messages in thread
From: Guenter Roeck @ 2014-06-23 15:40 UTC (permalink / raw)
  To: linux-arm-kernel

On 06/23/2014 08:35 AM, Arnd Bergmann wrote:
> On Monday 23 June 2014 08:16:18 Guenter Roeck wrote:
>>> Moved to where?
>>>
>>> I certainly don't want it in the platform directories, and for arm64 we
>>> intentionally don't have a place to put this stuff.
>>>
>>
>> I have no idea, but setting the arm reset function pointer from a watchdog
>> driver doesn't seem like a good idea either. The arm code _does_ provide
>> and expect platform code to set the reset function, so having it in the arm
>> code would at least make more sense than expecting some unrelated driver
>> code to set it - especially since it is inherently racy [1].
>
> I don't think the race is inherent. We could solve the multiple registration
> problem and the unload problem using a notifier chain. If there are actually
> cases where we expect to see multiple reboot functions to be present in the
> system, we could go one step further and have a priority associated with
> it, so we try the best function first and fall back to soft_restart()
> if everything else fails.
>

You mean something like a restart notifier, which would be called from
architecture code (and replace the arm reset function pointer) ?
Yes, that sounds like a possible solution.

Guenter

^ permalink raw reply	[flat|nested] 60+ messages in thread

* Re: [PATCH v2 1/6] wdt: sunxi: Move restart code to the watchdog driver
  2014-06-23 14:30                 ` Guenter Roeck
@ 2014-06-23 15:49                   ` Maxime Ripard
  -1 siblings, 0 replies; 60+ messages in thread
From: Maxime Ripard @ 2014-06-23 15:49 UTC (permalink / raw)
  To: Guenter Roeck
  Cc: wim, Arnd Bergmann, dbaryshkov, dwmw2, linux-arm-kernel,
	linux-kernel, linux-watchdog, linux-sunxi

[-- Attachment #1: Type: text/plain, Size: 2169 bytes --]

On Mon, Jun 23, 2014 at 07:30:56AM -0700, Guenter Roeck wrote:
> >>The patches _are_ in my watchdog-next branch and get some coverage from
> >>both my auto-builders and from Fenguang's build robots, so while they are
> >>not in linux-next, they are not completely in the dark either.
> >
> >So, this patch finally didn't make it into 3.16. Great. Now, we can't
> >even reboot the boards.
> >
> >Given how it's just impossible to get something merged reliably
> >through the watchdog tree, I guess I should just start merging the
> >patches through mine?
> >
> 
> You can not really blame Wim here.
> 
> In this case, I suspect the major reason for not accepting the patch
> is that I tried to provide a clean method / API for "reset through watchdog
> subsystem", which went nowhere, in my understanding because someone objected
> that it would be the wrong thing to do [1] and it didn't get approval /
> acceptance from the arm maintainers. If it is wrong to reset the board
> from the watchdog subsystem in a clean way, it is for sure even more wrong
> to do it as you proposed in your patch.
> 
> My conclusion therefore is that all board reset code should move back out
> of the watchdog subsystem, and that we should not accept such code in the
> future. This is not my personal preference, but I do believe that we should
> do it in a clean way or not at all.

Well, considering that this patch isn't depending on your reboot API
set, and that Wim never either commented on this patch, your reboot
API patchset or your pull request to say that he was not willing to
merge this, there's still a huge failure to communicate.

I'm fine with any technical reason, let's debate on that. But the
point is there has been no debate at all, only silence from his side.

I have been told some patches would be merged and I merged through my
tree some patches that were depending on this one based on that
assumption.

And now, we have a regression.

Anyway... I guess I should just revert some commits now.

Maxime

-- 
Maxime Ripard, Free Electrons
Embedded Linux, Kernel and Android engineering
http://free-electrons.com

[-- Attachment #2: Digital signature --]
[-- Type: application/pgp-signature, Size: 819 bytes --]

^ permalink raw reply	[flat|nested] 60+ messages in thread

* [PATCH v2 1/6] wdt: sunxi: Move restart code to the watchdog driver
@ 2014-06-23 15:49                   ` Maxime Ripard
  0 siblings, 0 replies; 60+ messages in thread
From: Maxime Ripard @ 2014-06-23 15:49 UTC (permalink / raw)
  To: linux-arm-kernel

On Mon, Jun 23, 2014 at 07:30:56AM -0700, Guenter Roeck wrote:
> >>The patches _are_ in my watchdog-next branch and get some coverage from
> >>both my auto-builders and from Fenguang's build robots, so while they are
> >>not in linux-next, they are not completely in the dark either.
> >
> >So, this patch finally didn't make it into 3.16. Great. Now, we can't
> >even reboot the boards.
> >
> >Given how it's just impossible to get something merged reliably
> >through the watchdog tree, I guess I should just start merging the
> >patches through mine?
> >
> 
> You can not really blame Wim here.
> 
> In this case, I suspect the major reason for not accepting the patch
> is that I tried to provide a clean method / API for "reset through watchdog
> subsystem", which went nowhere, in my understanding because someone objected
> that it would be the wrong thing to do [1] and it didn't get approval /
> acceptance from the arm maintainers. If it is wrong to reset the board
> from the watchdog subsystem in a clean way, it is for sure even more wrong
> to do it as you proposed in your patch.
> 
> My conclusion therefore is that all board reset code should move back out
> of the watchdog subsystem, and that we should not accept such code in the
> future. This is not my personal preference, but I do believe that we should
> do it in a clean way or not at all.

Well, considering that this patch isn't depending on your reboot API
set, and that Wim never either commented on this patch, your reboot
API patchset or your pull request to say that he was not willing to
merge this, there's still a huge failure to communicate.

I'm fine with any technical reason, let's debate on that. But the
point is there has been no debate at all, only silence from his side.

I have been told some patches would be merged and I merged through my
tree some patches that were depending on this one based on that
assumption.

And now, we have a regression.

Anyway... I guess I should just revert some commits now.

Maxime

-- 
Maxime Ripard, Free Electrons
Embedded Linux, Kernel and Android engineering
http://free-electrons.com
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 819 bytes
Desc: Digital signature
URL: <http://lists.infradead.org/pipermail/linux-arm-kernel/attachments/20140623/ef626a28/attachment.sig>

^ permalink raw reply	[flat|nested] 60+ messages in thread

* Re: [PATCH v2 1/6] wdt: sunxi: Move restart code to the watchdog driver
  2014-06-23 10:31               ` Maxime Ripard
  (?)
  (?)
@ 2014-06-23 21:13               ` Wim Van Sebroeck
  2014-06-24 14:49                   ` Maxime Ripard
  -1 siblings, 1 reply; 60+ messages in thread
From: Wim Van Sebroeck @ 2014-06-23 21:13 UTC (permalink / raw)
  To: Maxime Ripard
  Cc: Guenter Roeck, Arnd Bergmann, dbaryshkov, dwmw2,
	linux-arm-kernel, linux-kernel, linux-watchdog, linux-sunxi

Hi Maxime,

> > > Guenter, since you seem to be the only responsive, may I suggest that
> > > you start merging patches and do a pull request to either Wim or Linus
> > > directly during the merge window?
> > > 
> > I had prepared a pull request for Wim last weekend or so, but then there
> > were more patches piling in and I got distracted, so I didn't have time
> > to actually send it. I'll try again this weekend ... the kids should be
> > busy learning for their finals, and I'll have Friday and Monday off
> > from work, so I should be able to find the time.
> > 
> > As for sending patches to Linus directly, well, Wim is the watchdog maintainer.
> > I manage to upset enough people, and would not want to add Wim to the list.
> > 
> > The patches _are_ in my watchdog-next branch and get some coverage from
> > both my auto-builders and from Fenguang's build robots, so while they are
> > not in linux-next, they are not completely in the dark either.
> 
> So, this patch finally didn't make it into 3.16. Great. Now, we can't
> even reboot the boards.

1) For me the discussion was not ended and needs further thinking. (And I just read some good ideas about it).
2) You never mentioned you needed this in for 3.16 and that things would break because of it.

So based on these 2 points why would I have to have put this in allready?

> Given how it's just impossible to get something merged reliably
> through the watchdog tree, I guess I should just start merging the
> patches through mine?

I agree that I have the problem of having only 24 hours in a day and that I lack time to communicate and that I am not good at communicating either, but I checked all sunxi related e-mails and you never mentioned the constraint to have it in for 3.16...
But I do understand your frustration.

Kind regards,
Wim.


^ permalink raw reply	[flat|nested] 60+ messages in thread

* Re: [PATCH v2 1/6] wdt: sunxi: Move restart code to the watchdog driver
  2014-05-22 20:39             ` One Thousand Gnomes
  (?)
  (?)
@ 2014-06-23 21:16             ` Wim Van Sebroeck
  -1 siblings, 0 replies; 60+ messages in thread
From: Wim Van Sebroeck @ 2014-06-23 21:16 UTC (permalink / raw)
  To: One Thousand Gnomes
  Cc: Maxime Ripard, Guenter Roeck, Arnd Bergmann, dbaryshkov, dwmw2,
	linux-arm-kernel, linux-kernel, linux-watchdog, linux-sunxi

Hi Alan,

> On Thu, 22 May 2014 22:34:44 +0200
> Maxime Ripard <maxime.ripard@free-electrons.com> wrote:
> 
> > On Mon, May 19, 2014 at 05:04:22PM +0200, Maxime Ripard wrote:
> > > On Thu, May 15, 2014 at 11:11:23AM +0200, Maxime Ripard wrote:
> > > > On Wed, May 07, 2014 at 02:33:18PM -0700, Guenter Roeck wrote:
> > > > > On Tue, May 06, 2014 at 09:44:19PM -0500, Maxime Ripard wrote:
> > > > > > Most of the watchdog code is duplicated between the machine restart code and
> > > > > > the watchdog driver. Add the restart hook to the watchdog driver, to be able to
> > > > > > remove it from the machine code eventually.
> > > > > > 
> > > > > > Signed-off-by: Maxime Ripard <maxime.ripard@free-electrons.com>
> > > > > > Acked-by: Arnd Bergmann <arnd@arndb.de>
> > > > > 
> > > > > Reviewed-by: Guenter Roeck <linux@roeck-us.net>
> > > > 
> > > > Wim, do you have any comment on this one?
> > > 
> > > Ping?
> > > 
> > > It would be really great to see this in 3.16, and we get quite close
> > > to the end of ARM's merge window.
> > 
> > Ping?
> > 
> > Guenter, since you seem to be the only responsive, may I suggest that
> > you start merging patches and do a pull request to either Wim or Linus
> > directly during the merge window?
> 
> I've yet to see anyone explain why this is an improvement over the
> current situation ?

To move forward: can you share your objections with us again?

Thanks,
Wim.


^ permalink raw reply	[flat|nested] 60+ messages in thread

* Re: [PATCH v2 1/6] wdt: sunxi: Move restart code to the watchdog driver
  2014-06-23 15:49                   ` Maxime Ripard
  (?)
@ 2014-06-23 21:30                   ` Wim Van Sebroeck
  2014-06-23 21:47                       ` Guenter Roeck
  -1 siblings, 1 reply; 60+ messages in thread
From: Wim Van Sebroeck @ 2014-06-23 21:30 UTC (permalink / raw)
  To: Maxime Ripard
  Cc: Guenter Roeck, Arnd Bergmann, dbaryshkov, dwmw2,
	linux-arm-kernel, linux-kernel, linux-watchdog, linux-sunxi

Hi All,

> On Mon, Jun 23, 2014 at 07:30:56AM -0700, Guenter Roeck wrote:
> > >>The patches _are_ in my watchdog-next branch and get some coverage from
> > >>both my auto-builders and from Fenguang's build robots, so while they are
> > >>not in linux-next, they are not completely in the dark either.
> > >
> > >So, this patch finally didn't make it into 3.16. Great. Now, we can't
> > >even reboot the boards.
> > >
> > >Given how it's just impossible to get something merged reliably
> > >through the watchdog tree, I guess I should just start merging the
> > >patches through mine?
> > >
> > 
> > You can not really blame Wim here.
> > 
> > In this case, I suspect the major reason for not accepting the patch
> > is that I tried to provide a clean method / API for "reset through watchdog
> > subsystem", which went nowhere, in my understanding because someone objected
> > that it would be the wrong thing to do [1] and it didn't get approval /
> > acceptance from the arm maintainers. If it is wrong to reset the board
> > from the watchdog subsystem in a clean way, it is for sure even more wrong
> > to do it as you proposed in your patch.
> > 
> > My conclusion therefore is that all board reset code should move back out
> > of the watchdog subsystem, and that we should not accept such code in the
> > future. This is not my personal preference, but I do believe that we should
> > do it in a clean way or not at all.
> 
> Well, considering that this patch isn't depending on your reboot API
> set, and that Wim never either commented on this patch, your reboot
> API patchset or your pull request to say that he was not willing to
> merge this, there's still a huge failure to communicate.
> 
> I'm fine with any technical reason, let's debate on that. But the
> point is there has been no debate at all, only silence from his side.
> 
> I have been told some patches would be merged and I merged through my
> tree some patches that were depending on this one based on that
> assumption.
> 
> And now, we have a regression.
> 
> Anyway... I guess I should just revert some commits now.
> 

To continue the discussion: I would like to add an excerpt from drivers/watchdog/alim7101_wdt.c
/*
 *      Notifier for system down
 */

static int wdt_notify_sys(struct notifier_block *this,
                                        unsigned long code, void *unused)
{
        if (code == SYS_DOWN || code == SYS_HALT)
                wdt_turnoff();

        if (code == SYS_RESTART) {
                /*
                 * Cobalt devices have no way of rebooting themselves other
                 * than getting the watchdog to pull reset, so we restart the
                 * watchdog on reboot with no heartbeat
                 */
                wdt_change(WDT_ENABLE);
                pr_info("Watchdog timer is now enabled with no heartbeat - should reboot in ~1 second\n");
        }
        return NOTIFY_DONE;
}

For some systems the watchdog is the only way to reboot... So where we should put it, is not trivial neither...

Kind regards,
Wim.


^ permalink raw reply	[flat|nested] 60+ messages in thread

* Re: [PATCH v2 1/6] wdt: sunxi: Move restart code to the watchdog driver
  2014-06-23 21:30                   ` Wim Van Sebroeck
@ 2014-06-23 21:47                       ` Guenter Roeck
  0 siblings, 0 replies; 60+ messages in thread
From: Guenter Roeck @ 2014-06-23 21:47 UTC (permalink / raw)
  To: Wim Van Sebroeck, Maxime Ripard
  Cc: Arnd Bergmann, dbaryshkov, dwmw2, linux-arm-kernel, linux-kernel,
	linux-watchdog, linux-sunxi

On 06/23/2014 02:30 PM, Wim Van Sebroeck wrote:
> Hi All,
>
>> On Mon, Jun 23, 2014 at 07:30:56AM -0700, Guenter Roeck wrote:
>>>>> The patches _are_ in my watchdog-next branch and get some coverage from
>>>>> both my auto-builders and from Fenguang's build robots, so while they are
>>>>> not in linux-next, they are not completely in the dark either.
>>>>
>>>> So, this patch finally didn't make it into 3.16. Great. Now, we can't
>>>> even reboot the boards.
>>>>
>>>> Given how it's just impossible to get something merged reliably
>>>> through the watchdog tree, I guess I should just start merging the
>>>> patches through mine?
>>>>
>>>
>>> You can not really blame Wim here.
>>>
>>> In this case, I suspect the major reason for not accepting the patch
>>> is that I tried to provide a clean method / API for "reset through watchdog
>>> subsystem", which went nowhere, in my understanding because someone objected
>>> that it would be the wrong thing to do [1] and it didn't get approval /
>>> acceptance from the arm maintainers. If it is wrong to reset the board
>>> from the watchdog subsystem in a clean way, it is for sure even more wrong
>>> to do it as you proposed in your patch.
>>>
>>> My conclusion therefore is that all board reset code should move back out
>>> of the watchdog subsystem, and that we should not accept such code in the
>>> future. This is not my personal preference, but I do believe that we should
>>> do it in a clean way or not at all.
>>
>> Well, considering that this patch isn't depending on your reboot API
>> set, and that Wim never either commented on this patch, your reboot
>> API patchset or your pull request to say that he was not willing to
>> merge this, there's still a huge failure to communicate.
>>
>> I'm fine with any technical reason, let's debate on that. But the
>> point is there has been no debate at all, only silence from his side.
>>
>> I have been told some patches would be merged and I merged through my
>> tree some patches that were depending on this one based on that
>> assumption.
>>
>> And now, we have a regression.
>>
>> Anyway... I guess I should just revert some commits now.
>>
>
> To continue the discussion: I would like to add an excerpt from drivers/watchdog/alim7101_wdt.c
> /*
>   *      Notifier for system down
>   */
>
> static int wdt_notify_sys(struct notifier_block *this,
>                                          unsigned long code, void *unused)
> {
>          if (code == SYS_DOWN || code == SYS_HALT)
>                  wdt_turnoff();
>
>          if (code == SYS_RESTART) {
>                  /*
>                   * Cobalt devices have no way of rebooting themselves other
>                   * than getting the watchdog to pull reset, so we restart the
>                   * watchdog on reboot with no heartbeat
>                   */
>                  wdt_change(WDT_ENABLE);
>                  pr_info("Watchdog timer is now enabled with no heartbeat - should reboot in ~1 second\n");
>          }
>          return NOTIFY_DONE;
> }
>
> For some systems the watchdog is the only way to reboot... So where we should put it, is not trivial neither...
>

Agreed. The above definitely doesn't look like a good solution to me.

Guenter


^ permalink raw reply	[flat|nested] 60+ messages in thread

* [PATCH v2 1/6] wdt: sunxi: Move restart code to the watchdog driver
@ 2014-06-23 21:47                       ` Guenter Roeck
  0 siblings, 0 replies; 60+ messages in thread
From: Guenter Roeck @ 2014-06-23 21:47 UTC (permalink / raw)
  To: linux-arm-kernel

On 06/23/2014 02:30 PM, Wim Van Sebroeck wrote:
> Hi All,
>
>> On Mon, Jun 23, 2014 at 07:30:56AM -0700, Guenter Roeck wrote:
>>>>> The patches _are_ in my watchdog-next branch and get some coverage from
>>>>> both my auto-builders and from Fenguang's build robots, so while they are
>>>>> not in linux-next, they are not completely in the dark either.
>>>>
>>>> So, this patch finally didn't make it into 3.16. Great. Now, we can't
>>>> even reboot the boards.
>>>>
>>>> Given how it's just impossible to get something merged reliably
>>>> through the watchdog tree, I guess I should just start merging the
>>>> patches through mine?
>>>>
>>>
>>> You can not really blame Wim here.
>>>
>>> In this case, I suspect the major reason for not accepting the patch
>>> is that I tried to provide a clean method / API for "reset through watchdog
>>> subsystem", which went nowhere, in my understanding because someone objected
>>> that it would be the wrong thing to do [1] and it didn't get approval /
>>> acceptance from the arm maintainers. If it is wrong to reset the board
>>> from the watchdog subsystem in a clean way, it is for sure even more wrong
>>> to do it as you proposed in your patch.
>>>
>>> My conclusion therefore is that all board reset code should move back out
>>> of the watchdog subsystem, and that we should not accept such code in the
>>> future. This is not my personal preference, but I do believe that we should
>>> do it in a clean way or not at all.
>>
>> Well, considering that this patch isn't depending on your reboot API
>> set, and that Wim never either commented on this patch, your reboot
>> API patchset or your pull request to say that he was not willing to
>> merge this, there's still a huge failure to communicate.
>>
>> I'm fine with any technical reason, let's debate on that. But the
>> point is there has been no debate at all, only silence from his side.
>>
>> I have been told some patches would be merged and I merged through my
>> tree some patches that were depending on this one based on that
>> assumption.
>>
>> And now, we have a regression.
>>
>> Anyway... I guess I should just revert some commits now.
>>
>
> To continue the discussion: I would like to add an excerpt from drivers/watchdog/alim7101_wdt.c
> /*
>   *      Notifier for system down
>   */
>
> static int wdt_notify_sys(struct notifier_block *this,
>                                          unsigned long code, void *unused)
> {
>          if (code == SYS_DOWN || code == SYS_HALT)
>                  wdt_turnoff();
>
>          if (code == SYS_RESTART) {
>                  /*
>                   * Cobalt devices have no way of rebooting themselves other
>                   * than getting the watchdog to pull reset, so we restart the
>                   * watchdog on reboot with no heartbeat
>                   */
>                  wdt_change(WDT_ENABLE);
>                  pr_info("Watchdog timer is now enabled with no heartbeat - should reboot in ~1 second\n");
>          }
>          return NOTIFY_DONE;
> }
>
> For some systems the watchdog is the only way to reboot... So where we should put it, is not trivial neither...
>

Agreed. The above definitely doesn't look like a good solution to me.

Guenter

^ permalink raw reply	[flat|nested] 60+ messages in thread

* Re: [PATCH v2 1/6] wdt: sunxi: Move restart code to the watchdog driver
  2014-06-23 21:47                       ` Guenter Roeck
@ 2014-06-24  9:27                         ` Arnd Bergmann
  -1 siblings, 0 replies; 60+ messages in thread
From: Arnd Bergmann @ 2014-06-24  9:27 UTC (permalink / raw)
  To: linux-arm-kernel
  Cc: Guenter Roeck, Wim Van Sebroeck, Maxime Ripard, linux-watchdog,
	dbaryshkov, linux-kernel, linux-sunxi, dwmw2

On Monday 23 June 2014 14:47:48 Guenter Roeck wrote:
> > To continue the discussion: I would like to add an excerpt from drivers/watchdog/alim7101_wdt.c
> > /*
> >   *      Notifier for system down
> >   */
> >
> > static int wdt_notify_sys(struct notifier_block *this,
> >                                          unsigned long code, void *unused)
> > {
> >          if (code == SYS_DOWN || code == SYS_HALT)
> >                  wdt_turnoff();
> >
> >          if (code == SYS_RESTART) {
> >                  /*
> >                   * Cobalt devices have no way of rebooting themselves other
> >                   * than getting the watchdog to pull reset, so we restart the
> >                   * watchdog on reboot with no heartbeat
> >                   */
> >                  wdt_change(WDT_ENABLE);
> >                  pr_info("Watchdog timer is now enabled with no heartbeat - should reboot in ~1 second\n");
> >          }
> >          return NOTIFY_DONE;
> > }
> >
> > For some systems the watchdog is the only way to reboot... So where we should put it, is not trivial neither...
> >
> 
> Agreed. The above definitely doesn't look like a good solution to me.
> 

Right, at the very least, it should be a separate notifier: the existing
reboot_notifier is meant for things that need to happen /before/ reboot,
so adding something in there to actually trigger the reboot is by definition
racy against the other notifiers that may or may not get called after
this one.

	Arnd

^ permalink raw reply	[flat|nested] 60+ messages in thread

* [PATCH v2 1/6] wdt: sunxi: Move restart code to the watchdog driver
@ 2014-06-24  9:27                         ` Arnd Bergmann
  0 siblings, 0 replies; 60+ messages in thread
From: Arnd Bergmann @ 2014-06-24  9:27 UTC (permalink / raw)
  To: linux-arm-kernel

On Monday 23 June 2014 14:47:48 Guenter Roeck wrote:
> > To continue the discussion: I would like to add an excerpt from drivers/watchdog/alim7101_wdt.c
> > /*
> >   *      Notifier for system down
> >   */
> >
> > static int wdt_notify_sys(struct notifier_block *this,
> >                                          unsigned long code, void *unused)
> > {
> >          if (code == SYS_DOWN || code == SYS_HALT)
> >                  wdt_turnoff();
> >
> >          if (code == SYS_RESTART) {
> >                  /*
> >                   * Cobalt devices have no way of rebooting themselves other
> >                   * than getting the watchdog to pull reset, so we restart the
> >                   * watchdog on reboot with no heartbeat
> >                   */
> >                  wdt_change(WDT_ENABLE);
> >                  pr_info("Watchdog timer is now enabled with no heartbeat - should reboot in ~1 second\n");
> >          }
> >          return NOTIFY_DONE;
> > }
> >
> > For some systems the watchdog is the only way to reboot... So where we should put it, is not trivial neither...
> >
> 
> Agreed. The above definitely doesn't look like a good solution to me.
> 

Right, at the very least, it should be a separate notifier: the existing
reboot_notifier is meant for things that need to happen /before/ reboot,
so adding something in there to actually trigger the reboot is by definition
racy against the other notifiers that may or may not get called after
this one.

	Arnd

^ permalink raw reply	[flat|nested] 60+ messages in thread

* Re: [PATCH v2 1/6] wdt: sunxi: Move restart code to the watchdog driver
  2014-06-23 21:13               ` Wim Van Sebroeck
@ 2014-06-24 14:49                   ` Maxime Ripard
  0 siblings, 0 replies; 60+ messages in thread
From: Maxime Ripard @ 2014-06-24 14:49 UTC (permalink / raw)
  To: Wim Van Sebroeck
  Cc: Guenter Roeck, Arnd Bergmann, dbaryshkov, dwmw2,
	linux-arm-kernel, linux-kernel, linux-watchdog, linux-sunxi

[-- Attachment #1: Type: text/plain, Size: 2629 bytes --]

On Mon, Jun 23, 2014 at 11:13:24PM +0200, Wim Van Sebroeck wrote:
> Hi Maxime,
> 
> > > > Guenter, since you seem to be the only responsive, may I suggest that
> > > > you start merging patches and do a pull request to either Wim or Linus
> > > > directly during the merge window?
> > > > 
> > > I had prepared a pull request for Wim last weekend or so, but then there
> > > were more patches piling in and I got distracted, so I didn't have time
> > > to actually send it. I'll try again this weekend ... the kids should be
> > > busy learning for their finals, and I'll have Friday and Monday off
> > > from work, so I should be able to find the time.
> > > 
> > > As for sending patches to Linus directly, well, Wim is the watchdog maintainer.
> > > I manage to upset enough people, and would not want to add Wim to the list.
> > > 
> > > The patches _are_ in my watchdog-next branch and get some coverage from
> > > both my auto-builders and from Fenguang's build robots, so while they are
> > > not in linux-next, they are not completely in the dark either.
> > 
> > So, this patch finally didn't make it into 3.16. Great. Now, we can't
> > even reboot the boards.
> 
> 1) For me the discussion was not ended and needs further
> thinking. (And I just read some good ideas about it).

It would have been great for you to mention it then.

> 2) You never mentioned you needed this in for 3.16 and that things
> would break because of it.

http://lists.infradead.org/pipermail/linux-arm-kernel/2014-May/257690.html
http://lists.infradead.org/pipermail/linux-arm-kernel/2014-May/259109.html

I thought it was pretty clear.

> 
> So based on these 2 points why would I have to have put this in allready?
> 
> > Given how it's just impossible to get something merged reliably
> > through the watchdog tree, I guess I should just start merging the
> > patches through mine?
> 
> I agree that I have the problem of having only 24 hours in a day and
> that I lack time to communicate and that I am not good at
> communicating either, but I checked all sunxi related e-mails and
> you never mentioned the constraint to have it in for 3.16...  But I
> do understand your frustration.

I totally understand the lack of time. A good way to ease your burden
and solve this situation is usually to take a co-maintainer. And given
that Guenter already reviews patches, maintains some branch, and is
developping some part of the framework, he seems up to the task.

Maxime

-- 
Maxime Ripard, Free Electrons
Embedded Linux, Kernel and Android engineering
http://free-electrons.com

[-- Attachment #2: Digital signature --]
[-- Type: application/pgp-signature, Size: 819 bytes --]

^ permalink raw reply	[flat|nested] 60+ messages in thread

* [PATCH v2 1/6] wdt: sunxi: Move restart code to the watchdog driver
@ 2014-06-24 14:49                   ` Maxime Ripard
  0 siblings, 0 replies; 60+ messages in thread
From: Maxime Ripard @ 2014-06-24 14:49 UTC (permalink / raw)
  To: linux-arm-kernel

On Mon, Jun 23, 2014 at 11:13:24PM +0200, Wim Van Sebroeck wrote:
> Hi Maxime,
> 
> > > > Guenter, since you seem to be the only responsive, may I suggest that
> > > > you start merging patches and do a pull request to either Wim or Linus
> > > > directly during the merge window?
> > > > 
> > > I had prepared a pull request for Wim last weekend or so, but then there
> > > were more patches piling in and I got distracted, so I didn't have time
> > > to actually send it. I'll try again this weekend ... the kids should be
> > > busy learning for their finals, and I'll have Friday and Monday off
> > > from work, so I should be able to find the time.
> > > 
> > > As for sending patches to Linus directly, well, Wim is the watchdog maintainer.
> > > I manage to upset enough people, and would not want to add Wim to the list.
> > > 
> > > The patches _are_ in my watchdog-next branch and get some coverage from
> > > both my auto-builders and from Fenguang's build robots, so while they are
> > > not in linux-next, they are not completely in the dark either.
> > 
> > So, this patch finally didn't make it into 3.16. Great. Now, we can't
> > even reboot the boards.
> 
> 1) For me the discussion was not ended and needs further
> thinking. (And I just read some good ideas about it).

It would have been great for you to mention it then.

> 2) You never mentioned you needed this in for 3.16 and that things
> would break because of it.

http://lists.infradead.org/pipermail/linux-arm-kernel/2014-May/257690.html
http://lists.infradead.org/pipermail/linux-arm-kernel/2014-May/259109.html

I thought it was pretty clear.

> 
> So based on these 2 points why would I have to have put this in allready?
> 
> > Given how it's just impossible to get something merged reliably
> > through the watchdog tree, I guess I should just start merging the
> > patches through mine?
> 
> I agree that I have the problem of having only 24 hours in a day and
> that I lack time to communicate and that I am not good at
> communicating either, but I checked all sunxi related e-mails and
> you never mentioned the constraint to have it in for 3.16...  But I
> do understand your frustration.

I totally understand the lack of time. A good way to ease your burden
and solve this situation is usually to take a co-maintainer. And given
that Guenter already reviews patches, maintains some branch, and is
developping some part of the framework, he seems up to the task.

Maxime

-- 
Maxime Ripard, Free Electrons
Embedded Linux, Kernel and Android engineering
http://free-electrons.com
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 819 bytes
Desc: Digital signature
URL: <http://lists.infradead.org/pipermail/linux-arm-kernel/attachments/20140624/65ffa770/attachment.sig>

^ permalink raw reply	[flat|nested] 60+ messages in thread

* Re: [PATCH v2 1/6] wdt: sunxi: Move restart code to the watchdog driver
  2014-06-24 14:49                   ` Maxime Ripard
@ 2014-06-24 16:01                     ` Guenter Roeck
  -1 siblings, 0 replies; 60+ messages in thread
From: Guenter Roeck @ 2014-06-24 16:01 UTC (permalink / raw)
  To: Maxime Ripard, Wim Van Sebroeck
  Cc: Arnd Bergmann, dbaryshkov, dwmw2, linux-arm-kernel, linux-kernel,
	linux-watchdog, linux-sunxi

On 06/24/2014 07:49 AM, Maxime Ripard wrote:
> On Mon, Jun 23, 2014 at 11:13:24PM +0200, Wim Van Sebroeck wrote:
>> Hi Maxime,
>>
>>>>> Guenter, since you seem to be the only responsive, may I suggest that
>>>>> you start merging patches and do a pull request to either Wim or Linus
>>>>> directly during the merge window?
>>>>>
>>>> I had prepared a pull request for Wim last weekend or so, but then there
>>>> were more patches piling in and I got distracted, so I didn't have time
>>>> to actually send it. I'll try again this weekend ... the kids should be
>>>> busy learning for their finals, and I'll have Friday and Monday off
>>>> from work, so I should be able to find the time.
>>>>
>>>> As for sending patches to Linus directly, well, Wim is the watchdog maintainer.
>>>> I manage to upset enough people, and would not want to add Wim to the list.
>>>>
>>>> The patches _are_ in my watchdog-next branch and get some coverage from
>>>> both my auto-builders and from Fenguang's build robots, so while they are
>>>> not in linux-next, they are not completely in the dark either.
>>>
>>> So, this patch finally didn't make it into 3.16. Great. Now, we can't
>>> even reboot the boards.
>>
>> 1) For me the discussion was not ended and needs further
>> thinking. (And I just read some good ideas about it).
>
> It would have been great for you to mention it then.
>
>> 2) You never mentioned you needed this in for 3.16 and that things
>> would break because of it.
>
> http://lists.infradead.org/pipermail/linux-arm-kernel/2014-May/257690.html
> http://lists.infradead.org/pipermail/linux-arm-kernel/2014-May/259109.html
>
> I thought it was pretty clear.
>
>>
>> So based on these 2 points why would I have to have put this in allready?
>>
>>> Given how it's just impossible to get something merged reliably
>>> through the watchdog tree, I guess I should just start merging the
>>> patches through mine?
>>
>> I agree that I have the problem of having only 24 hours in a day and
>> that I lack time to communicate and that I am not good at
>> communicating either, but I checked all sunxi related e-mails and
>> you never mentioned the constraint to have it in for 3.16...  But I
>> do understand your frustration.
>
> I totally understand the lack of time. A good way to ease your burden
> and solve this situation is usually to take a co-maintainer. And given
> that Guenter already reviews patches, maintains some branch, and is
> developping some part of the framework, he seems up to the task.
>

Let's focus on the problem at hand. I prepared a set of patches to add a
kernel restart notifier, quite similar to the existing reboot notifier.
Only question is where it should reside. So far it is in parallel
to the reboot notifier, ie in kernel/notifier.c and kernel/reboot.c.
Before I send it out for review, I'd like to get a notion if this is
the right approach, or if it is going to create heat from other sides.
Thoughts, anyone ?

On the plus side, this might have the potential of replacing arm_pm_restart,
which I think would be a good thing.

Thanks,
Guenter


^ permalink raw reply	[flat|nested] 60+ messages in thread

* [PATCH v2 1/6] wdt: sunxi: Move restart code to the watchdog driver
@ 2014-06-24 16:01                     ` Guenter Roeck
  0 siblings, 0 replies; 60+ messages in thread
From: Guenter Roeck @ 2014-06-24 16:01 UTC (permalink / raw)
  To: linux-arm-kernel

On 06/24/2014 07:49 AM, Maxime Ripard wrote:
> On Mon, Jun 23, 2014 at 11:13:24PM +0200, Wim Van Sebroeck wrote:
>> Hi Maxime,
>>
>>>>> Guenter, since you seem to be the only responsive, may I suggest that
>>>>> you start merging patches and do a pull request to either Wim or Linus
>>>>> directly during the merge window?
>>>>>
>>>> I had prepared a pull request for Wim last weekend or so, but then there
>>>> were more patches piling in and I got distracted, so I didn't have time
>>>> to actually send it. I'll try again this weekend ... the kids should be
>>>> busy learning for their finals, and I'll have Friday and Monday off
>>>> from work, so I should be able to find the time.
>>>>
>>>> As for sending patches to Linus directly, well, Wim is the watchdog maintainer.
>>>> I manage to upset enough people, and would not want to add Wim to the list.
>>>>
>>>> The patches _are_ in my watchdog-next branch and get some coverage from
>>>> both my auto-builders and from Fenguang's build robots, so while they are
>>>> not in linux-next, they are not completely in the dark either.
>>>
>>> So, this patch finally didn't make it into 3.16. Great. Now, we can't
>>> even reboot the boards.
>>
>> 1) For me the discussion was not ended and needs further
>> thinking. (And I just read some good ideas about it).
>
> It would have been great for you to mention it then.
>
>> 2) You never mentioned you needed this in for 3.16 and that things
>> would break because of it.
>
> http://lists.infradead.org/pipermail/linux-arm-kernel/2014-May/257690.html
> http://lists.infradead.org/pipermail/linux-arm-kernel/2014-May/259109.html
>
> I thought it was pretty clear.
>
>>
>> So based on these 2 points why would I have to have put this in allready?
>>
>>> Given how it's just impossible to get something merged reliably
>>> through the watchdog tree, I guess I should just start merging the
>>> patches through mine?
>>
>> I agree that I have the problem of having only 24 hours in a day and
>> that I lack time to communicate and that I am not good at
>> communicating either, but I checked all sunxi related e-mails and
>> you never mentioned the constraint to have it in for 3.16...  But I
>> do understand your frustration.
>
> I totally understand the lack of time. A good way to ease your burden
> and solve this situation is usually to take a co-maintainer. And given
> that Guenter already reviews patches, maintains some branch, and is
> developping some part of the framework, he seems up to the task.
>

Let's focus on the problem at hand. I prepared a set of patches to add a
kernel restart notifier, quite similar to the existing reboot notifier.
Only question is where it should reside. So far it is in parallel
to the reboot notifier, ie in kernel/notifier.c and kernel/reboot.c.
Before I send it out for review, I'd like to get a notion if this is
the right approach, or if it is going to create heat from other sides.
Thoughts, anyone ?

On the plus side, this might have the potential of replacing arm_pm_restart,
which I think would be a good thing.

Thanks,
Guenter

^ permalink raw reply	[flat|nested] 60+ messages in thread

* Re: [PATCH v2 1/6] wdt: sunxi: Move restart code to the watchdog driver
  2014-06-24 14:49                   ` Maxime Ripard
  (?)
  (?)
@ 2014-08-02  8:02                   ` Wim Van Sebroeck
  2014-08-02 15:17                       ` Maxime Ripard
  2014-08-02 15:45                       ` Guenter Roeck
  -1 siblings, 2 replies; 60+ messages in thread
From: Wim Van Sebroeck @ 2014-08-02  8:02 UTC (permalink / raw)
  To: Maxime Ripard
  Cc: Guenter Roeck, Arnd Bergmann, dbaryshkov, dwmw2,
	linux-arm-kernel, linux-kernel, linux-watchdog, linux-sunxi

Maxime, All,

> > 1) For me the discussion was not ended and needs further
> > thinking. (And I just read some good ideas about it).
> 
> It would have been great for you to mention it then.
> 
> > 2) You never mentioned you needed this in for 3.16 and that things
> > would break because of it.
> 
> http://lists.infradead.org/pipermail/linux-arm-kernel/2014-May/257690.html
> http://lists.infradead.org/pipermail/linux-arm-kernel/2014-May/259109.html
> 
> I thought it was pretty clear.
> 

I will put it in now as step in between before going over to the new restart system.
Anyone objections?

Kind regards,
Wim.


^ permalink raw reply	[flat|nested] 60+ messages in thread

* Re: [PATCH v2 1/6] wdt: sunxi: Move restart code to the watchdog driver
  2014-08-02  8:02                   ` Wim Van Sebroeck
@ 2014-08-02 15:17                       ` Maxime Ripard
  2014-08-02 15:45                       ` Guenter Roeck
  1 sibling, 0 replies; 60+ messages in thread
From: Maxime Ripard @ 2014-08-02 15:17 UTC (permalink / raw)
  To: Wim Van Sebroeck
  Cc: Guenter Roeck, Arnd Bergmann, dbaryshkov, dwmw2,
	linux-arm-kernel, linux-kernel, linux-watchdog, linux-sunxi

[-- Attachment #1: Type: text/plain, Size: 936 bytes --]

On Sat, Aug 02, 2014 at 10:02:08AM +0200, Wim Van Sebroeck wrote:
> Maxime, All,
> 
> > > 1) For me the discussion was not ended and needs further
> > > thinking. (And I just read some good ideas about it).
> > 
> > It would have been great for you to mention it then.
> > 
> > > 2) You never mentioned you needed this in for 3.16 and that things
> > > would break because of it.
> > 
> > http://lists.infradead.org/pipermail/linux-arm-kernel/2014-May/257690.html
> > http://lists.infradead.org/pipermail/linux-arm-kernel/2014-May/259109.html
> > 
> > I thought it was pretty clear.
> > 
> 
> I will put it in now as step in between before going over to the new restart system.
> Anyone objections?

Yeah, go ahead, I'll send a patch to remove the reset code from
mach-sunxi in a later -rc.

Maxime

-- 
Maxime Ripard, Free Electrons
Embedded Linux, Kernel and Android engineering
http://free-electrons.com

[-- Attachment #2: Digital signature --]
[-- Type: application/pgp-signature, Size: 819 bytes --]

^ permalink raw reply	[flat|nested] 60+ messages in thread

* [PATCH v2 1/6] wdt: sunxi: Move restart code to the watchdog driver
@ 2014-08-02 15:17                       ` Maxime Ripard
  0 siblings, 0 replies; 60+ messages in thread
From: Maxime Ripard @ 2014-08-02 15:17 UTC (permalink / raw)
  To: linux-arm-kernel

On Sat, Aug 02, 2014 at 10:02:08AM +0200, Wim Van Sebroeck wrote:
> Maxime, All,
> 
> > > 1) For me the discussion was not ended and needs further
> > > thinking. (And I just read some good ideas about it).
> > 
> > It would have been great for you to mention it then.
> > 
> > > 2) You never mentioned you needed this in for 3.16 and that things
> > > would break because of it.
> > 
> > http://lists.infradead.org/pipermail/linux-arm-kernel/2014-May/257690.html
> > http://lists.infradead.org/pipermail/linux-arm-kernel/2014-May/259109.html
> > 
> > I thought it was pretty clear.
> > 
> 
> I will put it in now as step in between before going over to the new restart system.
> Anyone objections?

Yeah, go ahead, I'll send a patch to remove the reset code from
mach-sunxi in a later -rc.

Maxime

-- 
Maxime Ripard, Free Electrons
Embedded Linux, Kernel and Android engineering
http://free-electrons.com
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 819 bytes
Desc: Digital signature
URL: <http://lists.infradead.org/pipermail/linux-arm-kernel/attachments/20140802/7e35070c/attachment.sig>

^ permalink raw reply	[flat|nested] 60+ messages in thread

* Re: [PATCH v2 1/6] wdt: sunxi: Move restart code to the watchdog driver
  2014-08-02  8:02                   ` Wim Van Sebroeck
@ 2014-08-02 15:45                       ` Guenter Roeck
  2014-08-02 15:45                       ` Guenter Roeck
  1 sibling, 0 replies; 60+ messages in thread
From: Guenter Roeck @ 2014-08-02 15:45 UTC (permalink / raw)
  To: Wim Van Sebroeck
  Cc: Maxime Ripard, Arnd Bergmann, dbaryshkov, dwmw2,
	linux-arm-kernel, linux-kernel, linux-watchdog, linux-sunxi

On Sat, Aug 02, 2014 at 10:02:08AM +0200, Wim Van Sebroeck wrote:
> Maxime, All,
> 
> > > 1) For me the discussion was not ended and needs further
> > > thinking. (And I just read some good ideas about it).
> > 
> > It would have been great for you to mention it then.
> > 
> > > 2) You never mentioned you needed this in for 3.16 and that things
> > > would break because of it.
> > 
> > http://lists.infradead.org/pipermail/linux-arm-kernel/2014-May/257690.html
> > http://lists.infradead.org/pipermail/linux-arm-kernel/2014-May/259109.html
> > 
> > I thought it was pretty clear.
> > 
> 
> I will put it in now as step in between before going over to the new restart system.
> Anyone objections?
> 
Ok with me.

Guenter

^ permalink raw reply	[flat|nested] 60+ messages in thread

* [PATCH v2 1/6] wdt: sunxi: Move restart code to the watchdog driver
@ 2014-08-02 15:45                       ` Guenter Roeck
  0 siblings, 0 replies; 60+ messages in thread
From: Guenter Roeck @ 2014-08-02 15:45 UTC (permalink / raw)
  To: linux-arm-kernel

On Sat, Aug 02, 2014 at 10:02:08AM +0200, Wim Van Sebroeck wrote:
> Maxime, All,
> 
> > > 1) For me the discussion was not ended and needs further
> > > thinking. (And I just read some good ideas about it).
> > 
> > It would have been great for you to mention it then.
> > 
> > > 2) You never mentioned you needed this in for 3.16 and that things
> > > would break because of it.
> > 
> > http://lists.infradead.org/pipermail/linux-arm-kernel/2014-May/257690.html
> > http://lists.infradead.org/pipermail/linux-arm-kernel/2014-May/259109.html
> > 
> > I thought it was pretty clear.
> > 
> 
> I will put it in now as step in between before going over to the new restart system.
> Anyone objections?
> 
Ok with me.

Guenter

^ permalink raw reply	[flat|nested] 60+ messages in thread

end of thread, other threads:[~2014-08-02 18:35 UTC | newest]

Thread overview: 60+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2014-05-07  2:44 [PATCH v2 0/6] ARM: sunxi: Machine code cleanup Maxime Ripard
2014-05-07  2:44 ` Maxime Ripard
2014-05-07  2:44 ` [PATCH v2 1/6] wdt: sunxi: Move restart code to the watchdog driver Maxime Ripard
2014-05-07  2:44   ` Maxime Ripard
2014-05-07 21:33   ` Guenter Roeck
2014-05-07 21:33     ` Guenter Roeck
2014-05-15  9:11     ` Maxime Ripard
2014-05-15  9:11       ` Maxime Ripard
2014-05-19 15:04       ` Maxime Ripard
2014-05-19 15:04         ` Maxime Ripard
2014-05-22 20:34         ` Maxime Ripard
2014-05-22 20:34           ` Maxime Ripard
2014-05-22 20:39           ` One Thousand Gnomes
2014-05-22 20:39             ` One Thousand Gnomes
2014-05-22 20:56             ` Maxime Ripard
2014-05-22 20:56               ` Maxime Ripard
2014-06-23 21:16             ` Wim Van Sebroeck
2014-05-22 21:12           ` Guenter Roeck
2014-05-22 21:12             ` Guenter Roeck
2014-05-23  8:33             ` Maxime Ripard
2014-05-23  8:33               ` Maxime Ripard
2014-06-23 10:31             ` Maxime Ripard
2014-06-23 10:31               ` Maxime Ripard
2014-06-23 14:30               ` Guenter Roeck
2014-06-23 14:30                 ` Guenter Roeck
2014-06-23 14:42                 ` Arnd Bergmann
2014-06-23 14:42                   ` Arnd Bergmann
2014-06-23 15:16                   ` Guenter Roeck
2014-06-23 15:16                     ` Guenter Roeck
2014-06-23 15:35                     ` Arnd Bergmann
2014-06-23 15:35                       ` Arnd Bergmann
2014-06-23 15:40                       ` Guenter Roeck
2014-06-23 15:40                         ` Guenter Roeck
2014-06-23 15:49                 ` Maxime Ripard
2014-06-23 15:49                   ` Maxime Ripard
2014-06-23 21:30                   ` Wim Van Sebroeck
2014-06-23 21:47                     ` Guenter Roeck
2014-06-23 21:47                       ` Guenter Roeck
2014-06-24  9:27                       ` Arnd Bergmann
2014-06-24  9:27                         ` Arnd Bergmann
2014-06-23 21:13               ` Wim Van Sebroeck
2014-06-24 14:49                 ` Maxime Ripard
2014-06-24 14:49                   ` Maxime Ripard
2014-06-24 16:01                   ` Guenter Roeck
2014-06-24 16:01                     ` Guenter Roeck
2014-08-02  8:02                   ` Wim Van Sebroeck
2014-08-02 15:17                     ` Maxime Ripard
2014-08-02 15:17                       ` Maxime Ripard
2014-08-02 15:45                     ` Guenter Roeck
2014-08-02 15:45                       ` Guenter Roeck
2014-05-07  2:44 ` [PATCH v2 2/6] power: reset: Add Allwinner A31 reset code Maxime Ripard
2014-05-07  2:44   ` Maxime Ripard
2014-05-07  2:44 ` [PATCH v2 3/6] ARM: sunxi: Remove reset code from the platform Maxime Ripard
2014-05-07  2:44   ` Maxime Ripard
2014-05-07  2:44 ` [PATCH v2 4/6] ARM: sunxi: Remove init_machine callback Maxime Ripard
2014-05-07  2:44   ` Maxime Ripard
2014-05-07  2:44 ` [PATCH v2 5/6] ARM: sunxi: Add A31 reset driver to sunxi_defconfig Maxime Ripard
2014-05-07  2:44   ` Maxime Ripard
2014-05-07  2:44 ` [PATCH v2 6/6] ARM: multi_v7: Add Allwinner reset drivers to multi_v7_defconfig Maxime Ripard
2014-05-07  2:44   ` Maxime Ripard

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.