Am Dienstag, 20. Dezember 2011, 13:48:36 schrieb Kukjin Kim: > Hook these platforms restart code into the new restart hook rather > than using arch_reset(). > And adds local header file, common.h in arch/arm/mach-s3c2410/ and > arch/arm/mach-s3c2440/ directories. > > Cc: Ben Dooks <ben-linux@xxxxxxxxx> > Cc: Russell King <rmk+kernel@xxxxxxxxxxxxxxxx> > Signed-off-by: Kukjin Kim <kgene.kim@xxxxxxxxxxx> just for my understanding would it not also be possible to move the function prototype to plat-samsung/include/plat/s3c2410.h and s3c244x.h? Or should these files vanish in the long run? Also, if you have a minute could you take a look at the [PATCH 1/8] s3c-hsudc: move platform_data struct to global header from yesterday, as Felipe Balbi would like an Ack on it. Thanks Heiko > --- > arch/arm/mach-s3c2410/common.h | 17 +++++++++++++ > arch/arm/mach-s3c2410/include/mach/system-reset.h | 27 > --------------------- arch/arm/mach-s3c2410/include/mach/system.h | > 2 - > arch/arm/mach-s3c2410/mach-amlm5900.c | 3 ++ > arch/arm/mach-s3c2410/mach-bast.c | 2 + > arch/arm/mach-s3c2410/mach-h1940.c | 3 ++ > arch/arm/mach-s3c2410/mach-n30.c | 4 +++ > arch/arm/mach-s3c2410/mach-otom.c | 3 ++ > arch/arm/mach-s3c2410/mach-qt2410.c | 5 ++- > arch/arm/mach-s3c2410/mach-smdk2410.c | 5 ++- > arch/arm/mach-s3c2410/mach-tct_hammer.c | 3 ++ > arch/arm/mach-s3c2410/mach-vr1000.c | 2 + > arch/arm/mach-s3c2410/s3c2410.c | 9 +++++++ > arch/arm/mach-s3c2440/common.h | 17 +++++++++++++ > arch/arm/mach-s3c2440/mach-anubis.c | 3 ++ > arch/arm/mach-s3c2440/mach-at2440evb.c | 3 ++ > arch/arm/mach-s3c2440/mach-gta02.c | 2 + > arch/arm/mach-s3c2440/mach-mini2440.c | 3 ++ > arch/arm/mach-s3c2440/mach-nexcoder.c | 3 ++ > arch/arm/mach-s3c2440/mach-osiris.c | 3 ++ > arch/arm/mach-s3c2440/mach-rx1950.c | 3 ++ > arch/arm/mach-s3c2440/mach-rx3715.c | 3 ++ > arch/arm/mach-s3c2440/mach-smdk2440.c | 3 ++ > arch/arm/mach-s3c2440/s3c2440.c | 9 +++++++ > arch/arm/plat-s3c24xx/cpu.c | 2 - > 25 files changed, 104 insertions(+), 35 deletions(-) > create mode 100644 arch/arm/mach-s3c2410/common.h > delete mode 100644 arch/arm/mach-s3c2410/include/mach/system-reset.h > create mode 100644 arch/arm/mach-s3c2440/common.h > > diff --git a/arch/arm/mach-s3c2410/common.h > b/arch/arm/mach-s3c2410/common.h new file mode 100644 > index 0000000..f65dc80 > --- /dev/null > +++ b/arch/arm/mach-s3c2410/common.h > @@ -0,0 +1,17 @@ > +/* > + * Copyright (c) 2011 Samsung Electronics Co., Ltd. > + * http://www.samsung.com > + * > + * Common Header for S3C2410 machines > + * > + * This program is free software; you can redistribute it and/or modify > + * it under the terms of the GNU General Public License version 2 as > + * published by the Free Software Foundation. > + */ > + > +#ifndef __ARCH_ARM_MACH_S3C2410_COMMON_H > +#define __ARCH_ARM_MACH_S3C2410_COMMON_H > + > +void s3c2410_restart(char mode, const char *cmd); > + > +#endif /* __ARCH_ARM_MACH_S3C2410_COMMON_H */ > diff --git a/arch/arm/mach-s3c2410/include/mach/system-reset.h > b/arch/arm/mach-s3c2410/include/mach/system-reset.h deleted file mode > 100644 > index 1e495f3..0000000 > --- a/arch/arm/mach-s3c2410/include/mach/system-reset.h > +++ /dev/null > @@ -1,27 +0,0 @@ > -/* arch/arm/mach-s3c2410/include/mach/system-reset.h > - * > - * Copyright (c) 2008 Simtec Electronics > - * Ben Dooks <ben@xxxxxxxxxxxx> > - * > - * S3C2410 - System define for arch_reset() function > - * > - * This program is free software; you can redistribute it and/or modify > - * it under the terms of the GNU General Public License version 2 as > - * published by the Free Software Foundation. > -*/ > - > -#include <mach/hardware.h> > -#include <plat/watchdog-reset.h> > - > -static void > -arch_reset(char mode, const char *cmd) > -{ > - if (mode == 's') { > - soft_restart(0); > - } > - > - arch_wdt_reset(); > - > - /* we'll take a jump through zero as a poor second */ > - soft_restart(0); > -} > diff --git a/arch/arm/mach-s3c2410/include/mach/system.h > b/arch/arm/mach-s3c2410/include/mach/system.h index eef8f24..5e215c1 > 100644 > --- a/arch/arm/mach-s3c2410/include/mach/system.h > +++ b/arch/arm/mach-s3c2410/include/mach/system.h > @@ -52,5 +52,3 @@ static void arch_idle(void) > else > s3c24xx_default_idle(); > } > - > -#include <mach/system-reset.h> > diff --git a/arch/arm/mach-s3c2410/mach-amlm5900.c > b/arch/arm/mach-s3c2410/mach-amlm5900.c index 7983894..4220cc6 100644 > --- a/arch/arm/mach-s3c2410/mach-amlm5900.c > +++ b/arch/arm/mach-s3c2410/mach-amlm5900.c > @@ -63,6 +63,8 @@ > #include <linux/mtd/map.h> > #include <linux/mtd/physmap.h> > > +#include "common.h" > + > static struct resource amlm5900_nor_resource = { > .start = 0x00000000, > .end = 0x01000000 - 1, > @@ -241,4 +243,5 @@ MACHINE_START(AML_M5900, "AML_M5900") > .init_irq = s3c24xx_init_irq, > .init_machine = amlm5900_init, > .timer = &s3c24xx_timer, > + .restart = s3c2410_restart, > MACHINE_END > diff --git a/arch/arm/mach-s3c2410/mach-bast.c > b/arch/arm/mach-s3c2410/mach-bast.c index a20ae1a..c6133c6 100644 > --- a/arch/arm/mach-s3c2410/mach-bast.c > +++ b/arch/arm/mach-s3c2410/mach-bast.c > @@ -66,6 +66,7 @@ > > #include "usb-simtec.h" > #include "nor-simtec.h" > +#include "common.h" > > #define COPYRIGHT ", Copyright 2004-2008 Simtec Electronics" > > @@ -662,4 +663,5 @@ MACHINE_START(BAST, "Simtec-BAST") > .init_irq = s3c24xx_init_irq, > .init_machine = bast_init, > .timer = &s3c24xx_timer, > + .restart = s3c2410_restart, > MACHINE_END > diff --git a/arch/arm/mach-s3c2410/mach-h1940.c > b/arch/arm/mach-s3c2410/mach-h1940.c index 05a7d16..ad9d865 100644 > --- a/arch/arm/mach-s3c2410/mach-h1940.c > +++ b/arch/arm/mach-s3c2410/mach-h1940.c > @@ -70,6 +70,8 @@ > > #include <sound/uda1380.h> > > +#include "common.h" > + > #define H1940_LATCH ((void __force __iomem *)0xF8000000) > > #define H1940_PA_LATCH S3C2410_CS2 > @@ -751,4 +753,5 @@ MACHINE_START(H1940, "IPAQ-H1940") > .init_irq = h1940_init_irq, > .init_machine = h1940_init, > .timer = &s3c24xx_timer, > + .restart = s3c2410_restart, > MACHINE_END > diff --git a/arch/arm/mach-s3c2410/mach-n30.c > b/arch/arm/mach-s3c2410/mach-n30.c index 1dc3e32..383d00c 100644 > --- a/arch/arm/mach-s3c2410/mach-n30.c > +++ b/arch/arm/mach-s3c2410/mach-n30.c > @@ -51,6 +51,8 @@ > #include <plat/s3c2410.h> > #include <plat/udc.h> > > +#include "common.h" > + > static struct map_desc n30_iodesc[] __initdata = { > /* nothing here yet */ > }; > @@ -591,6 +593,7 @@ MACHINE_START(N30, "Acer-N30") > .init_machine = n30_init, > .init_irq = s3c24xx_init_irq, > .map_io = n30_map_io, > + .restart = s3c2410_restart, > MACHINE_END > > MACHINE_START(N35, "Acer-N35") > @@ -601,4 +604,5 @@ MACHINE_START(N35, "Acer-N35") > .init_machine = n30_init, > .init_irq = s3c24xx_init_irq, > .map_io = n30_map_io, > + .restart = s3c2410_restart, > MACHINE_END > diff --git a/arch/arm/mach-s3c2410/mach-otom.c > b/arch/arm/mach-s3c2410/mach-otom.c index f03f3fd..5f1e0ee 100644 > --- a/arch/arm/mach-s3c2410/mach-otom.c > +++ b/arch/arm/mach-s3c2410/mach-otom.c > @@ -38,6 +38,8 @@ > #include <plat/iic.h> > #include <plat/cpu.h> > > +#include "common.h" > + > static struct map_desc otom11_iodesc[] __initdata = { > /* Device area */ > { (u32)OTOM_VA_CS8900A_BASE, OTOM_PA_CS8900A_BASE, SZ_16M, MT_DEVICE }, > @@ -121,4 +123,5 @@ MACHINE_START(OTOM, "Nex Vision - Otom 1.1") > .init_machine = otom11_init, > .init_irq = s3c24xx_init_irq, > .timer = &s3c24xx_timer, > + .restart = s3c2410_restart, > MACHINE_END > diff --git a/arch/arm/mach-s3c2410/mach-qt2410.c > b/arch/arm/mach-s3c2410/mach-qt2410.c index 4518521..58f2c17 100644 > --- a/arch/arm/mach-s3c2410/mach-qt2410.c > +++ b/arch/arm/mach-s3c2410/mach-qt2410.c > @@ -62,6 +62,8 @@ > #include <plat/cpu.h> > #include <plat/pm.h> > > +#include "common.h" > + > static struct map_desc qt2410_iodesc[] __initdata = { > { 0xe0000000, __phys_to_pfn(S3C2410_CS3+0x01000000), SZ_1M, MT_DEVICE } > }; > @@ -350,6 +352,5 @@ MACHINE_START(QT2410, "QT2410") > .init_irq = s3c24xx_init_irq, > .init_machine = qt2410_machine_init, > .timer = &s3c24xx_timer, > + .restart = s3c2410_restart, > MACHINE_END > - > - > diff --git a/arch/arm/mach-s3c2410/mach-smdk2410.c > b/arch/arm/mach-s3c2410/mach-smdk2410.c index 99c9dfd..bdc27e7 100644 > --- a/arch/arm/mach-s3c2410/mach-smdk2410.c > +++ b/arch/arm/mach-s3c2410/mach-smdk2410.c > @@ -54,6 +54,8 @@ > > #include <plat/common-smdk.h> > > +#include "common.h" > + > static struct map_desc smdk2410_iodesc[] __initdata = { > /* nothing here yet */ > }; > @@ -116,6 +118,5 @@ MACHINE_START(SMDK2410, "SMDK2410") /* @TODO: request a > new identifier and switc .init_irq = s3c24xx_init_irq, > .init_machine = smdk2410_init, > .timer = &s3c24xx_timer, > + .restart = s3c2410_restart, > MACHINE_END > - > - > diff --git a/arch/arm/mach-s3c2410/mach-tct_hammer.c > b/arch/arm/mach-s3c2410/mach-tct_hammer.c index e0d0b6f..1114666 100644 > --- a/arch/arm/mach-s3c2410/mach-tct_hammer.c > +++ b/arch/arm/mach-s3c2410/mach-tct_hammer.c > @@ -54,6 +54,8 @@ > #include <linux/mtd/map.h> > #include <linux/mtd/physmap.h> > > +#include "common.h" > + > static struct resource tct_hammer_nor_resource = { > .start = 0x00000000, > .end = 0x01000000 - 1, > @@ -151,4 +153,5 @@ MACHINE_START(TCT_HAMMER, "TCT_HAMMER") > .init_irq = s3c24xx_init_irq, > .init_machine = tct_hammer_init, > .timer = &s3c24xx_timer, > + .restart = s3c2410_restart, > MACHINE_END > diff --git a/arch/arm/mach-s3c2410/mach-vr1000.c > b/arch/arm/mach-s3c2410/mach-vr1000.c index df47e8e..cc7032b 100644 > --- a/arch/arm/mach-s3c2410/mach-vr1000.c > +++ b/arch/arm/mach-s3c2410/mach-vr1000.c > @@ -53,6 +53,7 @@ > > #include "usb-simtec.h" > #include "nor-simtec.h" > +#include "common.h" > > /* macros for virtual address mods for the io space entries */ > #define VA_C5(item) ((unsigned long)(item) + BAST_VAM_CS5) > @@ -405,4 +406,5 @@ MACHINE_START(VR1000, "Thorcom-VR1000") > .init_machine = vr1000_init, > .init_irq = s3c24xx_init_irq, > .timer = &s3c24xx_timer, > + .restart = s3c2410_restart, > MACHINE_END > diff --git a/arch/arm/mach-s3c2410/s3c2410.c > b/arch/arm/mach-s3c2410/s3c2410.c index 3d7ebc5..c3044cd 100644 > --- a/arch/arm/mach-s3c2410/s3c2410.c > +++ b/arch/arm/mach-s3c2410/s3c2410.c > @@ -42,6 +42,7 @@ > #include <plat/clock.h> > #include <plat/pll.h> > #include <plat/pm.h> > +#include <plat/watchdog-reset.h> > > #include <plat/gpio-core.h> > #include <plat/gpio-cfg.h> > @@ -183,3 +184,11 @@ int __init s3c2410a_init(void) > s3c2410_sysdev.cls = &s3c2410a_sysclass; > return s3c2410_init(); > } > + > +void s3c2410_restart(char mode, const char *cmd) > +{ > + if (mode != 's') > + arch_wdt_reset(); > + > + soft_restart(0); > +} > diff --git a/arch/arm/mach-s3c2440/common.h > b/arch/arm/mach-s3c2440/common.h new file mode 100644 > index 0000000..db8a98a > --- /dev/null > +++ b/arch/arm/mach-s3c2440/common.h > @@ -0,0 +1,17 @@ > +/* > + * Copyright (c) 2011 Samsung Electronics Co., Ltd. > + * http://www.samsung.com > + * > + * Common Header for S3C2440 machines > + * > + * This program is free software; you can redistribute it and/or modify > + * it under the terms of the GNU General Public License version 2 as > + * published by the Free Software Foundation. > + */ > + > +#ifndef __ARCH_ARM_MACH_S3C2440_COMMON_H > +#define __ARCH_ARM_MACH_S3C2440_COMMON_H > + > +void s3c2440_restart(char mode, const char *cmd); > + > +#endif /* __ARCH_ARM_MACH_S3C2440_COMMON_H */ > diff --git a/arch/arm/mach-s3c2440/mach-anubis.c > b/arch/arm/mach-s3c2440/mach-anubis.c index 74f92fc..121ff8d 100644 > --- a/arch/arm/mach-s3c2440/mach-anubis.c > +++ b/arch/arm/mach-s3c2440/mach-anubis.c > @@ -55,6 +55,8 @@ > #include <plat/cpu.h> > #include <plat/audio-simtec.h> > > +#include "common.h" > + > #define COPYRIGHT ", Copyright 2005-2009 Simtec Electronics" > > static struct map_desc anubis_iodesc[] __initdata = { > @@ -503,4 +505,5 @@ MACHINE_START(ANUBIS, "Simtec-Anubis") > .init_machine = anubis_init, > .init_irq = s3c24xx_init_irq, > .timer = &s3c24xx_timer, > + .restart = s3c2440_restart, > MACHINE_END > diff --git a/arch/arm/mach-s3c2440/mach-at2440evb.c > b/arch/arm/mach-s3c2440/mach-at2440evb.c index 38887ee..b7e334f 100644 > --- a/arch/arm/mach-s3c2440/mach-at2440evb.c > +++ b/arch/arm/mach-s3c2440/mach-at2440evb.c > @@ -49,6 +49,8 @@ > #include <plat/cpu.h> > #include <plat/mci.h> > > +#include "common.h" > + > static struct map_desc at2440evb_iodesc[] __initdata = { > /* Nothing here */ > }; > @@ -238,4 +240,5 @@ MACHINE_START(AT2440EVB, "AT2440EVB") > .init_machine = at2440evb_init, > .init_irq = s3c24xx_init_irq, > .timer = &s3c24xx_timer, > + .restart = s3c2440_restart, > MACHINE_END > diff --git a/arch/arm/mach-s3c2440/mach-gta02.c > b/arch/arm/mach-s3c2440/mach-gta02.c index de1e0ff..5859e60 100644 > --- a/arch/arm/mach-s3c2440/mach-gta02.c > +++ b/arch/arm/mach-s3c2440/mach-gta02.c > @@ -90,6 +90,7 @@ > #include <plat/iic.h> > #include <plat/ts.h> > > +#include "common.h" > > static struct pcf50633 *gta02_pcf; > > @@ -600,4 +601,5 @@ MACHINE_START(NEO1973_GTA02, "GTA02") > .init_irq = s3c24xx_init_irq, > .init_machine = gta02_machine_init, > .timer = &s3c24xx_timer, > + .restart = s3c2440_restart, > MACHINE_END > diff --git a/arch/arm/mach-s3c2440/mach-mini2440.c > b/arch/arm/mach-s3c2440/mach-mini2440.c index 91fe0b4..437322f 100644 > --- a/arch/arm/mach-s3c2440/mach-mini2440.c > +++ b/arch/arm/mach-s3c2440/mach-mini2440.c > @@ -60,6 +60,8 @@ > > #include <sound/s3c24xx_uda134x.h> > > +#include "common.h" > + > #define MACH_MINI2440_DM9K_BASE (S3C2410_CS4 + 0x300) > > static struct map_desc mini2440_iodesc[] __initdata = { > @@ -681,4 +683,5 @@ MACHINE_START(MINI2440, "MINI2440") > .init_machine = mini2440_init, > .init_irq = s3c24xx_init_irq, > .timer = &s3c24xx_timer, > + .restart = s3c2440_restart, > MACHINE_END > diff --git a/arch/arm/mach-s3c2440/mach-nexcoder.c > b/arch/arm/mach-s3c2440/mach-nexcoder.c index 61c0bf1..40eaf84 100644 > --- a/arch/arm/mach-s3c2440/mach-nexcoder.c > +++ b/arch/arm/mach-s3c2440/mach-nexcoder.c > @@ -47,6 +47,8 @@ > #include <plat/devs.h> > #include <plat/cpu.h> > > +#include "common.h" > + > static struct map_desc nexcoder_iodesc[] __initdata = { > /* nothing here yet */ > }; > @@ -156,4 +158,5 @@ MACHINE_START(NEXCODER_2440, "NexVision - Nexcoder > 2440") .init_machine = nexcoder_init, > .init_irq = s3c24xx_init_irq, > .timer = &s3c24xx_timer, > + .restart = s3c2440_restart, > MACHINE_END > diff --git a/arch/arm/mach-s3c2440/mach-osiris.c > b/arch/arm/mach-s3c2440/mach-osiris.c index dc142eb..e795715 100644 > --- a/arch/arm/mach-s3c2440/mach-osiris.c > +++ b/arch/arm/mach-s3c2440/mach-osiris.c > @@ -54,6 +54,8 @@ > #include <plat/devs.h> > #include <plat/cpu.h> > > +#include "common.h" > + > /* onboard perihperal map */ > > static struct map_desc osiris_iodesc[] __initdata = { > @@ -452,4 +454,5 @@ MACHINE_START(OSIRIS, "Simtec-OSIRIS") > .init_irq = s3c24xx_init_irq, > .init_machine = osiris_init, > .timer = &s3c24xx_timer, > + .restart = s3c2440_restart, > MACHINE_END > diff --git a/arch/arm/mach-s3c2440/mach-rx1950.c > b/arch/arm/mach-s3c2440/mach-rx1950.c index 0d3453b..1c50d3e 100644 > --- a/arch/arm/mach-s3c2440/mach-rx1950.c > +++ b/arch/arm/mach-s3c2440/mach-rx1950.c > @@ -62,6 +62,8 @@ > > #include <sound/uda1380.h> > > +#include "common.h" > + > #define LCD_PWM_PERIOD 192960 > #define LCD_PWM_DUTY 127353 > > @@ -832,4 +834,5 @@ MACHINE_START(RX1950, "HP iPAQ RX1950") > .init_irq = s3c24xx_init_irq, > .init_machine = rx1950_init_machine, > .timer = &s3c24xx_timer, > + .restart = s3c2440_restart, > MACHINE_END > diff --git a/arch/arm/mach-s3c2440/mach-rx3715.c > b/arch/arm/mach-s3c2440/mach-rx3715.c index e19499c..4d20a01 100644 > --- a/arch/arm/mach-s3c2440/mach-rx3715.c > +++ b/arch/arm/mach-s3c2440/mach-rx3715.c > @@ -51,6 +51,8 @@ > #include <plat/cpu.h> > #include <plat/pm.h> > > +#include "common.h" > + > static struct map_desc rx3715_iodesc[] __initdata = { > /* dump ISA space somewhere unused */ > > @@ -224,4 +226,5 @@ MACHINE_START(RX3715, "IPAQ-RX3715") > .init_irq = rx3715_init_irq, > .init_machine = rx3715_init_machine, > .timer = &s3c24xx_timer, > + .restart = s3c2440_restart, > MACHINE_END > diff --git a/arch/arm/mach-s3c2440/mach-smdk2440.c > b/arch/arm/mach-s3c2440/mach-smdk2440.c index 36eeb41..1deb60d 100644 > --- a/arch/arm/mach-s3c2440/mach-smdk2440.c > +++ b/arch/arm/mach-s3c2440/mach-smdk2440.c > @@ -47,6 +47,8 @@ > > #include <plat/common-smdk.h> > > +#include "common.h" > + > static struct map_desc smdk2440_iodesc[] __initdata = { > /* ISA IO Space map (memory space selected by A24) */ > > @@ -181,4 +183,5 @@ MACHINE_START(S3C2440, "SMDK2440") > .map_io = smdk2440_map_io, > .init_machine = smdk2440_machine_init, > .timer = &s3c24xx_timer, > + .restart = s3c2440_restart, > MACHINE_END > diff --git a/arch/arm/mach-s3c2440/s3c2440.c > b/arch/arm/mach-s3c2440/s3c2440.c index 37f8cc6..01a8dc8 100644 > --- a/arch/arm/mach-s3c2440/s3c2440.c > +++ b/arch/arm/mach-s3c2440/s3c2440.c > @@ -35,6 +35,7 @@ > #include <plat/cpu.h> > #include <plat/s3c244x.h> > #include <plat/pm.h> > +#include <plat/watchdog-reset.h> > > #include <plat/gpio-core.h> > #include <plat/gpio-cfg.h> > @@ -73,3 +74,11 @@ void __init s3c2440_map_io(void) > s3c24xx_gpiocfg_default.set_pull = s3c24xx_gpio_setpull_1up; > s3c24xx_gpiocfg_default.get_pull = s3c24xx_gpio_getpull_1up; > } > + > +void s3c2440_restart(char mode, const char *cmd) > +{ > + if (mode != 's') > + arch_wdt_reset(); > + > + soft_restart(0); > +} > diff --git a/arch/arm/plat-s3c24xx/cpu.c b/arch/arm/plat-s3c24xx/cpu.c > index 3c63353..48fb8d8 100644 > --- a/arch/arm/plat-s3c24xx/cpu.c > +++ b/arch/arm/plat-s3c24xx/cpu.c > @@ -38,8 +38,6 @@ > #include <asm/mach/arch.h> > #include <asm/mach/map.h> > > -#include <mach/system-reset.h> > - > #include <mach/regs-gpio.h> > #include <plat/regs-serial.h> -- To unsubscribe from this list: send the line "unsubscribe linux-samsung-soc" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html