[PATCH 2/5] drivercore: Add driver probe deferral mechanism
grant.likely at secretlab.ca
Thu Oct 13 00:09:23 EDT 2011
On Tue, Oct 11, 2011 at 08:29:18PM +0800, Ming Lei wrote:
> On Tue, Oct 11, 2011 at 1:37 AM, Andrei Warkentin <awarkentin at vmware.com> wrote:
> > Hi,
> > ----- Original Message -----
> >> From: "Greg KH" <greg at kroah.com>
> >> To: "Josh Triplett" <josh at joshtriplett.org>
> >> Cc: "G, Manjunath Kondaiah" <manjugk at ti.com>, linux-arm-kernel at lists.infradead.org, "Grant Likely"
> >> <grant.likely at secretlab.ca>, linux-omap at vger.kernel.org, linux-mmc at vger.kernel.org, linux-kernel at vger.kernel.org,
> >> "Dilan Lee" <dilee at nvidia.com>, "Mark Brown" <broonie at opensource.wolfsonmicro.com>, Manjunath at jasper.es
> >> Sent: Saturday, October 8, 2011 11:55:02 AM
> >> Subject: Re: [PATCH 2/5] drivercore: Add driver probe deferral mechanism
> > I'm a bit of a fly on the wall here, but I'm curious how this impacts suspend/resume.
> > device_initialize->device_pm_init are called from device_register, so certainly this
> > patch doesn't also ensure that the PM ordering matches probe ordering, which is bound
> > to break suspend, right? Was this ever tested with the OMAP target? Shouldn't the
> Inside device_add(), device_pm_add is called before bus_probe_device,
> so the patch can't change the device order in pm list, and just change
> the driver probe order.
That's the way it works now, but can it be reworked? It would be
possible to adjust the list order after successful probe. However,
I'm not clear on the ordering rules for the dpm_list. Right now it is
explicitly ordered to have parents before children, but as already
expressed, that doesn't accurately represent ordering constraints for
multiple device dependancies.
So, reordering the list would probably require maintaining the
existing parent-child ordering constraint, but to also shift
devices (and any possible children?) to be after drivers that are
already probed. That alone will be difficult to implement and get
right, but maybe the constraints can be simplified. It needs some
More information about the linux-arm-kernel