From: will.deacon@arm.com (Will Deacon)
To: linux-arm-kernel@lists.infradead.org
Subject: [PATCH 10/51] ARM: mach-footbridge: use arm_arch_reset instead of arch_reset
Date: Fri, 28 Oct 2011 15:43:38 +0100 [thread overview]
Message-ID: <1319813059-8914-11-git-send-email-will.deacon@arm.com> (raw)
In-Reply-To: <1319813059-8914-1-git-send-email-will.deacon@arm.com>
This patch updates mach-footbridge to use arm_arch_reset instead of
arch_reset.
Signed-off-by: Will Deacon <will.deacon@arm.com>
---
| 2 +-
| 46 ----------------
| 69 ++++++++++++++++++++++++
3 files changed, 70 insertions(+), 47 deletions(-)
create mode 100644 arch/arm/mach-footbridge/reset.c
--git a/arch/arm/mach-footbridge/Makefile b/arch/arm/mach-footbridge/Makefile
index 3afb1b2..39821ce 100644
--- a/arch/arm/mach-footbridge/Makefile
+++ b/arch/arm/mach-footbridge/Makefile
@@ -4,7 +4,7 @@
# Object file lists.
-obj-y := common.o dc21285.o dma.o isa-irq.o
+obj-y := common.o dc21285.o dma.o isa-irq.o reset.o
obj-m :=
obj-n :=
obj- :=
--git a/arch/arm/mach-footbridge/include/mach/system.h b/arch/arm/mach-footbridge/include/mach/system.h
index 0b29315..0c19392 100644
--- a/arch/arm/mach-footbridge/include/mach/system.h
+++ b/arch/arm/mach-footbridge/include/mach/system.h
@@ -20,50 +20,4 @@ static inline void arch_idle(void)
static inline void arch_reset(char mode, const char *cmd)
{
- if (mode == 's') {
- /*
- * Jump into the ROM
- */
- cpu_reset(0x41000000);
- } else {
- if (machine_is_netwinder()) {
- /* open up the SuperIO chip
- */
- outb(0x87, 0x370);
- outb(0x87, 0x370);
-
- /* aux function group 1 (logical device 7)
- */
- outb(0x07, 0x370);
- outb(0x07, 0x371);
-
- /* set GP16 for WD-TIMER output
- */
- outb(0xe6, 0x370);
- outb(0x00, 0x371);
-
- /* set a RED LED and toggle WD_TIMER for rebooting
- */
- outb(0xc4, 0x338);
- } else {
- /*
- * Force the watchdog to do a CPU reset.
- *
- * After making sure that the watchdog is disabled
- * (so we can change the timer registers) we first
- * enable the timer to autoreload itself. Next, the
- * timer interval is set really short and any
- * current interrupt request is cleared (so we can
- * see an edge transition). Finally, TIMER4 is
- * enabled as the watchdog.
- */
- *CSR_SA110_CNTL &= ~(1 << 13);
- *CSR_TIMER4_CNTL = TIMER_CNTL_ENABLE |
- TIMER_CNTL_AUTORELOAD |
- TIMER_CNTL_DIV16;
- *CSR_TIMER4_LOAD = 0x2;
- *CSR_TIMER4_CLR = 0;
- *CSR_SA110_CNTL |= (1 << 13);
- }
- }
}
--git a/arch/arm/mach-footbridge/reset.c b/arch/arm/mach-footbridge/reset.c
new file mode 100644
index 0000000..f61e559
--- /dev/null
+++ b/arch/arm/mach-footbridge/reset.c
@@ -0,0 +1,69 @@
+/*
+ * arch/arm/mach-footbridge/reset.c
+ */
+
+#include <linux/init.h>
+#include <linux/io.h>
+#include <linux/spinlock.h>
+#include <asm/hardware/dec21285.h>
+#include <mach/hardware.h>
+#include <asm/leds.h>
+#include <asm/mach-types.h>
+#include <asm/proc-fns.h>
+
+static void footbridge_arch_reset(char mode, const char *cmd)
+{
+ if (mode == 's') {
+ /*
+ * Jump into the ROM
+ */
+ cpu_reset(0x41000000);
+ } else {
+ if (machine_is_netwinder()) {
+ /* open up the SuperIO chip
+ */
+ outb(0x87, 0x370);
+ outb(0x87, 0x370);
+
+ /* aux function group 1 (logical device 7)
+ */
+ outb(0x07, 0x370);
+ outb(0x07, 0x371);
+
+ /* set GP16 for WD-TIMER output
+ */
+ outb(0xe6, 0x370);
+ outb(0x00, 0x371);
+
+ /* set a RED LED and toggle WD_TIMER for rebooting
+ */
+ outb(0xc4, 0x338);
+ } else {
+ /*
+ * Force the watchdog to do a CPU reset.
+ *
+ * After making sure that the watchdog is disabled
+ * (so we can change the timer registers) we first
+ * enable the timer to autoreload itself. Next, the
+ * timer interval is set really short and any
+ * current interrupt request is cleared (so we can
+ * see an edge transition). Finally, TIMER4 is
+ * enabled as the watchdog.
+ */
+ *CSR_SA110_CNTL &= ~(1 << 13);
+ *CSR_TIMER4_CNTL = TIMER_CNTL_ENABLE |
+ TIMER_CNTL_AUTORELOAD |
+ TIMER_CNTL_DIV16;
+ *CSR_TIMER4_LOAD = 0x2;
+ *CSR_TIMER4_CLR = 0;
+ *CSR_SA110_CNTL |= (1 << 13);
+ }
+ }
+}
+
+static int __init footbridge_arch_reset_init(void)
+{
+ arm_arch_reset = footbridge_arch_reset;
+ return 0;
+}
+arch_initcall(footbridge_arch_reset_init);
--
1.7.4.1
next prev parent reply other threads:[~2011-10-28 14:43 UTC|newest]
Thread overview: 79+ messages / expand[flat|nested] mbox.gz Atom feed top
2011-10-28 14:43 [PATCH 00/51] Remove inline arch_reset definitions from system.h Will Deacon
2011-10-28 14:43 ` [PATCH 01/51] ARM: reset: introduce arm_arch_reset function pointer Will Deacon
2011-10-28 21:38 ` Jean-Christophe PLAGNIOL-VILLARD
2011-10-29 13:59 ` Will Deacon
2011-10-29 10:21 ` Russell King - ARM Linux
2011-10-29 13:56 ` Will Deacon
2011-10-29 20:05 ` Russell King - ARM Linux
2011-10-30 21:07 ` Will Deacon
2011-10-31 12:06 ` Russell King - ARM Linux
2011-10-31 13:53 ` Will Deacon
2011-11-01 18:05 ` Will Deacon
2011-10-31 14:13 ` Russell King - ARM Linux
2011-10-31 14:26 ` Jamie Iles
2011-10-31 14:33 ` Russell King - ARM Linux
2011-10-31 14:33 ` Rabin Vincent
2011-10-31 14:39 ` Russell King - ARM Linux
2011-10-31 14:44 ` Rabin Vincent
2011-10-31 14:56 ` Russell King - ARM Linux
2011-10-31 14:37 ` Will Deacon
2011-10-31 22:15 ` Russell King - ARM Linux
2011-11-01 12:40 ` Will Deacon
2011-11-01 13:01 ` Russell King - ARM Linux
2011-10-31 22:43 ` Nicolas Pitre
2011-10-28 14:43 ` [PATCH 02/51] ARM: mach-at91: use arm_arch_reset instead of arch_reset Will Deacon
2011-10-28 14:43 ` [PATCH 03/51] ARM: bcmring: " Will Deacon
2011-10-28 14:43 ` [PATCH 04/51] ARM: mach-clps711x: " Will Deacon
2011-10-28 14:43 ` [PATCH 05/51] ARM: cns3xxx: " Will Deacon
2011-10-28 14:43 ` [PATCH 06/51] ARM: mach-davinci: " Will Deacon
2011-10-28 14:43 ` [PATCH 07/51] ARM: mach-dove: " Will Deacon
2011-10-28 14:43 ` [PATCH 08/51] ARM: mach-ebsa110: " Will Deacon
2011-10-28 14:43 ` [PATCH 09/51] ARM: mach-ep93xx: " Will Deacon
2011-10-28 14:43 ` Will Deacon [this message]
2011-10-28 14:43 ` [PATCH 11/51] ARM: mach-gemini: " Will Deacon
2011-10-28 14:43 ` [PATCH 12/51] ARM: mach-h720x: " Will Deacon
2011-10-28 14:43 ` [PATCH 13/51] ARM: mach-integrator: " Will Deacon
2011-10-28 14:43 ` [PATCH 14/51] ARM: mach-iop13xx: " Will Deacon
2011-10-28 14:43 ` [PATCH 15/51] ARM: mach-iop32x: " Will Deacon
2011-10-28 14:43 ` [PATCH 16/51] ARM: mach-iop33x: " Will Deacon
2011-10-28 14:43 ` [PATCH 17/51] ARM: OMAP: convert reset to use arm_arch_reset Will Deacon
2011-10-28 14:43 ` [PATCH 18/51] ARM: mach-ixp2000: use arm_arch_reset instead of arch_reset Will Deacon
2011-10-28 14:43 ` [PATCH 19/51] ARM: mach-ixp23xx: " Will Deacon
2011-10-28 14:43 ` [PATCH 20/51] ARM: mach-ixp4xx: " Will Deacon
2011-10-28 14:43 ` [PATCH 21/51] ARM: mach-kirkwood: " Will Deacon
2011-10-28 14:43 ` [PATCH 22/51] ARM: mach-ks8695: " Will Deacon
2011-10-28 14:43 ` [PATCH 23/51] ARM: mach-lpc32xx: " Will Deacon
2011-10-28 14:43 ` [PATCH 24/51] ARM: mach-mmp: " Will Deacon
2011-10-28 14:43 ` [PATCH 25/51] ARM: mach-mv78xx0: " Will Deacon
2011-10-28 14:43 ` [PATCH 26/51] ARM: mach-msm: " Will Deacon
2011-10-28 14:43 ` [PATCH 27/51] ARM: mach-mxs: " Will Deacon
2011-10-28 14:43 ` [PATCH 28/51] ARM: mach-netx: " Will Deacon
2011-10-28 14:43 ` [PATCH 29/51] ARM: mach-nomadik: " Will Deacon
2011-10-28 14:43 ` [PATCH 30/51] ARM: mach-nuc93x: " Will Deacon
2011-10-28 14:43 ` [PATCH 31/51] ARM: mach-orion5x: " Will Deacon
2011-10-28 14:44 ` [PATCH 32/51] ARM: mach-pnx4008: " Will Deacon
2011-10-28 14:44 ` [PATCH 33/51] ARM: mach-prima2: " Will Deacon
2011-10-29 9:41 ` Barry Song
2011-10-29 13:58 ` Will Deacon
2011-10-28 14:44 ` [PATCH 34/51] ARM: mach-pxa: " Will Deacon
2011-10-28 22:12 ` Marek Vasut
2011-10-28 14:44 ` [PATCH 35/51] ARM: mach-realview: " Will Deacon
2011-10-28 14:44 ` [PATCH 36/51] ARM: mach-rpc: " Will Deacon
2011-10-28 14:44 ` [PATCH 37/51] ARM: mach-s3c64xx: " Will Deacon
2011-10-28 14:44 ` [PATCH 38/51] ARM: mach-sa1100: " Will Deacon
2011-10-28 14:44 ` [PATCH 39/51] ARM: mach-shark: " Will Deacon
2011-10-28 14:44 ` [PATCH 40/51] ARM: mach-shmobile: " Will Deacon
2011-10-28 14:44 ` [PATCH 41/51] ARM: mach-tegra: " Will Deacon
2011-10-28 14:44 ` [PATCH 42/51] ARM: mach-u300: " Will Deacon
2011-10-28 19:37 ` Linus Walleij
2011-10-28 14:44 ` [PATCH 43/51] ARM: mach-versatile: " Will Deacon
2011-10-28 14:44 ` [PATCH 44/51] ARM: mach-vt8500: " Will Deacon
2011-10-28 14:44 ` [PATCH 45/51] ARM: mach-w90x900: " Will Deacon
2011-10-28 14:44 ` [PATCH 46/51] ARM: plat-spear: " Will Deacon
2011-10-28 14:44 ` [PATCH 47/51] ARM: plat-tcc: " Will Deacon
2011-10-28 14:44 ` [PATCH 48/51] ARM: plat-s5p: " Will Deacon
2011-10-28 14:44 ` [PATCH 49/51] ARM: plat-mxc: " Will Deacon
2011-10-28 14:44 ` [PATCH 50/51] ARM: plat-s3c24xx: " Will Deacon
2011-10-28 14:44 ` [PATCH 51/51] ARM: reset: remove empty arch_reset definitions Will Deacon
2011-10-28 22:08 ` [PATCH 00/51] Remove inline arch_reset definitions from system.h Deepak Saxena
2011-10-28 22:14 ` Deepak Saxena
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=1319813059-8914-11-git-send-email-will.deacon@arm.com \
--to=will.deacon@arm.com \
--cc=linux-arm-kernel@lists.infradead.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).