[ARM] pass reboot command line to arch_reset()
authorRussell King <rmk@dyn-67.arm.linux.org.uk>
Thu, 19 Mar 2009 16:20:24 +0000 (16:20 +0000)
committerRussell King <rmk+kernel@arm.linux.org.uk>
Thu, 19 Mar 2009 16:20:24 +0000 (16:20 +0000)
OMAP wishes to pass state to the boot loader upon reboot in order to
instruct it whether to wait for USB-based reflashing or not.  There is
already a facility to do this via the reboot() syscall, except we ignore
the string passed to machine_restart().

This patch fixes things to pass this string to arch_reset().  This means
that we keep the reboot mode limited to telling the kernel _how_ to
perform the reboot which should be independent of what we request the
boot loader to do.

Acked-by: Tony Lindgren <tony@atomide.com>
Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
50 files changed:
arch/arm/include/asm/system.h
arch/arm/kernel/process.c
arch/arm/mach-aaec2000/include/mach/system.h
arch/arm/mach-at91/include/mach/system.h
arch/arm/mach-clps711x/include/mach/system.h
arch/arm/mach-davinci/include/mach/system.h
arch/arm/mach-ebsa110/include/mach/system.h
arch/arm/mach-ep93xx/include/mach/system.h
arch/arm/mach-footbridge/include/mach/system.h
arch/arm/mach-h720x/include/mach/system.h
arch/arm/mach-imx/include/mach/system.h
arch/arm/mach-integrator/include/mach/system.h
arch/arm/mach-iop13xx/include/mach/system.h
arch/arm/mach-iop32x/include/mach/system.h
arch/arm/mach-iop33x/include/mach/system.h
arch/arm/mach-ixp2000/include/mach/system.h
arch/arm/mach-ixp23xx/include/mach/system.h
arch/arm/mach-ixp4xx/include/mach/system.h
arch/arm/mach-kirkwood/include/mach/system.h
arch/arm/mach-ks8695/include/mach/system.h
arch/arm/mach-l7200/include/mach/system.h
arch/arm/mach-lh7a40x/include/mach/system.h
arch/arm/mach-loki/include/mach/system.h
arch/arm/mach-msm/include/mach/system.h
arch/arm/mach-mv78xx0/include/mach/system.h
arch/arm/mach-mx2/system.c
arch/arm/mach-netx/include/mach/system.h
arch/arm/mach-ns9xxx/include/mach/system.h
arch/arm/mach-orion5x/include/mach/system.h
arch/arm/mach-orion5x/lsmini-setup.c
arch/arm/mach-pnx4008/include/mach/system.h
arch/arm/mach-pxa/corgi.c
arch/arm/mach-pxa/include/mach/system.h
arch/arm/mach-pxa/mioa701.c
arch/arm/mach-pxa/poodle.c
arch/arm/mach-pxa/reset.c
arch/arm/mach-pxa/spitz.c
arch/arm/mach-pxa/tosa.c
arch/arm/mach-realview/include/mach/system.h
arch/arm/mach-rpc/include/mach/system.h
arch/arm/mach-s3c2410/include/mach/system-reset.h
arch/arm/mach-s3c6400/include/mach/system.h
arch/arm/mach-sa1100/include/mach/system.h
arch/arm/mach-shark/core.c
arch/arm/mach-shark/include/mach/system.h
arch/arm/mach-versatile/include/mach/system.h
arch/arm/mach-w90x900/include/mach/system.h
arch/arm/plat-mxc/include/mach/system.h
arch/arm/plat-omap/include/mach/system.h
arch/arm/plat-s3c24xx/cpu.c

index 811be55f338e947ba362c8c932d2cf76d0dffd5e..0a0d49ae1e6dd59c0a7c16bc462c2dbd71029846 100644 (file)
@@ -97,8 +97,8 @@ extern void __show_regs(struct pt_regs *);
 extern int cpu_architecture(void);
 extern void cpu_init(void);
 
-void arm_machine_restart(char mode);
-extern void (*arm_pm_restart)(char str);
+void arm_machine_restart(char mode, const char *cmd);
+extern void (*arm_pm_restart)(char str, const char *cmd);
 
 #define UDBG_UNDEFINED (1 << 0)
 #define UDBG_SYSCALL   (1 << 1)
index af377c73d90bdf2f1fd1ddb34e25b905c1e6f7fa..2de14e2afdc5df8d3295f0aca4e3e6f7963980ba 100644 (file)
@@ -83,7 +83,7 @@ static int __init hlt_setup(char *__unused)
 __setup("nohlt", nohlt_setup);
 __setup("hlt", hlt_setup);
 
-void arm_machine_restart(char mode)
+void arm_machine_restart(char mode, const char *cmd)
 {
        /*
         * Clean and disable cache, and turn off interrupts
@@ -100,7 +100,7 @@ void arm_machine_restart(char mode)
        /*
         * Now call the architecture specific reboot code.
         */
-       arch_reset(mode);
+       arch_reset(mode, cmd);
 
        /*
         * Whoops - the architecture was unable to reboot.
@@ -120,7 +120,7 @@ EXPORT_SYMBOL(pm_idle);
 void (*pm_power_off)(void);
 EXPORT_SYMBOL(pm_power_off);
 
-void (*arm_pm_restart)(char str) = arm_machine_restart;
+void (*arm_pm_restart)(char str, const char *cmd) = arm_machine_restart;
 EXPORT_SYMBOL_GPL(arm_pm_restart);
 
 
@@ -195,9 +195,9 @@ void machine_power_off(void)
                pm_power_off();
 }
 
-void machine_restart(char * __unused)
+void machine_restart(char *cmd)
 {
-       arm_pm_restart(reboot_mode);
+       arm_pm_restart(reboot_mode, cmd);
 }
 
 void __show_regs(struct pt_regs *regs)
index 8f4115d734ce18832d005a31086694d643def027..fe08ca1add6f42df2fbbc3ba241fb68815f5eef4 100644 (file)
@@ -16,7 +16,7 @@ static inline void arch_idle(void)
        cpu_do_idle();
 }
 
-static inline void arch_reset(char mode)
+static inline void arch_reset(char mode, const char *cmd)
 {
        cpu_reset(0);
 }
index e712658d966cdd83f7576f5a4856930173e306df..5268af3933c259d22c2c1ec35d63c133b8fb5456 100644 (file)
@@ -43,7 +43,7 @@ static inline void arch_idle(void)
 
 void (*at91_arch_reset)(void);
 
-static inline void arch_reset(char mode)
+static inline void arch_reset(char mode, const char *cmd)
 {
        /* call the CPU-specific reset function */
        if (at91_arch_reset)
index 24e96159e3e7590a008ab8cfbcdda830d3eb782b..f916cd7a477d14ca8b552f6b2a3fe8b231a8d40e 100644 (file)
@@ -32,7 +32,7 @@ static inline void arch_idle(void)
        mov     r0, r0");
 }
 
-static inline void arch_reset(char mode)
+static inline void arch_reset(char mode, const char *cmd)
 {
        cpu_reset(0);
 }
index 17ca41dc2c5363b2ae8bf9fb625688b437aa718f..b7e7036674fafe55704cc1aed2d92637e115b011 100644 (file)
@@ -21,7 +21,7 @@ static void arch_idle(void)
        cpu_do_idle();
 }
 
-static void arch_reset(char mode)
+static void arch_reset(char mode, const char *cmd)
 {
        davinci_watchdog_reset();
 }
index 350a028997efddc34c8a87606928a0ebc25eef85..9a26245bf1fc58900c39242b90a6e1cabb3eeb14 100644 (file)
@@ -34,6 +34,6 @@ static inline void arch_idle(void)
        asm volatile ("mcr p15, 0, ip, c15, c1, 2" : : : "cc");
 }
 
-#define arch_reset(mode)       cpu_reset(0x80000000)
+#define arch_reset(mode, cmd)  cpu_reset(0x80000000)
 
 #endif
index 67789d0f329e5013c3072e7a5ffa91a633ef18c8..ed8f35e4f068f29c6c6c39934cded13712108d88 100644 (file)
@@ -9,7 +9,7 @@ static inline void arch_idle(void)
        cpu_do_idle();
 }
 
-static inline void arch_reset(char mode)
+static inline void arch_reset(char mode, const char *cmd)
 {
        u32 devicecfg;
 
index 2db7f36bd6ca44ed09381f0fddd932fc224afa9c..0b293156620948269d1b6a6ca6e01079947d5762 100644 (file)
@@ -18,7 +18,7 @@ static inline void arch_idle(void)
        cpu_do_idle();
 }
 
-static inline void arch_reset(char mode)
+static inline void arch_reset(char mode, const char *cmd)
 {
        if (mode == 's') {
                /*
index e4a7c760d52a584f4321d233beaa523163cd8dd4..a708d24ee46d67a80d2129860c7c91e20029cfea 100644 (file)
@@ -25,7 +25,7 @@ static void arch_idle(void)
 }
 
 
-static __inline__ void arch_reset(char mode)
+static __inline__ void arch_reset(char mode, const char *cmd)
 {
        CPU_REG (PMU_BASE, PMU_STAT) |= PMU_WARMRESET;
 }
index adee7e51bab2b8bbdce427150465ea30f26591fc..46d4ca91af796e11519a021aa934baa8b162a15a 100644 (file)
@@ -32,7 +32,7 @@ arch_idle(void)
 }
 
 static inline void
-arch_reset(char mode)
+arch_reset(char mode, const char *cmd)
 {
        cpu_reset(0);
 }
index c485345c8c779bc5ab914f3ffbed7d4ca1608d54..e1551b8dab77448687a8752df3f839ccb274f9d3 100644 (file)
@@ -32,7 +32,7 @@ static inline void arch_idle(void)
        cpu_do_idle();
 }
 
-static inline void arch_reset(char mode)
+static inline void arch_reset(char mode, const char *cmd)
 {
        /*
         * To reset, we hit the on-board reset register
index c7127f416e1fd01d4c92d57b1fa09476f910ecd7..d0c66ef450a7398e08ee4fd5cd70c0f7a571c25f 100644 (file)
@@ -13,7 +13,7 @@ static inline void arch_idle(void)
        cpu_do_idle();
 }
 
-static inline void arch_reset(char mode)
+static inline void arch_reset(char mode, const char *cmd)
 {
        /*
         * Reset the internal bus (warning both cores are reset)
index 32d9e5b0a28db1a36b6888c0fa019f453c42881e..a4b808fe0d817c77db50928f22e6a24018417a06 100644 (file)
@@ -16,7 +16,7 @@ static inline void arch_idle(void)
        cpu_do_idle();
 }
 
-static inline void arch_reset(char mode)
+static inline void arch_reset(char mode, const char *cmd)
 {
        local_irq_disable();
 
index 0cb3ad862acd92ff1d023fbbe169ff46cdc59854..f192a34be0731969dec3547d846db75cd8920fad 100644 (file)
@@ -14,7 +14,7 @@ static inline void arch_idle(void)
        cpu_do_idle();
 }
 
-static inline void arch_reset(char mode)
+static inline void arch_reset(char mode, const char *cmd)
 {
        *IOP3XX_PCSR = 0x30;
 
index 2e9c68f95a24bf13b76623632d9946aeb36122d7..de370992c8485d5ef2eb86f215d52def936005f5 100644 (file)
@@ -17,7 +17,7 @@ static inline void arch_idle(void)
        cpu_do_idle();
 }
 
-static inline void arch_reset(char mode)
+static inline void arch_reset(char mode, const char *cmd)
 {
        local_irq_disable();
 
index d57c3fc10f1f205b003fd894ae84c52d750d5e01..8920ff2dff1f7c8ea0ed57274fa3188c370f153d 100644 (file)
@@ -19,7 +19,7 @@ static inline void arch_idle(void)
 #endif
 }
 
-static inline void arch_reset(char mode)
+static inline void arch_reset(char mode, const char *cmd)
 {
        /* First try machine specific support */
        if (machine_is_ixdp2351()) {
index 92a7e8ddf69a3b09c1f551884047fea64cb83927..d2aa26f5acd7cd8b2173c84d1ab9e210d189e828 100644 (file)
@@ -20,7 +20,7 @@ static inline void arch_idle(void)
 }
 
 
-static inline void arch_reset(char mode)
+static inline void arch_reset(char mode, const char *cmd)
 {
        if ( 1 && mode == 's') {
                /* Jump into ROM at address 0 */
index 8510f6cfdabf09b2a96a4ba91ffe9a166a1315d5..23a1914c1da80f15ae382db0eb41fa6842163255 100644 (file)
@@ -17,7 +17,7 @@ static inline void arch_idle(void)
        cpu_do_idle();
 }
 
-static inline void arch_reset(char mode)
+static inline void arch_reset(char mode, const char *cmd)
 {
        /*
         * Enable soft reset to assert RSTOUTn.
index 5a9b032bdbeb5a95318291faa426f9f12aeb42ed..fb1dda9be2d0a8c7fd6a032fb06417af1499455d 100644 (file)
@@ -27,7 +27,7 @@ static void arch_idle(void)
 
 }
 
-static void arch_reset(char mode)
+static void arch_reset(char mode, const char *cmd)
 {
        unsigned int reg;
 
index 5272abee0d0e43c6924ee16588b283ef0c5ba488..e0dd3b6ae4aabce6de0df61de82c7e12d239d30a 100644 (file)
@@ -19,7 +19,7 @@ static inline void arch_idle(void)
        *(unsigned long *)(IO_BASE + 0x50004) = 1;      /* idle mode */
 }
 
-static inline void arch_reset(char mode)
+static inline void arch_reset(char mode, const char *cmd)
 {
        if (mode == 's') {
                cpu_reset(0);
index fa46bb1ef07be13776542b17374e464c7a01c725..45a56d3b93d77ebf2e643591cba74e214a44bc2f 100644 (file)
@@ -13,7 +13,7 @@ static inline void arch_idle(void)
        cpu_do_idle ();
 }
 
-static inline void arch_reset(char mode)
+static inline void arch_reset(char mode, const char *cmd)
 {
        cpu_reset (0);
 }
index 8db1147d4ec5594f5084d3619039e3b8f5447c8d..c1de36fe9b375c2389d6026d5c9dcd0f31824189 100644 (file)
@@ -17,7 +17,7 @@ static inline void arch_idle(void)
        cpu_do_idle();
 }
 
-static inline void arch_reset(char mode)
+static inline void arch_reset(char mode, const char *cmd)
 {
        /*
         * Enable soft reset to assert RSTOUTn.
index f05ad2e0f235f4988d596ee885e66768e8d39a6a..574ccc493daff1e11ee9aab88b7c368cbc33151f 100644 (file)
@@ -17,7 +17,7 @@
 
 void arch_idle(void);
 
-static inline void arch_reset(char mode)
+static inline void arch_reset(char mode, const char *cmd)
 {
        for (;;) ;  /* depends on IPC w/ other core */
 }
index 7d51794088322106ce8db7342ca90cd1bb50d162..1d6350b22d0b7e284616d5b72c31fce33f2fbf10 100644 (file)
@@ -17,7 +17,7 @@ static inline void arch_idle(void)
        cpu_do_idle();
 }
 
-static inline void arch_reset(char mode)
+static inline void arch_reset(char mode, const char *cmd)
 {
        /*
         * Enable soft reset to assert RSTOUTn.
index 7b8269719d1175ced8a0cc546fd7e8da05c2d8f6..92c79d4bd1621d962667340f453a2e31d31b5d4b 100644 (file)
@@ -46,7 +46,7 @@ void arch_idle(void)
 /*
  * Reset the system. It is called by machine_restart().
  */
-void arch_reset(char mode)
+void arch_reset(char mode, const char *cmd)
 {
        struct clk *clk;
 
index 6c1023b8a9ab73a63848b684809a4e4ccebcad37..dc7b4bc003c58182357ce5ce0aff477c82a0de63 100644 (file)
@@ -28,7 +28,7 @@ static inline void arch_idle(void)
        cpu_do_idle();
 }
 
-static inline void arch_reset(char mode)
+static inline void arch_reset(char mode, const char *cmd)
 {
        writel(NETX_SYSTEM_RES_CR_FIRMW_RES_EN | NETX_SYSTEM_RES_CR_FIRMW_RES,
               NETX_SYSTEM_RES_CR);
index e2068c57415fd17440e4503763f4b1cb5412c957..1561588ca364bf10978f3a90dd147beda3bddefe 100644 (file)
@@ -20,7 +20,7 @@ static inline void arch_idle(void)
        cpu_do_idle();
 }
 
-static inline void arch_reset(char mode)
+static inline void arch_reset(char mode, const char *cmd)
 {
 #ifdef CONFIG_PROCESSOR_NS9360
        if (processor_is_ns9360())
index 08e430757890d984171f7dffa99953e69ea74a9e..9b8db1dcfa830a3acf1bfe884afc13a43ef48f32 100644 (file)
@@ -19,7 +19,7 @@ static inline void arch_idle(void)
        cpu_do_idle();
 }
 
-static inline void arch_reset(char mode)
+static inline void arch_reset(char mode, const char *cmd)
 {
        /*
         * Enable and issue soft reset
index e0c43b8beb72afa27ba50f15c5d30732461a8874..c9bf6b81a80d9bc415dc5bcd10e98bf365bbe42a 100644 (file)
@@ -186,7 +186,7 @@ static struct mv_sata_platform_data lsmini_sata_data = {
 
 static void lsmini_power_off(void)
 {
-       arch_reset(0);
+       arch_reset(0, NULL);
 }
 
 
index e12e7abfcbcf34a7316a3d41808475a51769e600..5dda2bb55f8d838fb817877572feafb7fc076004 100644 (file)
@@ -30,7 +30,7 @@ static void arch_idle(void)
        cpu_do_idle();
 }
 
-static inline void arch_reset(char mode)
+static inline void arch_reset(char mode, const char *cmd)
 {
        cpu_reset(0);
 }
index 3b89e5010fb3702ba4923fe0b8f753d245e28016..cdf21dd135b4ee4dc3bc246af54481a214c31b4b 100644 (file)
@@ -635,16 +635,16 @@ static void corgi_poweroff(void)
                /* Green LED off tells the bootloader to halt */
                gpio_set_value(CORGI_GPIO_LED_GREEN, 0);
 
-       arm_machine_restart('h');
+       arm_machine_restart('h', NULL);
 }
 
-static void corgi_restart(char mode)
+static void corgi_restart(char mode, const char *cmd)
 {
        if (!machine_is_corgi())
                /* Green LED on tells the bootloader to reboot */
                gpio_set_value(CORGI_GPIO_LED_GREEN, 1);
 
-       arm_machine_restart('h');
+       arm_machine_restart('h', cmd);
 }
 
 static void __init corgi_init(void)
index 0a587c4ec70931c3ba80c34ccdc4e35c782d9632..d1fce8b6d1051d23b910bae6e7e5d8109ee0bdad 100644 (file)
@@ -20,4 +20,4 @@ static inline void arch_idle(void)
 }
 
 
-void arch_reset(char mode);
+void arch_reset(char mode, const char *cmd);
index 025772785d362a978fc428c7a5a5aa0c2763d63d..97c93a7a285c12b70a7249c25cd9f47ee1b2f493 100644 (file)
@@ -788,13 +788,13 @@ static void mioa701_machine_exit(void);
 static void mioa701_poweroff(void)
 {
        mioa701_machine_exit();
-       arm_machine_restart('s');
+       arm_machine_restart('s', NULL);
 }
 
-static void mioa701_restart(char c)
+static void mioa701_restart(char c, const char *cmd)
 {
        mioa701_machine_exit();
-       arm_machine_restart('s');
+       arm_machine_restart('s', cmd);
 }
 
 struct gpio_ress global_gpios[] = {
index 572ddec2b3e63159c53e89e79d4bbb46876bc6ae..036bbde4d22133fd6bfe7390ddc357259fdc01da 100644 (file)
@@ -501,12 +501,12 @@ static struct platform_device *devices[] __initdata = {
 
 static void poodle_poweroff(void)
 {
-       arm_machine_restart('h');
+       arm_machine_restart('h', NULL);
 }
 
-static void poodle_restart(char mode)
+static void poodle_restart(char mode, const char *cmd)
 {
-       arm_machine_restart('h');
+       arm_machine_restart('h', cmd);
 }
 
 static void __init poodle_init(void)
index 867c95c096183df28578471e1d8ef1300c113871..df29d45fb4e72db6cabbe06332018071fbe1774d 100644 (file)
@@ -81,7 +81,7 @@ static void do_hw_reset(void)
        OSMR3 = OSCR + 368640;  /* ... in 100 ms */
 }
 
-void arch_reset(char mode)
+void arch_reset(char mode, const char *cmd)
 {
        clear_reset_status(RESET_STATUS_ALL);
 
index f697c492b2ab74fbe955994faa88b6167449a383..7a0a430222cfbe8e1ceedab587235e631b23dba1 100644 (file)
@@ -701,10 +701,10 @@ static struct platform_device *devices[] __initdata = {
 
 static void spitz_poweroff(void)
 {
-       arm_machine_restart('g');
+       arm_machine_restart('g', NULL);
 }
 
-static void spitz_restart(char mode)
+static void spitz_restart(char mode, const char *cmd)
 {
        /* Bootloader magic for a reboot */
        if((MSC0 & 0xffff0000) == 0x7ff00000)
index 66b13802c99d7522e7263f275244a33c337dca41..4f6f5024884eb30e5181b047fdaecbd2ff655d15 100644 (file)
@@ -876,10 +876,10 @@ static struct platform_device *devices[] __initdata = {
 
 static void tosa_poweroff(void)
 {
-       arm_machine_restart('g');
+       arm_machine_restart('g', NULL);
 }
 
-static void tosa_restart(char mode)
+static void tosa_restart(char mode, const char *cmd)
 {
        /* Bootloader magic for a reboot */
        if((MSC0 & 0xffff0000) == 0x7ff00000)
index a2f61c78adbf26cadb3ce184c4eb927edba53b32..1a15a441e027550e9503a662592c8015544992c7 100644 (file)
@@ -34,7 +34,7 @@ static inline void arch_idle(void)
        cpu_do_idle();
 }
 
-static inline void arch_reset(char mode)
+static inline void arch_reset(char mode, const char *cmd)
 {
        void __iomem *hdr_ctrl = __io_address(REALVIEW_SYS_BASE) + REALVIEW_SYS_RESETCTL_OFFSET;
        unsigned int val;
index bd7268ba17e2345dc0cba728523f063810bff637..45c7b935dc45b768aea310c398411a22ed4e1e02 100644 (file)
@@ -16,7 +16,7 @@ static inline void arch_idle(void)
        cpu_do_idle();
 }
 
-static inline void arch_reset(char mode)
+static inline void arch_reset(char mode, const char *cmd)
 {
        iomd_writeb(0, IOMD_ROMCR0);
 
index 7613d0a384ba23d47cd054562e8aa50b66dfff9d..b8687f71c30479c90400e2a36a4c51086c591007 100644 (file)
@@ -22,7 +22,7 @@
 extern void (*s3c24xx_reset_hook)(void);
 
 static void
-arch_reset(char mode)
+arch_reset(char mode, const char *cmd)
 {
        struct clk *wdtclk;
 
index 652bbc403f0bbd159476df39039ff4081caae5a3..090cfd969bc7f4b572e54a722064d83baa9fd2fa 100644 (file)
@@ -16,7 +16,7 @@ static void arch_idle(void)
        /* nothing here yet */
 }
 
-static void arch_reset(char mode)
+static void arch_reset(char mode, const char *cmd)
 {
        /* nothing here yet */
 }
index 63755ca5b1b49a5c457f4efd3d205a06f76ad695..942b153e251d601ffb9fc79a87a5a07fba9bb761 100644 (file)
@@ -10,7 +10,7 @@ static inline void arch_idle(void)
        cpu_do_idle();
 }
 
-static inline void arch_reset(char mode)
+static inline void arch_reset(char mode, const char *cmd)
 {
        if (mode == 's') {
                /* Jump into ROM at address 0 */
index 4f3a2651259982056029d430aaaf718e848b5e65..358d875ace1478e67f8e32b03713917946650139 100644 (file)
@@ -26,7 +26,7 @@
 #define ROMCARD_SIZE            0x08000000
 #define ROMCARD_START           0x10000000
 
-void arch_reset(char mode)
+void arch_reset(char mode, const char *cmd)
 {
         short temp;
         local_irq_disable();
index 0752ca29971a617e68a39de4b823a3cdd2fda5c1..21c373b30bbc38079c36597d48bfee410ceaadf1 100644 (file)
@@ -7,7 +7,7 @@
 #define __ASM_ARCH_SYSTEM_H
 
 /* Found in arch/mach-shark/core.c */
-extern void arch_reset(char mode);
+extern void arch_reset(char mode, const char *cmd);
 
 static inline void arch_idle(void)
 {
index c59e6100c7e377744ede2095f67220a27ba84e90..8ffc12a7cb25dd0f0273d8bc6d938d067821f646 100644 (file)
@@ -34,7 +34,7 @@ static inline void arch_idle(void)
        cpu_do_idle();
 }
 
-static inline void arch_reset(char mode)
+static inline void arch_reset(char mode, const char *cmd)
 {
        u32 val;
 
index 93753f922618f96ba49b2552f40966b02a3501b0..940640066857c9d9c5244aced58c830fa5616edd 100644 (file)
@@ -21,7 +21,7 @@ static void arch_idle(void)
 {
 }
 
-static void arch_reset(char mode)
+static void arch_reset(char mode, const char *cmd)
 {
        cpu_reset(0);
 }
index bbfc37465fc597943ec1944ddd416157713526d1..cd03ebaa49bcafde8e71e2996bf6e5581216bca2 100644 (file)
@@ -26,7 +26,7 @@ static inline void arch_idle(void)
        cpu_do_idle();
 }
 
-static inline void arch_reset(char mode)
+static inline void arch_reset(char mode, const char *cmd)
 {
        cpu_reset(0);
 }
index e9b95637f7fc0808a0d2d14f1443ebb3426ae4b2..cb8c0ef30fba8e447288bffbbf9f1d85f7c3f363 100644 (file)
@@ -38,7 +38,7 @@ static inline void omap1_arch_reset(char mode)
                omap_writew(1, ARM_RSTCT1);
 }
 
-static inline void arch_reset(char mode)
+static inline void arch_reset(char mode, const char *cmd)
 {
        if (!cpu_class_is_omap2())
                omap1_arch_reset(mode);
index 542062f8cbc1da51ba9a3678cd12d79de65be269..1932b7e0da15cd878f1579bc24be869c90c6c9a5 100644 (file)
@@ -182,7 +182,7 @@ static unsigned long s3c24xx_read_idcode_v4(void)
  * with the caches enabled. It seems at least the S3C2440 has a problem
  * resetting if there is bus activity interrupted by the reset.
  */
-static void s3c24xx_pm_restart(char mode)
+static void s3c24xx_pm_restart(char mode, const char *cmd)
 {
        if (mode != 's') {
                unsigned long flags;
@@ -191,12 +191,12 @@ static void s3c24xx_pm_restart(char mode)
                __cpuc_flush_kern_all();
                __cpuc_flush_user_all();
 
-               arch_reset(mode);
+               arch_reset(mode, cmd);
                local_irq_restore(flags);
        }
 
        /* fallback, or unhandled */
-       arm_machine_restart(mode);
+       arm_machine_restart(mode, cmd);
 }
 
 void __init s3c24xx_init_io(struct map_desc *mach_desc, int size)