All of lore.kernel.org
 help / color / mirror / Atom feed
From: Mark Rutland <mark.rutland-5wv7dgnIgG8@public.gmane.org>
To: Leif Lindholm <leif.lindholm-QSEj5FYQhm4dnm+yROfE0A@public.gmane.org>
Cc: "linux-arm-kernel-IAPFreCvJWM7uuMidbF8XUB+6BGkLq7r@public.gmane.org"
	<linux-arm-kernel-IAPFreCvJWM7uuMidbF8XUB+6BGkLq7r@public.gmane.org>,
	"devicetree-u79uwXL29TY76Z2rM5mHXA@public.gmane.org"
	<devicetree-u79uwXL29TY76Z2rM5mHXA@public.gmane.org>,
	"linux-serial-u79uwXL29TY76Z2rM5mHXA@public.gmane.org"
	<linux-serial-u79uwXL29TY76Z2rM5mHXA@public.gmane.org>,
	"linux-acpi-u79uwXL29TY76Z2rM5mHXA@public.gmane.org"
	<linux-acpi-u79uwXL29TY76Z2rM5mHXA@public.gmane.org>,
	"linux-kernel-u79uwXL29TY76Z2rM5mHXA@public.gmane.org"
	<linux-kernel-u79uwXL29TY76Z2rM5mHXA@public.gmane.org>,
	"al.stone-QSEj5FYQhm4dnm+yROfE0A@public.gmane.org"
	<al.stone-QSEj5FYQhm4dnm+yROfE0A@public.gmane.org>,
	"torez-H+wXaHxf7aLQT0dZR+AlfA@public.gmane.org"
	<torez-H+wXaHxf7aLQT0dZR+AlfA@public.gmane.org>,
	"jcm-H+wXaHxf7aLQT0dZR+AlfA@public.gmane.org"
	<jcm-H+wXaHxf7aLQT0dZR+AlfA@public.gmane.org>,
	"graeme.gregory-QSEj5FYQhm4dnm+yROfE0A@public.gmane.org"
	<graeme.gregory-QSEj5FYQhm4dnm+yROfE0A@public.gmane.org>,
	"linaro-acpi-cunTk1MwBs8s++Sfvej+rw@public.gmane.org"
	<linaro-acpi-cunTk1MwBs8s++Sfvej+rw@public.gmane.org>,
	"lv.zheng-ral2JQCrhuEAvxtiuMwx3w@public.gmane.org"
	<lv.zheng-ral2JQCrhuEAvxtiuMwx3w@public.gmane.org>
Subject: Re: [RFC 2/5] of/serial: move earlycon early_param handling to serial
Date: Tue, 8 Sep 2015 13:52:45 +0100	[thread overview]
Message-ID: <20150908125245.GC20562@leverpostej> (raw)
In-Reply-To: <1441716217-23786-3-git-send-email-leif.lindholm-QSEj5FYQhm4dnm+yROfE0A@public.gmane.org>

On Tue, Sep 08, 2015 at 01:43:34PM +0100, Leif Lindholm wrote:
> We have multiple "earlycon" early_param handlers - merge the DT one into
> the main earlycon one. This means the earlycon early_param handler does
> not just return success if no options are specified.
> 
> Signed-off-by: Leif Lindholm <leif.lindholm-QSEj5FYQhm4dnm+yROfE0A@public.gmane.org>
> ---
>  drivers/of/fdt.c              | 11 +----------
>  drivers/tty/serial/earlycon.c |  4 +++-
>  include/linux/of_fdt.h        |  1 +
>  3 files changed, 5 insertions(+), 11 deletions(-)
> 
> diff --git a/drivers/of/fdt.c b/drivers/of/fdt.c
> index 6e82bc42..fcfc4c7 100644
> --- a/drivers/of/fdt.c
> +++ b/drivers/of/fdt.c
> @@ -793,7 +793,7 @@ static inline void early_init_dt_check_for_initrd(unsigned long node)
>  #ifdef CONFIG_SERIAL_EARLYCON
>  extern struct of_device_id __earlycon_of_table[];
>  
> -static int __init early_init_dt_scan_chosen_serial(void)
> +int __init early_init_dt_scan_chosen_serial(void)
>  {
>  	int offset;
>  	const char *p;
> @@ -834,15 +834,6 @@ static int __init early_init_dt_scan_chosen_serial(void)
>  	}
>  	return -ENODEV;
>  }
> -
> -static int __init setup_of_earlycon(char *buf)
> -{
> -	if (buf)
> -		return 0;
> -
> -	return early_init_dt_scan_chosen_serial();
> -}
> -early_param("earlycon", setup_of_earlycon);
>  #endif
>  
>  /**
> diff --git a/drivers/tty/serial/earlycon.c b/drivers/tty/serial/earlycon.c
> index f096360..2bda09a 100644
> --- a/drivers/tty/serial/earlycon.c
> +++ b/drivers/tty/serial/earlycon.c
> @@ -17,6 +17,7 @@
>  #include <linux/kernel.h>
>  #include <linux/init.h>
>  #include <linux/io.h>
> +#include <linux/of_fdt.h>
>  #include <linux/serial_core.h>
>  #include <linux/sizes.h>
>  #include <linux/mod_devicetable.h>
> @@ -187,7 +188,8 @@ static int __init param_setup_earlycon(char *buf)
>  	 * don't generate a warning from parse_early_params() in that case
>  	 */
>  	if (!buf || !buf[0])
> -		return 0;
> +		if (IS_ENABLED(CONFIG_OF_FLATTREE))
> +			return early_init_dt_scan_chosen_serial();
>  
>  	err = setup_earlycon(buf);
>  	if (err == -ENOENT || err == -EALREADY)
> diff --git a/include/linux/of_fdt.h b/include/linux/of_fdt.h
> index df9ef38..772c47c 100644
> --- a/include/linux/of_fdt.h
> +++ b/include/linux/of_fdt.h
> @@ -63,6 +63,7 @@ extern int early_init_dt_scan_chosen(unsigned long node, const char *uname,
>  				     int depth, void *data);
>  extern int early_init_dt_scan_memory(unsigned long node, const char *uname,
>  				     int depth, void *data);
> +extern int early_init_dt_scan_chosen_serial(void);

I think you need a static inline stub to prevent link errors in
!CONFIG_OF_FLATTREE kernels, as we do for
early_init_fdt_scan_reserved_mem and friends.

Mark.

>  extern void early_init_fdt_scan_reserved_mem(void);
>  extern void early_init_fdt_reserve_self(void);
>  extern void early_init_dt_add_memory_arch(u64 base, u64 size);
> -- 
> 2.1.4
> 
--
To unsubscribe from this list: send the line "unsubscribe devicetree" in
the body of a message to majordomo-u79uwXL29TY76Z2rM5mHXA@public.gmane.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html

WARNING: multiple messages have this Message-ID (diff)
From: mark.rutland@arm.com (Mark Rutland)
To: linux-arm-kernel@lists.infradead.org
Subject: [RFC 2/5] of/serial: move earlycon early_param handling to serial
Date: Tue, 8 Sep 2015 13:52:45 +0100	[thread overview]
Message-ID: <20150908125245.GC20562@leverpostej> (raw)
In-Reply-To: <1441716217-23786-3-git-send-email-leif.lindholm@linaro.org>

On Tue, Sep 08, 2015 at 01:43:34PM +0100, Leif Lindholm wrote:
> We have multiple "earlycon" early_param handlers - merge the DT one into
> the main earlycon one. This means the earlycon early_param handler does
> not just return success if no options are specified.
> 
> Signed-off-by: Leif Lindholm <leif.lindholm@linaro.org>
> ---
>  drivers/of/fdt.c              | 11 +----------
>  drivers/tty/serial/earlycon.c |  4 +++-
>  include/linux/of_fdt.h        |  1 +
>  3 files changed, 5 insertions(+), 11 deletions(-)
> 
> diff --git a/drivers/of/fdt.c b/drivers/of/fdt.c
> index 6e82bc42..fcfc4c7 100644
> --- a/drivers/of/fdt.c
> +++ b/drivers/of/fdt.c
> @@ -793,7 +793,7 @@ static inline void early_init_dt_check_for_initrd(unsigned long node)
>  #ifdef CONFIG_SERIAL_EARLYCON
>  extern struct of_device_id __earlycon_of_table[];
>  
> -static int __init early_init_dt_scan_chosen_serial(void)
> +int __init early_init_dt_scan_chosen_serial(void)
>  {
>  	int offset;
>  	const char *p;
> @@ -834,15 +834,6 @@ static int __init early_init_dt_scan_chosen_serial(void)
>  	}
>  	return -ENODEV;
>  }
> -
> -static int __init setup_of_earlycon(char *buf)
> -{
> -	if (buf)
> -		return 0;
> -
> -	return early_init_dt_scan_chosen_serial();
> -}
> -early_param("earlycon", setup_of_earlycon);
>  #endif
>  
>  /**
> diff --git a/drivers/tty/serial/earlycon.c b/drivers/tty/serial/earlycon.c
> index f096360..2bda09a 100644
> --- a/drivers/tty/serial/earlycon.c
> +++ b/drivers/tty/serial/earlycon.c
> @@ -17,6 +17,7 @@
>  #include <linux/kernel.h>
>  #include <linux/init.h>
>  #include <linux/io.h>
> +#include <linux/of_fdt.h>
>  #include <linux/serial_core.h>
>  #include <linux/sizes.h>
>  #include <linux/mod_devicetable.h>
> @@ -187,7 +188,8 @@ static int __init param_setup_earlycon(char *buf)
>  	 * don't generate a warning from parse_early_params() in that case
>  	 */
>  	if (!buf || !buf[0])
> -		return 0;
> +		if (IS_ENABLED(CONFIG_OF_FLATTREE))
> +			return early_init_dt_scan_chosen_serial();
>  
>  	err = setup_earlycon(buf);
>  	if (err == -ENOENT || err == -EALREADY)
> diff --git a/include/linux/of_fdt.h b/include/linux/of_fdt.h
> index df9ef38..772c47c 100644
> --- a/include/linux/of_fdt.h
> +++ b/include/linux/of_fdt.h
> @@ -63,6 +63,7 @@ extern int early_init_dt_scan_chosen(unsigned long node, const char *uname,
>  				     int depth, void *data);
>  extern int early_init_dt_scan_memory(unsigned long node, const char *uname,
>  				     int depth, void *data);
> +extern int early_init_dt_scan_chosen_serial(void);

I think you need a static inline stub to prevent link errors in
!CONFIG_OF_FLATTREE kernels, as we do for
early_init_fdt_scan_reserved_mem and friends.

Mark.

>  extern void early_init_fdt_scan_reserved_mem(void);
>  extern void early_init_fdt_reserve_self(void);
>  extern void early_init_dt_add_memory_arch(u64 base, u64 size);
> -- 
> 2.1.4
> 

WARNING: multiple messages have this Message-ID (diff)
From: Mark Rutland <mark.rutland@arm.com>
To: Leif Lindholm <leif.lindholm@linaro.org>
Cc: "linux-arm-kernel@lists.infradead.org" 
	<linux-arm-kernel@lists.infradead.org>,
	"devicetree@vger.kernel.org" <devicetree@vger.kernel.org>,
	"linux-serial@vger.kernel.org" <linux-serial@vger.kernel.org>,
	"linux-acpi@vger.kernel.org" <linux-acpi@vger.kernel.org>,
	"linux-kernel@vger.kernel.org" <linux-kernel@vger.kernel.org>,
	"al.stone@linaro.org" <al.stone@linaro.org>,
	"torez@redhat.com" <torez@redhat.com>,
	"jcm@redhat.com" <jcm@redhat.com>,
	"graeme.gregory@linaro.org" <graeme.gregory@linaro.org>,
	"linaro-acpi@lists.linaro.org" <linaro-acpi@lists.linaro.org>,
	"lv.zheng@intel.com" <lv.zheng@intel.com>
Subject: Re: [RFC 2/5] of/serial: move earlycon early_param handling to serial
Date: Tue, 8 Sep 2015 13:52:45 +0100	[thread overview]
Message-ID: <20150908125245.GC20562@leverpostej> (raw)
In-Reply-To: <1441716217-23786-3-git-send-email-leif.lindholm@linaro.org>

On Tue, Sep 08, 2015 at 01:43:34PM +0100, Leif Lindholm wrote:
> We have multiple "earlycon" early_param handlers - merge the DT one into
> the main earlycon one. This means the earlycon early_param handler does
> not just return success if no options are specified.
> 
> Signed-off-by: Leif Lindholm <leif.lindholm@linaro.org>
> ---
>  drivers/of/fdt.c              | 11 +----------
>  drivers/tty/serial/earlycon.c |  4 +++-
>  include/linux/of_fdt.h        |  1 +
>  3 files changed, 5 insertions(+), 11 deletions(-)
> 
> diff --git a/drivers/of/fdt.c b/drivers/of/fdt.c
> index 6e82bc42..fcfc4c7 100644
> --- a/drivers/of/fdt.c
> +++ b/drivers/of/fdt.c
> @@ -793,7 +793,7 @@ static inline void early_init_dt_check_for_initrd(unsigned long node)
>  #ifdef CONFIG_SERIAL_EARLYCON
>  extern struct of_device_id __earlycon_of_table[];
>  
> -static int __init early_init_dt_scan_chosen_serial(void)
> +int __init early_init_dt_scan_chosen_serial(void)
>  {
>  	int offset;
>  	const char *p;
> @@ -834,15 +834,6 @@ static int __init early_init_dt_scan_chosen_serial(void)
>  	}
>  	return -ENODEV;
>  }
> -
> -static int __init setup_of_earlycon(char *buf)
> -{
> -	if (buf)
> -		return 0;
> -
> -	return early_init_dt_scan_chosen_serial();
> -}
> -early_param("earlycon", setup_of_earlycon);
>  #endif
>  
>  /**
> diff --git a/drivers/tty/serial/earlycon.c b/drivers/tty/serial/earlycon.c
> index f096360..2bda09a 100644
> --- a/drivers/tty/serial/earlycon.c
> +++ b/drivers/tty/serial/earlycon.c
> @@ -17,6 +17,7 @@
>  #include <linux/kernel.h>
>  #include <linux/init.h>
>  #include <linux/io.h>
> +#include <linux/of_fdt.h>
>  #include <linux/serial_core.h>
>  #include <linux/sizes.h>
>  #include <linux/mod_devicetable.h>
> @@ -187,7 +188,8 @@ static int __init param_setup_earlycon(char *buf)
>  	 * don't generate a warning from parse_early_params() in that case
>  	 */
>  	if (!buf || !buf[0])
> -		return 0;
> +		if (IS_ENABLED(CONFIG_OF_FLATTREE))
> +			return early_init_dt_scan_chosen_serial();
>  
>  	err = setup_earlycon(buf);
>  	if (err == -ENOENT || err == -EALREADY)
> diff --git a/include/linux/of_fdt.h b/include/linux/of_fdt.h
> index df9ef38..772c47c 100644
> --- a/include/linux/of_fdt.h
> +++ b/include/linux/of_fdt.h
> @@ -63,6 +63,7 @@ extern int early_init_dt_scan_chosen(unsigned long node, const char *uname,
>  				     int depth, void *data);
>  extern int early_init_dt_scan_memory(unsigned long node, const char *uname,
>  				     int depth, void *data);
> +extern int early_init_dt_scan_chosen_serial(void);

I think you need a static inline stub to prevent link errors in
!CONFIG_OF_FLATTREE kernels, as we do for
early_init_fdt_scan_reserved_mem and friends.

Mark.

>  extern void early_init_fdt_scan_reserved_mem(void);
>  extern void early_init_fdt_reserve_self(void);
>  extern void early_init_dt_add_memory_arch(u64 base, u64 size);
> -- 
> 2.1.4
> 

  parent reply	other threads:[~2015-09-08 12:52 UTC|newest]

Thread overview: 49+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2015-09-08 12:43 [RFC 0/5] console/acpi: add DBG2 and SPCR console configuration Leif Lindholm
2015-09-08 12:43 ` Leif Lindholm
2015-09-08 12:43 ` [RFC 1/5] arm64: move acpi/dt decision earlier in boot process Leif Lindholm
2015-09-08 12:43   ` Leif Lindholm
2015-09-08 12:43 ` [RFC 2/5] of/serial: move earlycon early_param handling to serial Leif Lindholm
2015-09-08 12:43   ` Leif Lindholm
     [not found]   ` <1441716217-23786-3-git-send-email-leif.lindholm-QSEj5FYQhm4dnm+yROfE0A@public.gmane.org>
2015-09-08 12:52     ` Mark Rutland [this message]
2015-09-08 12:52       ` Mark Rutland
2015-09-08 12:52       ` Mark Rutland
2015-09-08 16:45       ` Leif Lindholm
2015-09-08 16:45         ` Leif Lindholm
2015-09-08 12:43 ` [RFC 3/5] acpi/serial: add DBG2 earlycon support Leif Lindholm
2015-09-08 12:43   ` Leif Lindholm
2015-09-08 13:09   ` Mark Rutland
2015-09-08 13:09     ` Mark Rutland
2015-09-08 17:03     ` Leif Lindholm
2015-09-08 17:03       ` Leif Lindholm
2015-09-08 17:03       ` Leif Lindholm
2015-09-09  9:36       ` Mark Rutland
2015-09-09  9:36         ` Mark Rutland
2015-09-08 16:38   ` [Linaro-acpi] " Mark Salter
2015-09-08 16:38     ` Mark Salter
2015-09-08 17:17     ` Leif Lindholm
2015-09-08 17:17       ` Leif Lindholm
     [not found]       ` <20150908171744.GQ10728-t77nlHhSwNqAroYi2ySoxKxOck334EZe@public.gmane.org>
2015-09-08 17:40         ` Mark Salter
2015-09-08 17:40           ` Mark Salter
2015-09-08 17:40           ` Mark Salter
2015-09-08 17:53       ` Mark Salter
2015-09-08 17:53         ` Mark Salter
2015-09-08 12:43 ` [RFC 4/5] tty/console: use SPCR table to define console Leif Lindholm
2015-09-08 12:43   ` Leif Lindholm
2015-09-10 15:28   ` [Linaro-acpi] " Mark Salter
2015-09-10 15:28     ` Mark Salter
     [not found] ` <1441716217-23786-1-git-send-email-leif.lindholm-QSEj5FYQhm4dnm+yROfE0A@public.gmane.org>
2015-09-08 12:43   ` [RFC 5/5] HACK: serial: move pl011 initcall to device_initcall Leif Lindholm
2015-09-08 12:43     ` Leif Lindholm
2015-09-08 12:43     ` Leif Lindholm
2015-09-08 12:56     ` Mark Rutland
2015-09-08 12:56       ` Mark Rutland
2015-09-08 16:55       ` Leif Lindholm
2015-09-08 16:55         ` Leif Lindholm
2015-09-08 16:55         ` Leif Lindholm
2015-09-23  7:38 ` [RFC 0/5] console/acpi: add DBG2 and SPCR console configuration Ming Lei
2015-09-23  7:38   ` Ming Lei
2015-09-23 15:45   ` G Gregory
2015-09-23 15:45     ` G Gregory
2016-01-12 15:14 ` Christopher Covington
2016-01-12 15:14   ` Christopher Covington
2016-01-13  0:07   ` Al Stone
2016-01-13  0:07     ` Al Stone

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=20150908125245.GC20562@leverpostej \
    --to=mark.rutland-5wv7dgnigg8@public.gmane.org \
    --cc=al.stone-QSEj5FYQhm4dnm+yROfE0A@public.gmane.org \
    --cc=devicetree-u79uwXL29TY76Z2rM5mHXA@public.gmane.org \
    --cc=graeme.gregory-QSEj5FYQhm4dnm+yROfE0A@public.gmane.org \
    --cc=jcm-H+wXaHxf7aLQT0dZR+AlfA@public.gmane.org \
    --cc=leif.lindholm-QSEj5FYQhm4dnm+yROfE0A@public.gmane.org \
    --cc=linaro-acpi-cunTk1MwBs8s++Sfvej+rw@public.gmane.org \
    --cc=linux-acpi-u79uwXL29TY76Z2rM5mHXA@public.gmane.org \
    --cc=linux-arm-kernel-IAPFreCvJWM7uuMidbF8XUB+6BGkLq7r@public.gmane.org \
    --cc=linux-kernel-u79uwXL29TY76Z2rM5mHXA@public.gmane.org \
    --cc=linux-serial-u79uwXL29TY76Z2rM5mHXA@public.gmane.org \
    --cc=lv.zheng-ral2JQCrhuEAvxtiuMwx3w@public.gmane.org \
    --cc=torez-H+wXaHxf7aLQT0dZR+AlfA@public.gmane.org \
    /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 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.