[PATCH] dt: remove of_alias_get_id() reference

Shawn Guo shawn.guo at freescale.com
Fri Aug 5 03:13:02 EST 2011


On Thu, Aug 04, 2011 at 01:33:37PM +0300, Felipe Balbi wrote:
> On Thu, Aug 04, 2011 at 11:30:27AM +0100, Grant Likely wrote:
> > of_alias_get_id() is broken and being reverted.  Remove the reference
> > to it and replace with a single incrementing id number.
> > 
> > There is no risk of regression here on the imx driver since the imx
> > change to use of_alias_get_id() is commit 22698aa2, "serial/imx: add
> > device tree probe support" which is new for v3.1, and it won't get
> > used unless CONFIG_OF is enabled and the board is booted using a
> > device tree.  A single incrementing integer is sufficient for now.
> > 
> > Signed-off-by: Grant Likely <grant.likely at secretlab.ca>
> > Acked-by: Shawn Guo <shawn.guo at linaro.org>
> > ---
> > 
> > I'm about to ask Linus to pull this patch through the devicetree/merge
> > branch along with the of_alias revert.
> > 
> >  drivers/tty/serial/imx.c |   13 ++++---------
> >  1 files changed, 4 insertions(+), 9 deletions(-)
> > 
> > diff --git a/drivers/tty/serial/imx.c b/drivers/tty/serial/imx.c
> > index 827db76..7e91b3d 100644
> > --- a/drivers/tty/serial/imx.c
> > +++ b/drivers/tty/serial/imx.c
> > @@ -1286,22 +1286,17 @@ static int serial_imx_resume(struct platform_device *dev)
> >  static int serial_imx_probe_dt(struct imx_port *sport,
> >  		struct platform_device *pdev)
> >  {
> > +	static int portnum = 0;
> 
> would it be better to use an IDR here ?
> 

This patch is a step back to avoid using of_alias_* api since it's
been reverted.  But we need to fix the api to make it right later.
That said the serial will still go after the of_alias_get_id.

What we want is a fixed device id for specified serial instance,
which is defined by device tree (in turn by hardware), instead of
a random id.  I'm not sure that I completely understand what IDR is
exactly for.  But from the documentation in lib/idr.c, I feel it's
not what we need here.  Or can you please elaborate why it fits here?

/*
 * You call it to allocate an id (an int) an associate with that id a
 * pointer or what ever, we treat it as a (void *).  You can pass this
 * id to a user for him to pass back at a later time.  You then pass
 * that id to this code and it returns your pointer.
 */

-- 
Regards,
Shawn



More information about the devicetree-discuss mailing list