Subject: Re: [RFC 1/1] powerpc: legacy serial port use device tree cell-index property

From: Segher Boessenkool <[email-masked]>
Date: Sun, 20 Dec 2015 09:02:25 -0600

On Wed, Nov 25, 2015 at 10:46:49AM -0800, Curt Brune wrote:
> +	/* 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;
> +
>  	/* Add port, irq will be dealt with later. We passed a translated
>  	 * IO port value. It will be fixed up later along with the irq
>  	 */
>  	if (tsi && !strcmp(tsi->type, "tsi-bridge"))
> -		return add_legacy_port(np, -1, UPIO_TSI, addr, addr,
> +		return add_legacy_port(np, index, UPIO_TSI, addr, addr,
>  				       NO_IRQ, legacy_port_flags, 0);
>  	else
> -		return add_legacy_port(np, -1, UPIO_MEM, addr, addr,
> +		return add_legacy_port(np, index, UPIO_MEM, addr, addr,
>  				       NO_IRQ, legacy_port_flags, 0);

What does this do if the value in cell-index is a duplicate. or the port
with that number is already created some other way?  Are the numbers in
cell-index global anyway, or relative to some parent device (I couldn't
find the documentation for this).

Segher