* [PATCH] OMAP: pass the reboot command to the boot loader
@ 2010-02-24 13:14 Aaro Koskinen
2010-02-25 22:40 ` Tony Lindgren
0 siblings, 1 reply; 2+ messages in thread
From: Aaro Koskinen @ 2010-02-24 13:14 UTC (permalink / raw)
To: linux-omap, tony
This patch follows the commit be093beb608edf821b45fe00a8a080fb5c6ed4af
by Russell King:
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().
The patch adds the missing parameter to omap1_arch_reset() and
omap_prcm_arch_reset(), and modifies the latter to pass the reboot
command parameter to the boot loader instead of reboot mode (which is
for kernel internal use only and cannot be modified by the userspace).
Signed-off-by: Aaro Koskinen <aaro.koskinen@nokia.com>
---
arch/arm/mach-omap2/prcm.c | 4 ++--
arch/arm/plat-omap/include/plat/prcm.h | 2 +-
arch/arm/plat-omap/include/plat/system.h | 6 +++---
3 files changed, 6 insertions(+), 6 deletions(-)
diff --git a/arch/arm/mach-omap2/prcm.c b/arch/arm/mach-omap2/prcm.c
index 338d5f6..0850bb9 100644
--- a/arch/arm/mach-omap2/prcm.c
+++ b/arch/arm/mach-omap2/prcm.c
@@ -131,7 +131,7 @@ u32 omap_prcm_get_reset_sources(void)
EXPORT_SYMBOL(omap_prcm_get_reset_sources);
/* Resets clock rates and reboots the system. Only called from system.h */
-void omap_prcm_arch_reset(char mode)
+void omap_prcm_arch_reset(char mode, const char *cmd)
{
s16 prcm_offs;
@@ -143,7 +143,7 @@ void omap_prcm_arch_reset(char mode)
u32 l;
prcm_offs = OMAP3430_GR_MOD;
- l = ('B' << 24) | ('M' << 16) | mode;
+ l = ('B' << 24) | ('M' << 16) | (cmd ? (u8)*cmd : 0);
/* Reserve the first word in scratchpad for communicating
* with the boot ROM. A pointer to a data structure
* describing the boot process can be stored there,
diff --git a/arch/arm/plat-omap/include/plat/prcm.h b/arch/arm/plat-omap/include/plat/prcm.h
index 66938a9..2c89542 100644
--- a/arch/arm/plat-omap/include/plat/prcm.h
+++ b/arch/arm/plat-omap/include/plat/prcm.h
@@ -24,7 +24,7 @@
#define __ASM_ARM_ARCH_OMAP_PRCM_H
u32 omap_prcm_get_reset_sources(void);
-void omap_prcm_arch_reset(char mode);
+void omap_prcm_arch_reset(char mode, const char *cmd);
int omap2_cm_wait_idlest(void __iomem *reg, u32 mask, const char *name);
#define START_PADCONF_SAVE 0x2
diff --git a/arch/arm/plat-omap/include/plat/system.h b/arch/arm/plat-omap/include/plat/system.h
index c58a4ef..d0a119f 100644
--- a/arch/arm/plat-omap/include/plat/system.h
+++ b/arch/arm/plat-omap/include/plat/system.h
@@ -22,7 +22,7 @@ static inline void arch_idle(void)
cpu_do_idle();
}
-static inline void omap1_arch_reset(char mode)
+static inline void omap1_arch_reset(char mode, const char *cmd)
{
/*
* Workaround for 5912/1611b bug mentioned in sprz209d.pdf p. 28
@@ -43,9 +43,9 @@ static inline void omap1_arch_reset(char mode)
static inline void arch_reset(char mode, const char *cmd)
{
if (!cpu_class_is_omap2())
- omap1_arch_reset(mode);
+ omap1_arch_reset(mode, cmd);
else
- omap_prcm_arch_reset(mode);
+ omap_prcm_arch_reset(mode, cmd);
}
#endif
--
1.5.6.5
^ permalink raw reply related [flat|nested] 2+ messages in thread
* Re: [PATCH] OMAP: pass the reboot command to the boot loader
2010-02-24 13:14 [PATCH] OMAP: pass the reboot command to the boot loader Aaro Koskinen
@ 2010-02-25 22:40 ` Tony Lindgren
0 siblings, 0 replies; 2+ messages in thread
From: Tony Lindgren @ 2010-02-25 22:40 UTC (permalink / raw)
To: Aaro Koskinen; +Cc: linux-omap
* Aaro Koskinen <aaro.koskinen@nokia.com> [100224 05:09]:
> This patch follows the commit be093beb608edf821b45fe00a8a080fb5c6ed4af
> by Russell King:
>
> 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().
>
> The patch adds the missing parameter to omap1_arch_reset() and
> omap_prcm_arch_reset(), and modifies the latter to pass the reboot
> command parameter to the boot loader instead of reboot mode (which is
> for kernel internal use only and cannot be modified by the userspace).
This does not seem to apply, can you please refresh against the
current omap-for-linus branch?
Regards,
Tony
> Signed-off-by: Aaro Koskinen <aaro.koskinen@nokia.com>
> ---
> arch/arm/mach-omap2/prcm.c | 4 ++--
> arch/arm/plat-omap/include/plat/prcm.h | 2 +-
> arch/arm/plat-omap/include/plat/system.h | 6 +++---
> 3 files changed, 6 insertions(+), 6 deletions(-)
>
> diff --git a/arch/arm/mach-omap2/prcm.c b/arch/arm/mach-omap2/prcm.c
> index 338d5f6..0850bb9 100644
> --- a/arch/arm/mach-omap2/prcm.c
> +++ b/arch/arm/mach-omap2/prcm.c
> @@ -131,7 +131,7 @@ u32 omap_prcm_get_reset_sources(void)
> EXPORT_SYMBOL(omap_prcm_get_reset_sources);
>
> /* Resets clock rates and reboots the system. Only called from system.h */
> -void omap_prcm_arch_reset(char mode)
> +void omap_prcm_arch_reset(char mode, const char *cmd)
> {
> s16 prcm_offs;
>
> @@ -143,7 +143,7 @@ void omap_prcm_arch_reset(char mode)
> u32 l;
>
> prcm_offs = OMAP3430_GR_MOD;
> - l = ('B' << 24) | ('M' << 16) | mode;
> + l = ('B' << 24) | ('M' << 16) | (cmd ? (u8)*cmd : 0);
> /* Reserve the first word in scratchpad for communicating
> * with the boot ROM. A pointer to a data structure
> * describing the boot process can be stored there,
> diff --git a/arch/arm/plat-omap/include/plat/prcm.h b/arch/arm/plat-omap/include/plat/prcm.h
> index 66938a9..2c89542 100644
> --- a/arch/arm/plat-omap/include/plat/prcm.h
> +++ b/arch/arm/plat-omap/include/plat/prcm.h
> @@ -24,7 +24,7 @@
> #define __ASM_ARM_ARCH_OMAP_PRCM_H
>
> u32 omap_prcm_get_reset_sources(void);
> -void omap_prcm_arch_reset(char mode);
> +void omap_prcm_arch_reset(char mode, const char *cmd);
> int omap2_cm_wait_idlest(void __iomem *reg, u32 mask, const char *name);
>
> #define START_PADCONF_SAVE 0x2
> diff --git a/arch/arm/plat-omap/include/plat/system.h b/arch/arm/plat-omap/include/plat/system.h
> index c58a4ef..d0a119f 100644
> --- a/arch/arm/plat-omap/include/plat/system.h
> +++ b/arch/arm/plat-omap/include/plat/system.h
> @@ -22,7 +22,7 @@ static inline void arch_idle(void)
> cpu_do_idle();
> }
>
> -static inline void omap1_arch_reset(char mode)
> +static inline void omap1_arch_reset(char mode, const char *cmd)
> {
> /*
> * Workaround for 5912/1611b bug mentioned in sprz209d.pdf p. 28
> @@ -43,9 +43,9 @@ static inline void omap1_arch_reset(char mode)
> static inline void arch_reset(char mode, const char *cmd)
> {
> if (!cpu_class_is_omap2())
> - omap1_arch_reset(mode);
> + omap1_arch_reset(mode, cmd);
> else
> - omap_prcm_arch_reset(mode);
> + omap_prcm_arch_reset(mode, cmd);
> }
>
> #endif
> --
> 1.5.6.5
>
^ permalink raw reply [flat|nested] 2+ messages in thread
end of thread, other threads:[~2010-02-25 22:38 UTC | newest]
Thread overview: 2+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2010-02-24 13:14 [PATCH] OMAP: pass the reboot command to the boot loader Aaro Koskinen
2010-02-25 22:40 ` Tony Lindgren
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.