Hi Saravana,
On Fri, Feb 5, 2021 at 11:26 PM Saravana Kannan [off-list ref] 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@linux-m68k.org
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