diff options
| author | Russell King <rmk+kernel@arm.linux.org.uk> | 2011-11-05 12:10:55 +0000 | 
|---|---|---|
| committer | Russell King <rmk+kernel@arm.linux.org.uk> | 2012-01-05 12:57:14 +0000 | 
| commit | d1b860fbb2b0d25a5ccd8165ea4db2914b0820f5 (patch) | |
| tree | b65b0c6ea80f9a9d0146fbaab6306a3be53ca449 | |
| parent | b219415c39053dbe70e88c361b5e943acd74546c (diff) | |
| download | olio-linux-3.10-d1b860fbb2b0d25a5ccd8165ea4db2914b0820f5.tar.xz olio-linux-3.10-d1b860fbb2b0d25a5ccd8165ea4db2914b0820f5.zip  | |
ARM: restart: ixp4xx: use new restart hook
Hook these platforms restart code into the new restart hook rather
than using arch_reset().
Acked-by: Krzysztof HaĆasa <khc@pm.waw.pl>
Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
| -rw-r--r-- | arch/arm/mach-ixp4xx/avila-setup.c | 2 | ||||
| -rw-r--r-- | arch/arm/mach-ixp4xx/common.c | 20 | ||||
| -rw-r--r-- | arch/arm/mach-ixp4xx/coyote-setup.c | 2 | ||||
| -rw-r--r-- | arch/arm/mach-ixp4xx/dsmg600-setup.c | 1 | ||||
| -rw-r--r-- | arch/arm/mach-ixp4xx/fsg-setup.c | 1 | ||||
| -rw-r--r-- | arch/arm/mach-ixp4xx/gateway7001-setup.c | 1 | ||||
| -rw-r--r-- | arch/arm/mach-ixp4xx/goramo_mlr.c | 1 | ||||
| -rw-r--r-- | arch/arm/mach-ixp4xx/gtwx5715-setup.c | 1 | ||||
| -rw-r--r-- | arch/arm/mach-ixp4xx/include/mach/platform.h | 1 | ||||
| -rw-r--r-- | arch/arm/mach-ixp4xx/include/mach/system.h | 21 | ||||
| -rw-r--r-- | arch/arm/mach-ixp4xx/ixdp425-setup.c | 1 | ||||
| -rw-r--r-- | arch/arm/mach-ixp4xx/nas100d-setup.c | 1 | ||||
| -rw-r--r-- | arch/arm/mach-ixp4xx/nslu2-setup.c | 1 | ||||
| -rw-r--r-- | arch/arm/mach-ixp4xx/omixp-setup.c | 3 | ||||
| -rw-r--r-- | arch/arm/mach-ixp4xx/vulcan-setup.c | 1 | ||||
| -rw-r--r-- | arch/arm/mach-ixp4xx/wg302v2-setup.c | 1 | 
16 files changed, 38 insertions, 21 deletions
diff --git a/arch/arm/mach-ixp4xx/avila-setup.c b/arch/arm/mach-ixp4xx/avila-setup.c index 37609a22c45..a7277ad470a 100644 --- a/arch/arm/mach-ixp4xx/avila-setup.c +++ b/arch/arm/mach-ixp4xx/avila-setup.c @@ -172,6 +172,7 @@ MACHINE_START(AVILA, "Gateworks Avila Network Platform")  #if defined(CONFIG_PCI)  	.dma_zone_size	= SZ_64M,  #endif +	.restart	= ixp4xx_restart,  MACHINE_END   /* @@ -190,6 +191,7 @@ MACHINE_START(LOFT, "Giant Shoulder Inc Loft board")  #if defined(CONFIG_PCI)  	.dma_zone_size	= SZ_64M,  #endif +	.restart	= ixp4xx_restart,  MACHINE_END  #endif diff --git a/arch/arm/mach-ixp4xx/common.c b/arch/arm/mach-ixp4xx/common.c index b86a0055ab9..04aa12103bc 100644 --- a/arch/arm/mach-ixp4xx/common.c +++ b/arch/arm/mach-ixp4xx/common.c @@ -501,3 +501,23 @@ static void __init ixp4xx_clockevent_init(void)  	clockevents_register_device(&clockevent_ixp4xx);  } + +void ixp4xx_restart(char mode, const char *cmd) +{ +	if ( 1 && mode == 's') { +		/* Jump into ROM at address 0 */ +		soft_restart(0); +	} else { +		/* Use on-chip reset capability */ + +		/* set the "key" register to enable access to +		 * "timer" and "enable" registers +		 */ +		*IXP4XX_OSWK = IXP4XX_WDT_KEY; + +		/* write 0 to the timer register for an immediate reset */ +		*IXP4XX_OSWT = 0; + +		*IXP4XX_OSWE = IXP4XX_WDT_RESET_ENABLE | IXP4XX_WDT_COUNT_ENABLE; +	} +} diff --git a/arch/arm/mach-ixp4xx/coyote-setup.c b/arch/arm/mach-ixp4xx/coyote-setup.c index 81dfec31842..a74f86ce8bc 100644 --- a/arch/arm/mach-ixp4xx/coyote-setup.c +++ b/arch/arm/mach-ixp4xx/coyote-setup.c @@ -117,6 +117,7 @@ MACHINE_START(ADI_COYOTE, "ADI Engineering Coyote")  #if defined(CONFIG_PCI)  	.dma_zone_size	= SZ_64M,  #endif +	.restart	= ixp4xx_restart,  MACHINE_END  #endif @@ -132,6 +133,7 @@ MACHINE_START(IXDPG425, "Intel IXDPG425")  	.timer		= &ixp4xx_timer,  	.atag_offset	= 0x100,  	.init_machine	= coyote_init, +	.restart	= ixp4xx_restart,  MACHINE_END  #endif diff --git a/arch/arm/mach-ixp4xx/dsmg600-setup.c b/arch/arm/mach-ixp4xx/dsmg600-setup.c index 8837fbca27c..67be177b336 100644 --- a/arch/arm/mach-ixp4xx/dsmg600-setup.c +++ b/arch/arm/mach-ixp4xx/dsmg600-setup.c @@ -286,4 +286,5 @@ MACHINE_START(DSMG600, "D-Link DSM-G600 RevA")  #if defined(CONFIG_PCI)  	.dma_zone_size	= SZ_64M,  #endif +	.restart	= ixp4xx_restart,  MACHINE_END diff --git a/arch/arm/mach-ixp4xx/fsg-setup.c b/arch/arm/mach-ixp4xx/fsg-setup.c index 2887c3578c1..6d5818285af 100644 --- a/arch/arm/mach-ixp4xx/fsg-setup.c +++ b/arch/arm/mach-ixp4xx/fsg-setup.c @@ -277,5 +277,6 @@ MACHINE_START(FSG, "Freecom FSG-3")  #if defined(CONFIG_PCI)  	.dma_zone_size	= SZ_64M,  #endif +	.restart	= ixp4xx_restart,  MACHINE_END diff --git a/arch/arm/mach-ixp4xx/gateway7001-setup.c b/arch/arm/mach-ixp4xx/gateway7001-setup.c index d69d1b053bb..7ecf9b28f1c 100644 --- a/arch/arm/mach-ixp4xx/gateway7001-setup.c +++ b/arch/arm/mach-ixp4xx/gateway7001-setup.c @@ -104,5 +104,6 @@ MACHINE_START(GATEWAY7001, "Gateway 7001 AP")  #if defined(CONFIG_PCI)  	.dma_zone_size	= SZ_64M,  #endif +	.restart	= ixp4xx_restart,  MACHINE_END  #endif diff --git a/arch/arm/mach-ixp4xx/goramo_mlr.c b/arch/arm/mach-ixp4xx/goramo_mlr.c index bf6678d1a92..c0e3d69a8ae 100644 --- a/arch/arm/mach-ixp4xx/goramo_mlr.c +++ b/arch/arm/mach-ixp4xx/goramo_mlr.c @@ -504,4 +504,5 @@ MACHINE_START(GORAMO_MLR, "MultiLink")  #if defined(CONFIG_PCI)  	.dma_zone_size	= SZ_64M,  #endif +	.restart	= ixp4xx_restart,  MACHINE_END diff --git a/arch/arm/mach-ixp4xx/gtwx5715-setup.c b/arch/arm/mach-ixp4xx/gtwx5715-setup.c index aa029fc1914..a23f8939145 100644 --- a/arch/arm/mach-ixp4xx/gtwx5715-setup.c +++ b/arch/arm/mach-ixp4xx/gtwx5715-setup.c @@ -172,6 +172,7 @@ MACHINE_START(GTWX5715, "Gemtek GTWX5715 (Linksys WRV54G)")  #if defined(CONFIG_PCI)  	.dma_zone_size	= SZ_64M,  #endif +	.restart	= ixp4xx_restart,  MACHINE_END diff --git a/arch/arm/mach-ixp4xx/include/mach/platform.h b/arch/arm/mach-ixp4xx/include/mach/platform.h index e824c02c825..df9250bbf13 100644 --- a/arch/arm/mach-ixp4xx/include/mach/platform.h +++ b/arch/arm/mach-ixp4xx/include/mach/platform.h @@ -125,6 +125,7 @@ extern void ixp4xx_init_irq(void);  extern void ixp4xx_sys_init(void);  extern void ixp4xx_timer_init(void);  extern struct sys_timer ixp4xx_timer; +extern void ixp4xx_restart(char, const char *);  extern void ixp4xx_pci_preinit(void);  struct pci_sys_data;  extern int ixp4xx_setup(int nr, struct pci_sys_data *sys); diff --git a/arch/arm/mach-ixp4xx/include/mach/system.h b/arch/arm/mach-ixp4xx/include/mach/system.h index 24337d9d275..72db2bbb683 100644 --- a/arch/arm/mach-ixp4xx/include/mach/system.h +++ b/arch/arm/mach-ixp4xx/include/mach/system.h @@ -8,9 +8,6 @@   * published by the Free Software Foundation.   *   */ - -#include <mach/hardware.h> -  static inline void arch_idle(void)  {  	/* ixp4xx does not implement the XScale PWRMODE register, @@ -21,24 +18,6 @@ static inline void arch_idle(void)  #endif  } -  static inline void arch_reset(char mode, const char *cmd)  { -	if ( 1 && mode == 's') { -		/* Jump into ROM at address 0 */ -		soft_restart(0); -	} else { -		/* Use on-chip reset capability */ - -		/* set the "key" register to enable access to -		 * "timer" and "enable" registers -		 */ -		*IXP4XX_OSWK = IXP4XX_WDT_KEY; - -		/* write 0 to the timer register for an immediate reset */ -		*IXP4XX_OSWT = 0; - -		*IXP4XX_OSWE = IXP4XX_WDT_RESET_ENABLE | IXP4XX_WDT_COUNT_ENABLE; -	}  } - diff --git a/arch/arm/mach-ixp4xx/ixdp425-setup.c b/arch/arm/mach-ixp4xx/ixdp425-setup.c index f235f829dfa..8a38b39999f 100644 --- a/arch/arm/mach-ixp4xx/ixdp425-setup.c +++ b/arch/arm/mach-ixp4xx/ixdp425-setup.c @@ -261,6 +261,7 @@ MACHINE_START(IXDP425, "Intel IXDP425 Development Platform")  #if defined(CONFIG_PCI)  	.dma_zone_size	= SZ_64M,  #endif +	.restart	= ixp4xx_restart,  MACHINE_END  #endif diff --git a/arch/arm/mach-ixp4xx/nas100d-setup.c b/arch/arm/mach-ixp4xx/nas100d-setup.c index de716fa1aab..1010eb7b008 100644 --- a/arch/arm/mach-ixp4xx/nas100d-setup.c +++ b/arch/arm/mach-ixp4xx/nas100d-setup.c @@ -321,4 +321,5 @@ MACHINE_START(NAS100D, "Iomega NAS 100d")  #if defined(CONFIG_PCI)  	.dma_zone_size	= SZ_64M,  #endif +	.restart	= ixp4xx_restart,  MACHINE_END diff --git a/arch/arm/mach-ixp4xx/nslu2-setup.c b/arch/arm/mach-ixp4xx/nslu2-setup.c index ac81ccb26bf..aa355c360d5 100644 --- a/arch/arm/mach-ixp4xx/nslu2-setup.c +++ b/arch/arm/mach-ixp4xx/nslu2-setup.c @@ -307,4 +307,5 @@ MACHINE_START(NSLU2, "Linksys NSLU2")  #if defined(CONFIG_PCI)  	.dma_zone_size	= SZ_64M,  #endif +	.restart	= ixp4xx_restart,  MACHINE_END diff --git a/arch/arm/mach-ixp4xx/omixp-setup.c b/arch/arm/mach-ixp4xx/omixp-setup.c index 3b6a81a696f..0940869fcfd 100644 --- a/arch/arm/mach-ixp4xx/omixp-setup.c +++ b/arch/arm/mach-ixp4xx/omixp-setup.c @@ -246,6 +246,7 @@ MACHINE_START(DEVIXP, "Omicron DEVIXP")  	.init_irq	= ixp4xx_init_irq,  	.timer          = &ixp4xx_timer,  	.init_machine	= omixp_init, +	.restart	= ixp4xx_restart,  MACHINE_END  #endif @@ -259,6 +260,7 @@ MACHINE_START(MICCPT, "Omicron MICCPT")  #if defined(CONFIG_PCI)  	.dma_zone_size	= SZ_64M,  #endif +	.restart	= ixp4xx_restart,  MACHINE_END  #endif @@ -269,5 +271,6 @@ MACHINE_START(MIC256, "Omicron MIC256")  	.init_irq	= ixp4xx_init_irq,  	.timer          = &ixp4xx_timer,  	.init_machine	= omixp_init, +	.restart	= ixp4xx_restart,  MACHINE_END  #endif diff --git a/arch/arm/mach-ixp4xx/vulcan-setup.c b/arch/arm/mach-ixp4xx/vulcan-setup.c index 27e469ef452..9dec2068329 100644 --- a/arch/arm/mach-ixp4xx/vulcan-setup.c +++ b/arch/arm/mach-ixp4xx/vulcan-setup.c @@ -244,4 +244,5 @@ MACHINE_START(ARCOM_VULCAN, "Arcom/Eurotech Vulcan")  #if defined(CONFIG_PCI)  	.dma_zone_size	= SZ_64M,  #endif +	.restart	= ixp4xx_restart,  MACHINE_END diff --git a/arch/arm/mach-ixp4xx/wg302v2-setup.c b/arch/arm/mach-ixp4xx/wg302v2-setup.c index b14144b967a..5ac0f0a0fd8 100644 --- a/arch/arm/mach-ixp4xx/wg302v2-setup.c +++ b/arch/arm/mach-ixp4xx/wg302v2-setup.c @@ -105,5 +105,6 @@ MACHINE_START(WG302V2, "Netgear WG302 v2 / WAG302 v2")  #if defined(CONFIG_PCI)  	.dma_zone_size	= SZ_64M,  #endif +	.restart	= ixp4xx_restart,  MACHINE_END  #endif  |