All of lore.kernel.org
 help / color / mirror / Atom feed
From: Greg KH <greg@kroah.com>
To: Jia Hongtao-B38951 <B38951@freescale.com>
Cc: Rob Herring <robherring2@gmail.com>,
	"devicetree-discuss@lists.ozlabs.org"
	<devicetree-discuss@lists.ozlabs.org>,
	"linux-kernel@vger.kernel.org" <linux-kernel@vger.kernel.org>,
	Li Yang-R58472 <r58472@freescale.com>
Subject: Re: [PATCH V3 5/6] Avoid duplicate probe for of platform devices
Date: Fri, 6 Jul 2012 09:17:18 -0700	[thread overview]
Message-ID: <20120706161718.GA26894@kroah.com> (raw)
In-Reply-To: <412C8208B4A0464FA894C5F0C278CD5D01A168F2@039-SN1MPN1-002.039d.mgd.msft.net>

On Fri, Jul 06, 2012 at 06:07:43AM +0000, Jia Hongtao-B38951 wrote:
> 
> > -----Original Message-----
> > From: Greg KH [mailto:greg@kroah.com]
> > Sent: Friday, July 06, 2012 12:26 PM
> > To: Jia Hongtao-B38951
> > Cc: Rob Herring; devicetree-discuss@lists.ozlabs.org; linux-
> > kernel@vger.kernel.org; Li Yang-R58472
> > Subject: Re: [PATCH V3 5/6] Avoid duplicate probe for of platform devices
> > 
> > On Fri, Jul 06, 2012 at 02:05:05AM +0000, Jia Hongtao-B38951 wrote:
> > > Hi Rob and Greg KH,
> > >
> > > Do you have any better idea to avoid duplication probe warning?
> > 
> > I have no idea what the problem is that you are trying to solve.
> > 
> > > > On 06/08/2012 04:43 AM, Jia Hongtao wrote:
> > > > > We changed the pcie controller driver to platform driver so that
> > the
> > > > PCI
> > > > > of platform devices need to be created earlier in the arch_initcall
> > > > stage
> > > > > according to the original timing of calling fsl_add_bridge(). So we
> > do
> > > > PCI
> > > > > probing separately from other devices. But probing more than once
> > could
> > > > > cause duplication warning. We add check if the devices have already
> > > > probed
> > > > > before probing any devices to avoid duplication warning.
> > 
> > Ick, something else is going wrong here, how could you ever have the
> > same device probed more than once?
> > 
> > > > > Signed-off-by: Jia Hongtao <B38951@freescale.com>
> > > > > Signed-off-by: Li Yang <leoli@freescale.com>
> > > > > ---
> > > >
> > > > Where's v1 and v2 history?
> > > >
> > > > >  drivers/of/platform.c |   18 ++++++++++++------
> > > > >  1 files changed, 12 insertions(+), 6 deletions(-)
> > > > >
> > > > > diff --git a/drivers/of/platform.c b/drivers/of/platform.c
> > > > > index a37330e..3aab01f 100644
> > > > > --- a/drivers/of/platform.c
> > > > > +++ b/drivers/of/platform.c
> > > > > @@ -139,6 +139,18 @@ struct platform_device *of_device_alloc(struct
> > > > device_node *np,
> > > > >  	if (!dev)
> > > > >  		return NULL;
> > > > >
> > > > > +	dev->dev.of_node = of_node_get(np);
> > > > > +	if (bus_id)
> > > > > +		dev_set_name(&dev->dev, "%s", bus_id);
> > > > > +	else
> > > > > +		of_device_make_bus_id(&dev->dev);
> > > > > +
> > > > > +	if (kset_find_obj(dev->dev.kobj.kset, kobject_name(&dev-
> > >dev.kobj)))
> > 
> > Whatever you are trying to do here, odds are, it's wrong :)
> > 
> > What is happening that is causing the problem?  What is causing the
> > platform core to be calling probe on a device more than once?
> > 
> > greg k-h
> 
> This is why in some cases we may probe twice:
> Firstly, we need to probe pci controller separately. But in KVM different
> topology of device tree is used in which pci nodes are not under root node
> but under "simple bus". Unfortunately, of_platform_bus_probe() will probe
> all the first level nodes under "simple bus" so pci nodes will probe again.

Sounds like a bug :)

> Two ways to solve this problem:
> 1. All the nodes that need to be probed should just under root.

That seems reasonable.

> 2. Avoid duplication probe at runtime like this patch did.

No, don't paper over the real problem in the platform core code like
this.  Fix the real issue here instead.

> I do like the first one but it's hard to changing the traditional way that
> exist for a long time.

I don't understand, why is this just showing up now?  What changed to
cause this?  Couldn't that be the real problem here?

greg k-h

  reply	other threads:[~2012-07-06 16:17 UTC|newest]

Thread overview: 19+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2012-06-08  9:43 [PATCH V3 5/6] Avoid duplicate probe for of platform devices Jia Hongtao
2012-06-11 15:33 ` Rob Herring
2012-06-12  2:16   ` Jia Hongtao-B38951
     [not found]   ` <4FD60FB1.7050106-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org>
2012-07-06  2:05     ` Jia Hongtao-B38951
2012-07-06  2:05       ` Jia Hongtao-B38951
2012-07-06  4:26       ` Greg KH
     [not found]         ` <20120706042611.GA1841-U8xfFu+wG4EAvxtiuMwx3w@public.gmane.org>
2012-07-06  6:07           ` Jia Hongtao-B38951
2012-07-06  6:07             ` Jia Hongtao-B38951
2012-07-06 16:17             ` Greg KH [this message]
     [not found]               ` <20120706161718.GA26894-U8xfFu+wG4EAvxtiuMwx3w@public.gmane.org>
2012-07-09  2:34                 ` Jia Hongtao-B38951
2012-07-09  2:34                   ` Jia Hongtao-B38951
     [not found]                   ` <412C8208B4A0464FA894C5F0C278CD5D01A1E694-TcFNo7jSaXPiTqIcKZ1S2K4g8xLGJsHaLnY5E4hWTkheoWH0uzbU5w@public.gmane.org>
2012-07-09  3:46                     ` Li Yang-R58472
2012-07-09  3:46                       ` Li Yang-R58472
2012-07-09 13:58                       ` Rob Herring
2012-07-10  2:29                         ` Jia Hongtao-B38951
2012-07-09 14:58                       ` Greg KH
     [not found]                         ` <20120709145831.GB3961-U8xfFu+wG4EAvxtiuMwx3w@public.gmane.org>
2012-07-11 18:01                           ` Grant Likely
2012-07-11 18:01                             ` Grant Likely
  -- strict thread matches above, loose matches on Subject: below --
2012-06-08  9:42 [PATCH 0/6] Description for PCI patches using platform driver Jia Hongtao
2012-06-08  9:42 ` [PATCH V3 5/6] Avoid duplicate probe for of platform devices Jia Hongtao

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=20120706161718.GA26894@kroah.com \
    --to=greg@kroah.com \
    --cc=B38951@freescale.com \
    --cc=devicetree-discuss@lists.ozlabs.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=r58472@freescale.com \
    --cc=robherring2@gmail.com \
    /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.