All of lore.kernel.org
 help / color / mirror / Atom feed
diff for duplicates of <20131031063000.108307682@linux.com>

diff --git a/a/1.txt b/N1/1.txt
index 3f44e9e..585dc22 100644
--- a/a/1.txt
+++ b/N1/1.txt
@@ -1,121 +1,3 @@
-From: Domenico Andreoli <domenico.andreoli@linux.com>
-
-Proof of concept: bcm2835 as provider of reset hooks.
-
-Cc: Stephen Warren <swarren@wwwdotorg.org>
-Cc: Russell King <linux@arm.linux.org.uk>
-Cc: Arnd Bergmann <arnd@arndb.de>
-Cc: Olof Johansson <olof@lixom.net>
-Cc: linux-arm-kernel@lists.infradead.org
-Signed-off-by: Domenico Andreoli <domenico.andreoli@linux.com>
----
- arch/arm/mach-bcm2835/Kconfig   |    1 +
- arch/arm/mach-bcm2835/bcm2835.c |   30 ++++++++++++++++++------------
- 2 files changed, 19 insertions(+), 12 deletions(-)
-
-Index: b/arch/arm/mach-bcm2835/Kconfig
-===================================================================
---- a/arch/arm/mach-bcm2835/Kconfig
-+++ b/arch/arm/mach-bcm2835/Kconfig
-@@ -8,6 +8,7 @@ config ARCH_BCM2835
- 	select CLKSRC_OF
- 	select CPU_V6
- 	select GENERIC_CLOCKEVENTS
-+	select MACHINE_RESET
- 	select PINCTRL
- 	select PINCTRL_BCM2835
- 	help
-Index: b/arch/arm/mach-bcm2835/bcm2835.c
-===================================================================
---- a/arch/arm/mach-bcm2835/bcm2835.c
-+++ b/arch/arm/mach-bcm2835/bcm2835.c
-@@ -19,6 +19,7 @@
- #include <linux/of_platform.h>
- #include <linux/clk/bcm2835.h>
- #include <linux/clocksource.h>
-+#include <linux/machine_reset.h>
- 
- #include <asm/mach/arch.h>
- #include <asm/mach/map.h>
-@@ -36,7 +37,8 @@
- #define BCM2835_PERIPH_VIRT	0xf0000000
- #define BCM2835_PERIPH_SIZE	SZ_16M
- 
--static void __iomem *wdt_regs;
-+static void bcm2835_restart(void *dev, enum reboot_mode mode, const char *cmd);
-+static void bcm2835_power_off(void *dev);
- 
- /*
-  * The machine restart method can be called from an atomic context so we won't
-@@ -44,21 +46,28 @@ static void __iomem *wdt_regs;
-  */
- static void bcm2835_setup_restart(void)
- {
-+	struct reset_hook hook;
-+	void __iomem *wdt_regs;
- 	struct device_node *np = of_find_compatible_node(NULL, NULL,
- 						"brcm,bcm2835-pm-wdt");
- 	if (WARN(!np, "unable to setup watchdog restart"))
- 		return;
- 
- 	wdt_regs = of_iomap(np, 0);
--	WARN(!wdt_regs, "failed to remap watchdog regs");
-+	if (WARN(!wdt_regs, "failed to remap watchdog regs"))
-+		return;
-+
-+	reset_hook_init(&hook);
-+	hook.restart = bcm2835_restart;
-+	set_machine_reset(RESET_RESTART, &hook, wdt_regs);
-+	hook.power_off = bcm2835_power_off;
-+	set_machine_reset(RESET_POWER_OFF, &hook, wdt_regs);
- }
- 
--static void bcm2835_restart(enum reboot_mode mode, const char *cmd)
-+static void bcm2835_restart(void *dev, enum reboot_mode mode, const char *cmd)
- {
- 	u32 val;
--
--	if (!wdt_regs)
--		return;
-+	void __iomem *wdt_regs = dev;
- 
- 	/* use a timeout of 10 ticks (~150us) */
- 	writel_relaxed(10 | PM_PASSWORD, wdt_regs + PM_WDOG);
-@@ -76,9 +85,10 @@ static void bcm2835_restart(enum reboot_
-  * indicate to bootcode.bin not to reboot, then most of the chip will be
-  * powered off.
-  */
--static void bcm2835_power_off(void)
-+static void bcm2835_power_off(void *dev)
- {
- 	u32 val;
-+	void __iomem *wdt_regs = dev;
- 
- 	/*
- 	 * We set the watchdog hard reset bit here to distinguish this reset
-@@ -91,7 +101,7 @@ static void bcm2835_power_off(void)
- 	writel_relaxed(val, wdt_regs + PM_RSTS);
- 
- 	/* Continue with normal reset mechanism */
--	bcm2835_restart(REBOOT_HARD, "");
-+	bcm2835_restart(dev, REBOOT_HARD, "");
- }
- 
- static struct map_desc io_map __initdata = {
-@@ -111,9 +121,6 @@ static void __init bcm2835_init(void)
- 	int ret;
- 
- 	bcm2835_setup_restart();
--	if (wdt_regs)
--		pm_power_off = bcm2835_power_off;
--
- 	bcm2835_init_clocks();
- 
- 	ret = of_platform_populate(NULL, of_default_bus_match_table, NULL,
-@@ -135,6 +142,5 @@ DT_MACHINE_START(BCM2835, "BCM2835")
- 	.handle_irq = bcm2835_handle_irq,
- 	.init_machine = bcm2835_init,
- 	.init_time = clocksource_of_init,
--	.restart = bcm2835_restart,
- 	.dt_compat = bcm2835_compat
- MACHINE_END
+An embedded and charset-unspecified text was scrubbed...
+Name: arm-machine-reset-bcm2835.patch
+URL: <http://lists.infradead.org/pipermail/linux-arm-kernel/attachments/20131031/0b56201b/attachment.ksh>
diff --git a/a/content_digest b/N1/content_digest
index 85e5067..f12cd24 100644
--- a/a/content_digest
+++ b/N1/content_digest
@@ -1,139 +1,12 @@
  "ref\020131031062708.520968323@linux.com\0"
- "From\0Domenico Andreoli <domenico.andreoli@linux.com>\0"
+ "From\0domenico.andreoli@linux.com (Domenico Andreoli)\0"
  "Subject\0[PATCH 07/11] ARM: bcm2835: use the common machine reset handling\0"
  "Date\0Thu, 31 Oct 2013 07:27:15 +0100\0"
- "To\0linux-arch@vger.kernel.org\0"
- "Cc\0linux-arm-kernel@lists.infradead.org"
-  linux-mips@lvger.kernel.org
-  Russell King <linux@arm.linux.org.uk>
-  Arnd Bergmann <arnd@arndb.de>
-  Olof Johansson <olof@lixom.net>
-  Ralf Baechle <ralf@linux-mips.org>
-  Stephen Warren <swarren@wwwdotorg.org>
- " Domenico Andreoli <domenico.andreoli@linux.com>\0"
+ "To\0linux-arm-kernel@lists.infradead.org\0"
  "\00:1\0"
- "fn\0arm-machine-reset-bcm2835.patch\0"
  "b\0"
- "From: Domenico Andreoli <domenico.andreoli@linux.com>\n"
- "\n"
- "Proof of concept: bcm2835 as provider of reset hooks.\n"
- "\n"
- "Cc: Stephen Warren <swarren@wwwdotorg.org>\n"
- "Cc: Russell King <linux@arm.linux.org.uk>\n"
- "Cc: Arnd Bergmann <arnd@arndb.de>\n"
- "Cc: Olof Johansson <olof@lixom.net>\n"
- "Cc: linux-arm-kernel@lists.infradead.org\n"
- "Signed-off-by: Domenico Andreoli <domenico.andreoli@linux.com>\n"
- "---\n"
- " arch/arm/mach-bcm2835/Kconfig   |    1 +\n"
- " arch/arm/mach-bcm2835/bcm2835.c |   30 ++++++++++++++++++------------\n"
- " 2 files changed, 19 insertions(+), 12 deletions(-)\n"
- "\n"
- "Index: b/arch/arm/mach-bcm2835/Kconfig\n"
- "===================================================================\n"
- "--- a/arch/arm/mach-bcm2835/Kconfig\n"
- "+++ b/arch/arm/mach-bcm2835/Kconfig\n"
- "@@ -8,6 +8,7 @@ config ARCH_BCM2835\n"
- " \tselect CLKSRC_OF\n"
- " \tselect CPU_V6\n"
- " \tselect GENERIC_CLOCKEVENTS\n"
- "+\tselect MACHINE_RESET\n"
- " \tselect PINCTRL\n"
- " \tselect PINCTRL_BCM2835\n"
- " \thelp\n"
- "Index: b/arch/arm/mach-bcm2835/bcm2835.c\n"
- "===================================================================\n"
- "--- a/arch/arm/mach-bcm2835/bcm2835.c\n"
- "+++ b/arch/arm/mach-bcm2835/bcm2835.c\n"
- "@@ -19,6 +19,7 @@\n"
- " #include <linux/of_platform.h>\n"
- " #include <linux/clk/bcm2835.h>\n"
- " #include <linux/clocksource.h>\n"
- "+#include <linux/machine_reset.h>\n"
- " \n"
- " #include <asm/mach/arch.h>\n"
- " #include <asm/mach/map.h>\n"
- "@@ -36,7 +37,8 @@\n"
- " #define BCM2835_PERIPH_VIRT\t0xf0000000\n"
- " #define BCM2835_PERIPH_SIZE\tSZ_16M\n"
- " \n"
- "-static void __iomem *wdt_regs;\n"
- "+static void bcm2835_restart(void *dev, enum reboot_mode mode, const char *cmd);\n"
- "+static void bcm2835_power_off(void *dev);\n"
- " \n"
- " /*\n"
- "  * The machine restart method can be called from an atomic context so we won't\n"
- "@@ -44,21 +46,28 @@ static void __iomem *wdt_regs;\n"
- "  */\n"
- " static void bcm2835_setup_restart(void)\n"
- " {\n"
- "+\tstruct reset_hook hook;\n"
- "+\tvoid __iomem *wdt_regs;\n"
- " \tstruct device_node *np = of_find_compatible_node(NULL, NULL,\n"
- " \t\t\t\t\t\t\"brcm,bcm2835-pm-wdt\");\n"
- " \tif (WARN(!np, \"unable to setup watchdog restart\"))\n"
- " \t\treturn;\n"
- " \n"
- " \twdt_regs = of_iomap(np, 0);\n"
- "-\tWARN(!wdt_regs, \"failed to remap watchdog regs\");\n"
- "+\tif (WARN(!wdt_regs, \"failed to remap watchdog regs\"))\n"
- "+\t\treturn;\n"
- "+\n"
- "+\treset_hook_init(&hook);\n"
- "+\thook.restart = bcm2835_restart;\n"
- "+\tset_machine_reset(RESET_RESTART, &hook, wdt_regs);\n"
- "+\thook.power_off = bcm2835_power_off;\n"
- "+\tset_machine_reset(RESET_POWER_OFF, &hook, wdt_regs);\n"
- " }\n"
- " \n"
- "-static void bcm2835_restart(enum reboot_mode mode, const char *cmd)\n"
- "+static void bcm2835_restart(void *dev, enum reboot_mode mode, const char *cmd)\n"
- " {\n"
- " \tu32 val;\n"
- "-\n"
- "-\tif (!wdt_regs)\n"
- "-\t\treturn;\n"
- "+\tvoid __iomem *wdt_regs = dev;\n"
- " \n"
- " \t/* use a timeout of 10 ticks (~150us) */\n"
- " \twritel_relaxed(10 | PM_PASSWORD, wdt_regs + PM_WDOG);\n"
- "@@ -76,9 +85,10 @@ static void bcm2835_restart(enum reboot_\n"
- "  * indicate to bootcode.bin not to reboot, then most of the chip will be\n"
- "  * powered off.\n"
- "  */\n"
- "-static void bcm2835_power_off(void)\n"
- "+static void bcm2835_power_off(void *dev)\n"
- " {\n"
- " \tu32 val;\n"
- "+\tvoid __iomem *wdt_regs = dev;\n"
- " \n"
- " \t/*\n"
- " \t * We set the watchdog hard reset bit here to distinguish this reset\n"
- "@@ -91,7 +101,7 @@ static void bcm2835_power_off(void)\n"
- " \twritel_relaxed(val, wdt_regs + PM_RSTS);\n"
- " \n"
- " \t/* Continue with normal reset mechanism */\n"
- "-\tbcm2835_restart(REBOOT_HARD, \"\");\n"
- "+\tbcm2835_restart(dev, REBOOT_HARD, \"\");\n"
- " }\n"
- " \n"
- " static struct map_desc io_map __initdata = {\n"
- "@@ -111,9 +121,6 @@ static void __init bcm2835_init(void)\n"
- " \tint ret;\n"
- " \n"
- " \tbcm2835_setup_restart();\n"
- "-\tif (wdt_regs)\n"
- "-\t\tpm_power_off = bcm2835_power_off;\n"
- "-\n"
- " \tbcm2835_init_clocks();\n"
- " \n"
- " \tret = of_platform_populate(NULL, of_default_bus_match_table, NULL,\n"
- "@@ -135,6 +142,5 @@ DT_MACHINE_START(BCM2835, \"BCM2835\")\n"
- " \t.handle_irq = bcm2835_handle_irq,\n"
- " \t.init_machine = bcm2835_init,\n"
- " \t.init_time = clocksource_of_init,\n"
- "-\t.restart = bcm2835_restart,\n"
- " \t.dt_compat = bcm2835_compat\n"
-  MACHINE_END
+ "An embedded and charset-unspecified text was scrubbed...\n"
+ "Name: arm-machine-reset-bcm2835.patch\n"
+ URL: <http://lists.infradead.org/pipermail/linux-arm-kernel/attachments/20131031/0b56201b/attachment.ksh>
 
-e229ee44022b5f200284aa7ae114be1bc0343bf17e44763d4c5fe0b47a62435e
+87bdd6888e7d1d0f61ab6893fd9f3c1e84f7238ffc28a0e1bd10196b62196ddf

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.