On Fri, Dec 18, 2009 at 09:38:37PM +0900, Yoichi Yuasa wrote:
> Signed-off-by: Yoichi Yuasa <yuasa@linux-mips.org>
> ---
> arch/mips/powertv/Makefile | 2 +-
> arch/mips/powertv/cmdline.c | 47
> -------------------------------------------
> arch/mips/powertv/init.c | 15 ++++++++-----
> arch/mips/powertv/init.h | 2 -
> 4 files changed, 10 insertions(+), 56 deletions(-)
> delete mode 100644 arch/mips/powertv/cmdline.c
>
> diff --git a/arch/mips/powertv/Makefile b/arch/mips/powertv/Makefile
> index 2c51671..0a0d73c 100644
> --- a/arch/mips/powertv/Makefile
> +++ b/arch/mips/powertv/Makefile
> @@ -23,6 +23,6 @@
> # under Linux.
> #
>
> -obj-y += cmdline.o init.o memory.o reset.o time.o powertv_setup.o asic/ pci/
> +obj-y += init.o memory.o reset.o time.o powertv_setup.o asic/ pci/
>
> EXTRA_CFLAGS += -Wall -Werror
> diff --git a/arch/mips/powertv/cmdline.c b/arch/mips/powertv/cmdline.c
> deleted file mode 100644
> index ee7ab47..0000000
> --- a/arch/mips/powertv/cmdline.c
> +++ /dev/null
> @@ -1,47 +0,0 @@
> -/*
> - * Carsten Langgaard, carstenl@mips.com
> - * Copyright (C) 1999,2000 MIPS Technologies, Inc. All rights reserved.
> - * Portions copyright (C) 2009 Cisco Systems, Inc.
> - *
> - * This program is free software; you can distribute it and/or modify it
> - * under the terms of the GNU General Public License (Version 2) as
> - * published by the Free Software Foundation.
> - *
> - * This program is distributed in the hope it will be useful, but WITHOUT
> - * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
> - * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
> - * for more details.
> - *
> - * You should have received a copy of the GNU General Public License along
> - * with this program; if not, write to the Free Software Foundation, Inc.,
> - * 59 Temple Place - Suite 330, Boston MA 02111-1307, USA.
> - *
> - * Kernel command line creation using the prom monitor (YAMON) argc/argv.
> - */
> -#include <linux/init.h>
> -#include <linux/string.h>
> -
> -#include <asm/bootinfo.h>
> -
> -#include "init.h"
> -
> -/*
> - * YAMON (32-bit PROM) pass arguments and environment as 32-bit pointer.
> - * This macro take care of sign extension.
> - */
> -#define prom_argv(index) ((char *)(long)_prom_argv[(index)])
> -
> -void __init prom_init_cmdline(void)
> -{
> - int len;
> -
> - if (prom_argc != 1)
> - return;
> -
> - len = strlen(arcs_cmdline);
> -
> - arcs_cmdline[len] = ' ';
> -
> - strlcpy(arcs_cmdline + len + 1, (char *)_prom_argv,
> - COMMAND_LINE_SIZE - len - 1);
> -}
> diff --git a/arch/mips/powertv/init.c b/arch/mips/powertv/init.c
> index 5f4e4c3..de0e46a 100644
> --- a/arch/mips/powertv/init.c
> +++ b/arch/mips/powertv/init.c
> @@ -34,10 +34,7 @@
> #include <asm/mips-boards/generic.h>
> #include <asm/mach-powertv/asic.h>
>
> -#include "init.h"
> -
> -int prom_argc;
> -int *_prom_argv, *_prom_envp;
> +static int *_prom_envp;
> unsigned long _prom_memsize;
>
> /*
> @@ -109,8 +106,11 @@ static void __init mips_ejtag_setup(void)
>
> void __init prom_init(void)
> {
> + int prom_argc;
> + char *prom_argv;
> +
> prom_argc = fw_arg0;
> - _prom_argv = (int *) fw_arg1;
> + prom_argv = (char *) fw_arg1;
> _prom_envp = (int *) fw_arg2;
> _prom_memsize = (unsigned long) fw_arg3;
>
> @@ -118,7 +118,10 @@ void __init prom_init(void)
> board_ejtag_handler_setup = mips_ejtag_setup;
>
> pr_info("\nLINUX started...\n");
> - prom_init_cmdline();
> +
> + if (prom_argc == 1)
> + strlcat(arcs_cmdline, prom_argv, COMMAND_LINE_SIZE);
> +
> configure_platform();
> prom_meminit();
>
> diff --git a/arch/mips/powertv/init.h b/arch/mips/powertv/init.h
> index 7af6bf2..b194c34 100644
> --- a/arch/mips/powertv/init.h
> +++ b/arch/mips/powertv/init.h
> @@ -22,7 +22,5 @@
>
> #ifndef _POWERTV_INIT_H
> #define _POWERTV_INIT_H
> -extern int prom_argc;
> -extern int *_prom_argv;
> extern unsigned long _prom_memsize;
> #endif
> --
> 1.6.5.7
>
>
And, for the final time, this looks good, too, and thanks! (And sorry for the
duplicate replies)
Reviewed-by: David VomLehn (dvomlehn@cisco.com)
|