public inbox for linuxppc-dev@ozlabs.org 
 help / color / mirror / Atom feed
From: Curt Brune <curt@cumulusnetworks•com>
To: Scott Wood <scottwood@freescale•com>
Cc: galak@codeaurora•org, ijc+devicetree@hellion•org.uk,
	mark.rutland@arm•com, pawel.moll@arm•com,
	benh@kernel•crashing.org, paulus@samba•org, mpe@ellerman•id.au,
	robh+dt@kernel•org, linuxppc-dev@lists•ozlabs.org,
	devicetree@vger•kernel.org
Subject: Re: [RFC 1/1] powerpc: legacy serial port use device tree cell-index property
Date: Wed, 30 Dec 2015 08:37:02 -0800	[thread overview]
Message-ID: <20151230163702.GY14046@cumulusnetworks.com> (raw)
In-Reply-To: <1450755731.18314.76.camel@freescale.com>

On Mon Dec 21 21:42, Scott Wood wrote:
> On Wed, 2015-11-25 at 10:46 -0800, Curt Brune wrote:
> > Currently for PowerPC systems using device tree, the legacy serial
> > ports are allocated in the order by which they are found in the device
> > tree structure.
> > 
> > This can cause problems in cases where the device tree nodes are
> > sysnthesized by an external program (kexec for example), which may not
> > preserve the original order of the device tree nodes.  This in turn
> > can result in the serial console changing from ttyS0 to ttyS1
> > unexpectedly.
> > 
> > This patch uses the 'cell-index' property (if present) to map UART
> > device tree nodes to legacy serial port number.  The cell-index
> > property is widely used in all the Freescale .dts files for PowerPC.
> > 
> > Signed-off-by: Curt Brune <curt@cumulusnetworks•com>
> > ---
> >  arch/powerpc/kernel/legacy_serial.c | 11 +++++++++--
> >  1 file changed, 9 insertions(+), 2 deletions(-)
> > 
> > diff --git a/arch/powerpc/kernel/legacy_serial.c
> > b/arch/powerpc/kernel/legacy_serial.c
> > index 7b750c4..b717133 100644
> > --- a/arch/powerpc/kernel/legacy_serial.c
> > +++ b/arch/powerpc/kernel/legacy_serial.c
> > @@ -164,6 +164,8 @@ static int __init add_legacy_soc_port(struct device_node
> > *np,
> >  	u64 addr;
> >  	const __be32 *addrp;
> >  	struct device_node *tsi = of_get_parent(np);
> > +	int index = -1, len;
> > +	u32 *indexp;
> >  
> >  	/* We only support ports that have a clock frequency properly
> >  	 * encoded in the device-tree.
> > @@ -188,14 +190,19 @@ static int __init add_legacy_soc_port(struct
> > device_node *np,
> >  	if (addr == OF_BAD_ADDR)
> >  		return -1;
> >  
> > +	/* Check if the ports have an ordering, defined by 'cell-index' */
> > +	if (((indexp = (u32*)of_get_property(np, "cell-index", &len)) !=
> > NULL) &&
> > +	    (len == sizeof(u32)))
> > +		index = *indexp;
> 
> const u32 *
> 
> Or better, use of_read_number() or similar.
> 
> -Scott
> 

Ack.  Thanks for the pointer.

-Curt

  reply	other threads:[~2015-12-30 16:37 UTC|newest]

Thread overview: 7+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2015-11-25 18:46 [RFC 1/1] powerpc: legacy serial port use device tree cell-index property Curt Brune
2015-12-20 15:02 ` Segher Boessenkool
2015-12-30 16:36   ` Curt Brune
2015-12-30 20:12     ` Segher Boessenkool
2015-12-22  3:42 ` Scott Wood
2015-12-30 16:37   ` Curt Brune [this message]
2015-12-30 22:34 ` Rob Herring

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=20151230163702.GY14046@cumulusnetworks.com \
    --to=curt@cumulusnetworks$(echo .)com \
    --cc=benh@kernel$(echo .)crashing.org \
    --cc=devicetree@vger$(echo .)kernel.org \
    --cc=galak@codeaurora$(echo .)org \
    --cc=ijc+devicetree@hellion$(echo .)org.uk \
    --cc=linuxppc-dev@lists$(echo .)ozlabs.org \
    --cc=mark.rutland@arm$(echo .)com \
    --cc=mpe@ellerman$(echo .)id.au \
    --cc=paulus@samba$(echo .)org \
    --cc=pawel.moll@arm$(echo .)com \
    --cc=robh+dt@kernel$(echo .)org \
    --cc=scottwood@freescale$(echo .)com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html
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