* Saravana Kannan <saravanak@xxxxxxxxxx> [211115 20:19]: > On Wed, Nov 10, 2021 at 12:24 PM Saravana Kannan <saravanak@xxxxxxxxxx> wrote: > > > > On Wed, Nov 10, 2021 at 4:16 AM Abel Vesa <abelvesa@xxxxxxxxxx> wrote: > > > > > > On 21-09-28 17:07:33, Saravana Kannan wrote: > > > > fw_devlink could end up creating device links for bus only devices. > > > > However, bus only devices don't get probed and can block probe() or > > > > sync_state() [1] call backs of other devices. To avoid this, probe these > > > > devices using the simple-pm-bus driver. > > > > > > > > However, there are instances of devices that are not simple buses (they get > > > > probed by their specific drivers) that also list the "simple-bus" (or other > > > > bus only compatible strings) in their compatible property to automatically > > > > populate their child devices. We still want these devices to get probed by > > > > their specific drivers. So, we make sure this driver only probes devices > > > > that are only buses. ... > > > > > > This change is breaking the expected behavior for the already existent > > > simple-bus nodes. All the simple-bus compatibles should be replaced now > > > to simple-pm-bus. In my case, on some i.MX8 platforms, without the > > > devlink, the devices suspend sequence changes (and even breaks). > > > > > > To avoid breaking the already existent simple-bus nodes, maybe the logic > > > should've been reversed: keep the simple-bus as is and add another > > > compatible, IDK, something like simple-trasnparent-bus, or something. > > > > The intent of this change IS to affect existing simple-bus nodes (but > > not in the way it's affecting you). But if it's breaking stuff, we > > obviously need to fix it. > > > > I have a hunch on what's going on in your case, but can you point me > > to the specific simple-bus node that's getting affected? I'm expecting > > it to be a simple-bus node that gets added AFTER this driver is > > registered at device_initcall (module_init gets converted to > > device_initcall). > > > > Also, can you try this hack patch to see if it helps your case? > > https://lore.kernel.org/lkml/CAGETcx9U130Oq-umrvXME4JhEpO0Wadoki3kNxx=0-YvTR6PtQ@xxxxxxxxxxxxxx/ > > > > I have some thoughts on how I could fix this, but I need to think > > about a few cases. Not sure if this is related.. Some drivers need to be updated from builtin_platform_driver_probe() to use builtin_platform_driver() when switching to simple-pm-bus because of deferred probe. See more info in commit e259c2926c01 ("PCI: pci-dra7xx: Prepare for deferred probe with module_platform_driver"). Regards, Tony