Skip to content

Commit 7b6d864

Browse files
Robin Holttorvalds
authored andcommitted
reboot: arm: change reboot_mode to use enum reboot_mode
Preparing to move the parsing of reboot= to generic kernel code forces the change in reboot_mode handling to use the enum. [[email protected]: fix arch/arm/mach-socfpga/socfpga.c] Signed-off-by: Robin Holt <[email protected]> Cc: Russell King <[email protected]> Cc: Russ Anderson <[email protected]> Cc: Robin Holt <[email protected]> Cc: H. Peter Anvin <[email protected]> Cc: Guan Xuetao <[email protected]> Acked-by: Russell King <[email protected]> Signed-off-by: Andrew Morton <[email protected]> Signed-off-by: Linus Torvalds <[email protected]>
1 parent 16d6d5b commit 7b6d864

File tree

125 files changed

+282
-166
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

125 files changed

+282
-166
lines changed

arch/arm/include/asm/hardware/iop3xx.h

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -223,11 +223,12 @@ extern int iop3xx_get_init_atu(void);
223223
#ifndef __ASSEMBLY__
224224

225225
#include <linux/types.h>
226+
#include <linux/reboot.h>
226227

227228
void iop3xx_map_io(void);
228229
void iop_init_cp6_handler(void);
229230
void iop_init_time(unsigned long tickrate);
230-
void iop3xx_restart(char, const char *);
231+
void iop3xx_restart(enum reboot_mode, const char *);
231232

232233
static inline u32 read_tmr0(void)
233234
{

arch/arm/include/asm/mach/arch.h

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -59,7 +59,7 @@ struct machine_desc {
5959
#ifdef CONFIG_MULTI_IRQ_HANDLER
6060
void (*handle_irq)(struct pt_regs *);
6161
#endif
62-
void (*restart)(char, const char *);
62+
void (*restart)(enum reboot_mode, const char *);
6363
};
6464

6565
/*

arch/arm/include/asm/system_misc.h

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -6,11 +6,12 @@
66
#include <linux/compiler.h>
77
#include <linux/linkage.h>
88
#include <linux/irqflags.h>
9+
#include <linux/reboot.h>
910

1011
extern void cpu_init(void);
1112

1213
void soft_restart(unsigned long);
13-
extern void (*arm_pm_restart)(char str, const char *cmd);
14+
extern void (*arm_pm_restart)(enum reboot_mode reboot_mode, const char *cmd);
1415
extern void (*arm_pm_idle)(void);
1516

1617
#define UDBG_UNDEFINED (1 << 0)

arch/arm/kernel/process.c

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -32,6 +32,7 @@
3232
#include <linux/hw_breakpoint.h>
3333
#include <linux/cpuidle.h>
3434
#include <linux/leds.h>
35+
#include <linux/reboot.h>
3536

3637
#include <asm/cacheflush.h>
3738
#include <asm/idmap.h>
@@ -113,7 +114,7 @@ void soft_restart(unsigned long addr)
113114
BUG();
114115
}
115116

116-
static void null_restart(char mode, const char *cmd)
117+
static void null_restart(enum reboot_mode reboot_mode, const char *cmd)
117118
{
118119
}
119120

@@ -123,7 +124,7 @@ static void null_restart(char mode, const char *cmd)
123124
void (*pm_power_off)(void);
124125
EXPORT_SYMBOL(pm_power_off);
125126

126-
void (*arm_pm_restart)(char str, const char *cmd) = null_restart;
127+
void (*arm_pm_restart)(enum reboot_mode reboot_mode, const char *cmd) = null_restart;
127128
EXPORT_SYMBOL_GPL(arm_pm_restart);
128129

129130
/*

arch/arm/mach-at91/at91rm9200.c

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -11,6 +11,7 @@
1111
*/
1212

1313
#include <linux/module.h>
14+
#include <linux/reboot.h>
1415

1516
#include <asm/irq.h>
1617
#include <asm/mach/arch.h>
@@ -304,7 +305,7 @@ static void at91rm9200_idle(void)
304305
at91_pmc_write(AT91_PMC_SCDR, AT91_PMC_PCK);
305306
}
306307

307-
static void at91rm9200_restart(char mode, const char *cmd)
308+
static void at91rm9200_restart(enum reboot_mode reboot_mode, const char *cmd)
308309
{
309310
/*
310311
* Perform a hardware reset with the use of the Watchdog timer.

arch/arm/mach-at91/generic.h

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -10,6 +10,7 @@
1010

1111
#include <linux/clkdev.h>
1212
#include <linux/of.h>
13+
#include <linux/reboot.h>
1314

1415
/* Map io */
1516
extern void __init at91_map_io(void);
@@ -60,8 +61,8 @@ extern void at91sam9_idle(void);
6061

6162
/* reset */
6263
extern void at91_ioremap_rstc(u32 base_addr);
63-
extern void at91sam9_alt_restart(char, const char *);
64-
extern void at91sam9g45_restart(char, const char *);
64+
extern void at91sam9_alt_restart(enum reboot_mode, const char *);
65+
extern void at91sam9g45_restart(enum reboot_mode, const char *);
6566

6667
/* shutdown */
6768
extern void at91_ioremap_shdwc(u32 base_addr);

arch/arm/mach-bcm2835/bcm2835.c

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -53,7 +53,7 @@ static void bcm2835_setup_restart(void)
5353
WARN(!wdt_regs, "failed to remap watchdog regs");
5454
}
5555

56-
static void bcm2835_restart(char mode, const char *cmd)
56+
static void bcm2835_restart(enum reboot_mode mode, const char *cmd)
5757
{
5858
u32 val;
5959

@@ -91,7 +91,7 @@ static void bcm2835_power_off(void)
9191
writel_relaxed(val, wdt_regs + PM_RSTS);
9292

9393
/* Continue with normal reset mechanism */
94-
bcm2835_restart(0, "");
94+
bcm2835_restart(REBOOT_HARD, "");
9595
}
9696

9797
static struct map_desc io_map __initdata = {

arch/arm/mach-clps711x/common.c

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -384,7 +384,7 @@ void __init clps711x_timer_init(void)
384384
setup_irq(IRQ_TC2OI, &clps711x_timer_irq);
385385
}
386386

387-
void clps711x_restart(char mode, const char *cmd)
387+
void clps711x_restart(enum reboot_mode mode, const char *cmd)
388388
{
389389
soft_restart(0);
390390
}

arch/arm/mach-clps711x/common.h

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -4,6 +4,8 @@
44
* Common bits.
55
*/
66

7+
#include <linux/reboot.h>
8+
79
#define CLPS711X_NR_IRQS (33)
810
#define CLPS711X_NR_GPIO (4 * 8 + 3)
911
#define CLPS711X_GPIO(prt, bit) ((prt) * 8 + (bit))
@@ -12,5 +14,5 @@ extern void clps711x_map_io(void);
1214
extern void clps711x_init_irq(void);
1315
extern void clps711x_timer_init(void);
1416
extern void clps711x_handle_irq(struct pt_regs *regs);
15-
extern void clps711x_restart(char mode, const char *cmd);
17+
extern void clps711x_restart(enum reboot_mode mode, const char *cmd);
1618
extern void clps711x_init_early(void);

arch/arm/mach-cns3xxx/core.h

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -11,6 +11,8 @@
1111
#ifndef __CNS3XXX_CORE_H
1212
#define __CNS3XXX_CORE_H
1313

14+
#include <linux/reboot.h>
15+
1416
extern void cns3xxx_timer_init(void);
1517

1618
#ifdef CONFIG_CACHE_L2X0
@@ -22,6 +24,6 @@ static inline void cns3xxx_l2x0_init(void) {}
2224
void __init cns3xxx_map_io(void);
2325
void __init cns3xxx_init_irq(void);
2426
void cns3xxx_power_off(void);
25-
void cns3xxx_restart(char, const char *);
27+
void cns3xxx_restart(enum reboot_mode, const char *);
2628

2729
#endif /* __CNS3XXX_CORE_H */

arch/arm/mach-cns3xxx/pm.c

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -89,7 +89,7 @@ void cns3xxx_pwr_soft_rst(unsigned int block)
8989
}
9090
EXPORT_SYMBOL(cns3xxx_pwr_soft_rst);
9191

92-
void cns3xxx_restart(char mode, const char *cmd)
92+
void cns3xxx_restart(enum reboot_mode mode, const char *cmd)
9393
{
9494
/*
9595
* To reset, we hit the on-board reset register

arch/arm/mach-davinci/devices-da8xx.c

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -16,6 +16,7 @@
1616
#include <linux/serial_8250.h>
1717
#include <linux/ahci_platform.h>
1818
#include <linux/clk.h>
19+
#include <linux/reboot.h>
1920

2021
#include <mach/cputype.h>
2122
#include <mach/common.h>
@@ -366,7 +367,7 @@ static struct platform_device da8xx_wdt_device = {
366367
.resource = da8xx_watchdog_resources,
367368
};
368369

369-
void da8xx_restart(char mode, const char *cmd)
370+
void da8xx_restart(enum reboot_mode mode, const char *cmd)
370371
{
371372
struct device *dev;
372373

arch/arm/mach-davinci/devices.c

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -13,6 +13,7 @@
1313
#include <linux/platform_device.h>
1414
#include <linux/dma-mapping.h>
1515
#include <linux/io.h>
16+
#include <linux/reboot.h>
1617

1718
#include <mach/hardware.h>
1819
#include <linux/platform_data/i2c-davinci.h>
@@ -307,7 +308,7 @@ struct platform_device davinci_wdt_device = {
307308
.resource = wdt_resources,
308309
};
309310

310-
void davinci_restart(char mode, const char *cmd)
311+
void davinci_restart(enum reboot_mode mode, const char *cmd)
311312
{
312313
davinci_watchdog_reset(&davinci_wdt_device);
313314
}

arch/arm/mach-davinci/include/mach/common.h

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -14,6 +14,7 @@
1414

1515
#include <linux/compiler.h>
1616
#include <linux/types.h>
17+
#include <linux/reboot.h>
1718

1819
extern void davinci_timer_init(void);
1920

@@ -81,7 +82,7 @@ extern struct davinci_soc_info davinci_soc_info;
8182

8283
extern void davinci_common_init(struct davinci_soc_info *soc_info);
8384
extern void davinci_init_ide(void);
84-
void davinci_restart(char mode, const char *cmd);
85+
void davinci_restart(enum reboot_mode mode, const char *cmd);
8586
void davinci_init_late(void);
8687

8788
#ifdef CONFIG_DAVINCI_RESET_CLOCKS

arch/arm/mach-davinci/include/mach/da8xx.h

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -17,6 +17,7 @@
1717
#include <linux/davinci_emac.h>
1818
#include <linux/spi/spi.h>
1919
#include <linux/platform_data/davinci_asp.h>
20+
#include <linux/reboot.h>
2021
#include <linux/videodev2.h>
2122

2223
#include <mach/serial.h>
@@ -106,7 +107,7 @@ int da850_register_vpif_display
106107
(struct vpif_display_config *display_config);
107108
int da850_register_vpif_capture
108109
(struct vpif_capture_config *capture_config);
109-
void da8xx_restart(char mode, const char *cmd);
110+
void da8xx_restart(enum reboot_mode mode, const char *cmd);
110111
void da8xx_rproc_reserve_cma(void);
111112
int da8xx_register_rproc(void);
112113

arch/arm/mach-davinci/include/mach/tnetv107x.h

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -35,6 +35,7 @@
3535
#include <linux/serial_8250.h>
3636
#include <linux/input/matrix_keypad.h>
3737
#include <linux/mfd/ti_ssp.h>
38+
#include <linux/reboot.h>
3839

3940
#include <linux/platform_data/mmc-davinci.h>
4041
#include <linux/platform_data/mtd-davinci.h>
@@ -54,7 +55,7 @@ extern struct platform_device tnetv107x_serial_device;
5455
extern void tnetv107x_init(void);
5556
extern void tnetv107x_devices_init(struct tnetv107x_device_info *);
5657
extern void tnetv107x_irq_init(void);
57-
void tnetv107x_restart(char mode, const char *cmd);
58+
void tnetv107x_restart(enum reboot_mode mode, const char *cmd);
5859

5960
#endif
6061

arch/arm/mach-davinci/tnetv107x.c

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -19,6 +19,7 @@
1919
#include <linux/io.h>
2020
#include <linux/err.h>
2121
#include <linux/platform_device.h>
22+
#include <linux/reboot.h>
2223

2324
#include <asm/mach/map.h>
2425

@@ -730,7 +731,7 @@ static void tnetv107x_watchdog_reset(struct platform_device *pdev)
730731
__raw_writel(1, &regs->kick);
731732
}
732733

733-
void tnetv107x_restart(char mode, const char *cmd)
734+
void tnetv107x_restart(enum reboot_mode mode, const char *cmd)
734735
{
735736
tnetv107x_watchdog_reset(&tnetv107x_wdt_device);
736737
}

arch/arm/mach-dove/common.c

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -381,7 +381,7 @@ void __init dove_init(void)
381381
dove_xor1_init();
382382
}
383383

384-
void dove_restart(char mode, const char *cmd)
384+
void dove_restart(enum reboot_mode mode, const char *cmd)
385385
{
386386
/*
387387
* Enable soft reset to assert RSTOUTn.

arch/arm/mach-dove/common.h

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -11,6 +11,8 @@
1111
#ifndef __ARCH_DOVE_COMMON_H
1212
#define __ARCH_DOVE_COMMON_H
1313

14+
#include <linux/reboot.h>
15+
1416
struct mv643xx_eth_platform_data;
1517
struct mv_sata_platform_data;
1618

@@ -42,6 +44,6 @@ void dove_spi1_init(void);
4244
void dove_i2c_init(void);
4345
void dove_sdio0_init(void);
4446
void dove_sdio1_init(void);
45-
void dove_restart(char, const char *);
47+
void dove_restart(enum reboot_mode, const char *);
4648

4749
#endif

arch/arm/mach-ebsa110/core.c

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -311,7 +311,7 @@ static int __init ebsa110_init(void)
311311

312312
arch_initcall(ebsa110_init);
313313

314-
static void ebsa110_restart(char mode, const char *cmd)
314+
static void ebsa110_restart(enum reboot_mode mode, const char *cmd)
315315
{
316316
soft_restart(0x80000000);
317317
}

arch/arm/mach-ep93xx/core.c

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -35,6 +35,7 @@
3535
#include <linux/spi/spi.h>
3636
#include <linux/export.h>
3737
#include <linux/irqchip/arm-vic.h>
38+
#include <linux/reboot.h>
3839

3940
#include <mach/hardware.h>
4041
#include <linux/platform_data/video-ep93xx.h>
@@ -921,7 +922,7 @@ void __init ep93xx_init_devices(void)
921922
gpio_led_register_device(-1, &ep93xx_led_data);
922923
}
923924

924-
void ep93xx_restart(char mode, const char *cmd)
925+
void ep93xx_restart(enum reboot_mode mode, const char *cmd)
925926
{
926927
/*
927928
* Set then clear the SWRST bit to initiate a software reset

arch/arm/mach-ep93xx/include/mach/platform.h

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -4,6 +4,8 @@
44

55
#ifndef __ASSEMBLY__
66

7+
#include <linux/reboot.h>
8+
79
struct i2c_gpio_platform_data;
810
struct i2c_board_info;
911
struct spi_board_info;
@@ -55,7 +57,7 @@ void ep93xx_ide_release_gpio(struct platform_device *pdev);
5557
void ep93xx_init_devices(void);
5658
extern void ep93xx_timer_init(void);
5759

58-
void ep93xx_restart(char, const char *);
60+
void ep93xx_restart(enum reboot_mode, const char *);
5961
void ep93xx_init_late(void);
6062

6163
#ifdef CONFIG_CRUNCH

arch/arm/mach-exynos/common.c

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -285,12 +285,12 @@ static struct map_desc exynos5440_iodesc0[] __initdata = {
285285
},
286286
};
287287

288-
void exynos4_restart(char mode, const char *cmd)
288+
void exynos4_restart(enum reboot_mode mode, const char *cmd)
289289
{
290290
__raw_writel(0x1, S5P_SWRESET);
291291
}
292292

293-
void exynos5_restart(char mode, const char *cmd)
293+
void exynos5_restart(enum reboot_mode mode, const char *cmd)
294294
{
295295
struct device_node *np;
296296
u32 val;

arch/arm/mach-exynos/common.h

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -12,6 +12,7 @@
1212
#ifndef __ARCH_ARM_MACH_EXYNOS_COMMON_H
1313
#define __ARCH_ARM_MACH_EXYNOS_COMMON_H
1414

15+
#include <linux/reboot.h>
1516
#include <linux/of.h>
1617

1718
void mct_init(void __iomem *base, int irq_g0, int irq_l0, int irq_l1);
@@ -20,8 +21,8 @@ extern unsigned long xxti_f, xusbxti_f;
2021

2122
struct map_desc;
2223
void exynos_init_io(void);
23-
void exynos4_restart(char mode, const char *cmd);
24-
void exynos5_restart(char mode, const char *cmd);
24+
void exynos4_restart(enum reboot_mode mode, const char *cmd);
25+
void exynos5_restart(enum reboot_mode mode, const char *cmd);
2526
void exynos_init_late(void);
2627

2728
/* ToDo: remove these after migrating legacy exynos4 platforms to dt */

arch/arm/mach-footbridge/common.c

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -198,9 +198,9 @@ void __init footbridge_map_io(void)
198198
}
199199
}
200200

201-
void footbridge_restart(char mode, const char *cmd)
201+
void footbridge_restart(enum reboot_mode mode, const char *cmd)
202202
{
203-
if (mode == 's') {
203+
if (mode == REBOOT_SOFT) {
204204
/* Jump into the ROM */
205205
soft_restart(0x41000000);
206206
} else {

arch/arm/mach-footbridge/common.h

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,4 @@
1+
#include <linux/reboot.h>
12

23
extern void footbridge_timer_init(void);
34
extern void isa_timer_init(void);
@@ -8,4 +9,4 @@ extern void footbridge_map_io(void);
89
extern void footbridge_init_irq(void);
910

1011
extern void isa_init_irq(unsigned int irq);
11-
extern void footbridge_restart(char, const char *);
12+
extern void footbridge_restart(enum reboot_mode, const char *);

0 commit comments

Comments
 (0)