summaryrefslogtreecommitdiffstats
path: root/include/linux/fwnode.h
diff options
context:
space:
mode:
authorSaravana Kannan <saravanak@google.com>2024-03-04 21:04:55 -0800
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>2024-03-07 22:10:01 +0000
commitb7e1241d8f77ed64404a5e4450f43a319310fc91 (patch)
tree611e01877b6aa7209f9e126fb511c7e90e8754a8 /include/linux/fwnode.h
parent75cde56a5b504d07a64ce0e3f8c7410df70308a3 (diff)
downloadlinux-b7e1241d8f77ed64404a5e4450f43a319310fc91.tar.gz
linux-b7e1241d8f77ed64404a5e4450f43a319310fc91.tar.bz2
linux-b7e1241d8f77ed64404a5e4450f43a319310fc91.zip
driver core: Add FWLINK_FLAG_IGNORE to completely ignore a fwnode link
A fwnode link between specific supplier-consumer fwnodes can be added multiple times for multiple reasons. If that dependency doesn't exist, deleting the fwnode link once doesn't guarantee that it won't get created again. So, add FWLINK_FLAG_IGNORE flag to mark a fwnode link as one that needs to be completely ignored. Since a fwnode link's flags is an OR of all the flags passed to all the fwnode_link_add() calls to create that specific fwnode link, the FWLINK_FLAG_IGNORE flag is preserved and can be used to mark a fwnode link as on that need to be completely ignored until it is deleted. Signed-off-by: Saravana Kannan <saravanak@google.com> Acked-by: "Rafael J. Wysocki" <rafael@kernel.org> Reviewed-by: Rob Herring <robh@kernel.org> Link: https://lore.kernel.org/r/20240305050458.1400667-3-saravanak@google.com Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Diffstat (limited to 'include/linux/fwnode.h')
-rw-r--r--include/linux/fwnode.h2
1 files changed, 2 insertions, 0 deletions
diff --git a/include/linux/fwnode.h b/include/linux/fwnode.h
index 70d9c40269b9..0d79070c5a70 100644
--- a/include/linux/fwnode.h
+++ b/include/linux/fwnode.h
@@ -59,8 +59,10 @@ struct fwnode_handle {
* fwnode link flags
*
* CYCLE: The fwnode link is part of a cycle. Don't defer probe.
+ * IGNORE: Completely ignore this link, even during cycle detection.
*/
#define FWLINK_FLAG_CYCLE BIT(0)
+#define FWLINK_FLAG_IGNORE BIT(1)
struct fwnode_link {
struct fwnode_handle *supplier;