From: Sergei Shtylyov <sshtylyov@ru.mvista.com>
To: Manuel Lauss <mano@roarinelk.homelinux.net>
Cc: Linux-MIPS <linux-mips@linux-mips.org>
Subject: Re: [PATCH 3/3] Alchemy: common reset code is evalboard code.
Date: Sat, 08 Nov 2008 02:11:42 +0300 [thread overview]
Message-ID: <4914CB2E.1020100@ru.mvista.com> (raw)
In-Reply-To: <9bf5c9c78b0e2bada64f8f337d9397efb8781ac1.1226083170.git.mano@roarinelk.homelinux.net>
Hello.
Manuel Lauss wrote:
> Move common/reset.c contents to evalboard code where it belongs.
>
I'm not sure it belongs there...
> Add reboot hook initialization to mtx-1 and xxs1500 boards.
>
> Signed-off-by: Manuel Lauss <mano@roarinelk.homelinux.net>
That's all good but doesn't look equivalent to the old code...
> diff --git a/arch/mips/alchemy/common/setup.c b/arch/mips/alchemy/common/setup.c
> index 1ac6b06..cfb531e 100644
> --- a/arch/mips/alchemy/common/setup.c
> +++ b/arch/mips/alchemy/common/setup.c
> @@ -28,25 +28,14 @@
> #include <linux/init.h>
> #include <linux/ioport.h>
> #include <linux/module.h>
> -#include <linux/pm.h>
> -
> -#include <asm/mipsregs.h>
> -#include <asm/reboot.h>
> -#include <asm/time.h>
> -
> #include <au1000.h>
> -#include <prom.h>
>
> extern void __init board_setup(void);
> -extern void au1000_restart(char *);
> -extern void au1000_halt(void);
> -extern void au1000_power_off(void);
> extern void set_cpuspec(void);
>
> void __init plat_mem_setup(void)
> {
> struct cpu_spec *sp;
> - char *argptr;
> unsigned long prid, cpufreq, bclk;
>
> set_cpuspec();
> @@ -79,34 +68,6 @@ void __init plat_mem_setup(void)
> /* Clear to obtain best system bus performance */
> clear_c0_config(1 << 19); /* Clear Config[OD] */
>
> - argptr = prom_getcmdline();
> -
> -#ifdef CONFIG_SERIAL_8250_CONSOLE
> - argptr = strstr(argptr, "console=");
> - if (argptr == NULL) {
> - argptr = prom_getcmdline();
> - strcat(argptr, " console=ttyS0,115200");
> - }
> -#endif
> -
> -#ifdef CONFIG_FB_AU1100
> - argptr = strstr(argptr, "video=");
> - if (argptr == NULL) {
> - argptr = prom_getcmdline();
> - /* default panel */
> - /*strcat(argptr, " video=au1100fb:panel:Sharp_320x240_16");*/
> - }
> -#endif
> -
> -#if defined(CONFIG_SOUND_AU1X00) && !defined(CONFIG_SOC_AU1000)
> - /* au1000 does not support vra, au1500 and au1100 do */
> - strcat(argptr, " au1000_audio=vra");
> - argptr = prom_getcmdline();
> -#endif
> - _machine_restart = au1000_restart;
> - _machine_halt = au1000_halt;
> - pm_power_off = au1000_power_off;
> -
> /* IO/MEM resources. */
> set_io_port_base(0);
> ioport_resource.start = IOPORT_RESOURCE_START;
>
How is this change related to the patch's purpose?
> diff --git a/arch/mips/alchemy/evalboards/common.c b/arch/mips/alchemy/evalboards/common.c
> index d112fcf..7c78d54 100644
> --- a/arch/mips/alchemy/evalboards/common.c
> +++ b/arch/mips/alchemy/evalboards/common.c
>
[...]
> +static void evalboard_halt(void)
> +{
> +#if defined(CONFIG_MIPS_PB1550) || defined(CONFIG_MIPS_DB1550)
> + /* Power off system */
> + printk(KERN_NOTICE "\n** Powering off...\n");
> + au_writew(au_readw(0xAF00001C) | (3 << 14), 0xAF00001C);
> + au_sync();
> + while (1)
> + ; /* should not get here */
> +#else
> + printk(KERN_NOTICE "\n** You can safely turn off the power\n");
> +#ifdef CONFIG_MIPS_MIRAGE
> + au_writel((1 << 26) | (1 << 10), GPIO2_OUTPUT);
> +#endif
> +#ifdef CONFIG_MIPS_DB1200
> + au_writew(au_readw(0xB980001C) | (1 << 14), 0xB980001C);
> +#endif
> +#ifdef CONFIG_PM
> + au_sleep();
> +
> + /* Should not get here */
> + printk(KERN_ERR "Unable to put CPU in sleep mode\n");
> + while (1)
> + ;
> +#else
> + while (1)
> + __asm__(".set\tmips3\n\t"
> + "wait\n\t"
> + ".set\tmips0");
> +#endif
> +#endif /* defined(CONFIG_MIPS_PB1550) || defined(CONFIG_MIPS_DB1550) */
> +}
>
So you moved this code only to leave the board specific #ifdef'ery
where it was? ;-)
> +
> +void __init evalboard_common_init(void)
> +{
> + char *argptr;
> +
> + argptr = prom_getcmdline();
> +
> +#ifdef CONFIG_SERIAL_8250_CONSOLE
> + argptr = strstr(argptr, "console=");
> + if (argptr == NULL) {
> + argptr = prom_getcmdline();
> + strcat(argptr, " console=ttyS0,115200");
> + }
> +#endif
> +
> +#ifdef CONFIG_FB_AU1100
> + argptr = strstr(argptr, "video=");
> + if (argptr == NULL) {
> + argptr = prom_getcmdline();
> + /* default panel */
> + /*strcat(argptr, " video=au1100fb:panel:Sharp_320x240_16");*/
> + }
> +#endif
> +
> +#if defined(CONFIG_SOUND_AU1X00) && !defined(CONFIG_SOC_AU1000)
> + /* au1000 does not support vra, au1500 and au1100 do */
> + strcat(argptr, " au1000_audio=vra");
> + argptr = prom_getcmdline();
> +#endif
>
This probably needs to be in another patch...
> + _machine_restart = evalboard_restart;
>
I'm not sure that the name fits well since there's nothing board
specific in this particular function, just SoC specific...
> diff --git a/arch/mips/alchemy/mtx-1/board_setup.c b/arch/mips/alchemy/mtx-1/board_setup.c
> index 2e26465..4712ce4 100644
> --- a/arch/mips/alchemy/mtx-1/board_setup.c
> +++ b/arch/mips/alchemy/mtx-1/board_setup.c
> @@ -122,6 +123,8 @@ void __init board_setup(void)
>
> board_pci_idsel = mtx1_pci_idsel;
>
> + _machine_restart = board_reset;
>
Hey, that bypasses the restart code that was executed before this
patch...
WBR, Sergei
next prev parent reply other threads:[~2008-11-07 23:11 UTC|newest]
Thread overview: 7+ messages / expand[flat|nested] mbox.gz Atom feed top
2008-11-07 18:41 [PATCH 0/3] Alchemy: consolidate board code Manuel Lauss
[not found] ` <cover.1226083170.git.mano@roarinelk.homelinux.net>
2008-11-07 18:41 ` [PATCH 1/3] Alchemy: merge small board files into single files Manuel Lauss
2008-11-07 18:41 ` [PATCH 2/3] Alchemy: Move evalboard code to common directory Manuel Lauss
2008-11-07 18:41 ` [PATCH 3/3] Alchemy: common reset code is evalboard code Manuel Lauss
2008-11-07 23:11 ` Sergei Shtylyov [this message]
2008-11-08 5:54 ` Manuel Lauss
2008-11-07 22:48 ` [PATCH 0/3] Alchemy: consolidate board code Sergei Shtylyov
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=4914CB2E.1020100@ru.mvista.com \
--to=sshtylyov@ru.mvista.com \
--cc=linux-mips@linux-mips.org \
--cc=mano@roarinelk.homelinux.net \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox