Re: [PATCH v4 0/8] Make fw_devlink=on more forgiving
From: Saravana Kannan <hidden>
Date: 2021-02-06 03:58:56
Also in:
linux-acpi, linux-clk, linux-devicetree, linux-pm, lkml
On Fri, Feb 5, 2021 at 2: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. Patch 1 and 2 addresses the issue of firmware nodes that look like they'll have struct devices created for them, but will never actually have struct devices added for them. For example, DT nodes with a compatible property that don't have devices added for them. Patch 3 and 4 allow for handling optional DT bindings. 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. Thanks, Saravana
Forgot to add version history: v1 -> v2: Patch 1: Added a flag to fwnodes that aren't devices. Patch 3: New patch to ise the flag set in patch 1 to not create bad links. v2 -> v3: - Patch 1: Added Rafael's Ack - New patches 3 and 4 v3 -> v4: - No changes to patches 1-4. - New patches 5-8. -Saravana
Saravana Kannan (8):
driver core: fw_devlink: Detect supplier devices that will never be
added
of: property: Don't add links to absent suppliers
driver core: Add fw_devlink.strict kernel param
of: property: Add fw_devlink support for optional properties
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
.../admin-guide/kernel-parameters.txt | 5 ++
drivers/base/core.c | 58 ++++++++++++++++++-
drivers/base/power/domain.c | 2 +
drivers/clk/clk.c | 3 +
drivers/of/property.c | 16 +++--
include/linux/fwnode.h | 20 ++++++-
kernel/irq/irqdomain.c | 2 +
7 files changed, 98 insertions(+), 8 deletions(-)
--
2.30.0.478.g8a0d178c01-goog