Messages in this thread | | | Date | Tue, 16 Nov 2021 07:19:43 +0200 | From | Tony Lindgren <> | Subject | Re: [PATCH v4 1/2] drivers: bus: simple-pm-bus: Add support for probing simple bus only devices |
| |
* Saravana Kannan <saravanak@google.com> [211115 20:19]: > On Wed, Nov 10, 2021 at 12:24 PM Saravana Kannan <saravanak@google.com> wrote: > > > > On Wed, Nov 10, 2021 at 4:16 AM Abel Vesa <abelvesa@kernel.org> 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@mail.gmail.com/ > > > > 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
| |