Hi Saravana, On Fri, Feb 5, 2021 at 11:26 PM Saravana Kannan <saravanak@xxxxxxxxxx> wrote: > There are a lot of devices/drivers where they never have a struct device > created for them or the driver initializes the hardware without ever > binding to the struct device. > > This series is intended to avoid any boot regressions due to such > devices/drivers when fw_devlink=on and also address the handling of > optional suppliers. Thanks for your series! > Patch 5 sets up a generic API to handle drivers that never bind with > their devices. > > Patch 6 through 8 update different frameworks to use the new API. > driver core: fw_devlink: Handle suppliers that don't use driver core > irqdomain: Mark fwnodes when their irqdomain is added/removed > PM: domains: Mark fwnodes when their powerdomain is added/removed > clk: Mark fwnodes when their clock provider is added/removed I take it this is an automatic alternative for letting drivers set the OF_POPULATED flag manually? Is this actually safe? It's not uncommon for a driver to register multiple providers, sometimes even of different types (clock, genpd, irq, reset[1], ...). Can you be sure consumer drivers do not start probing while their dependency is still busy registering providers? [1] Which brings my attention to the fact that devlink does not consider "resets" properties yet. Gr{oetje,eeting}s, Geert -- Geert Uytterhoeven -- There's lots of Linux beyond ia32 -- geert@xxxxxxxxxxxxxx In personal conversations with technical people, I call myself a hacker. But when I'm talking to journalists I just say "programmer" or something like that. -- Linus Torvalds