From: Saravana Kannan <saravanak@google.com> To: Greg Kroah-Hartman <gregkh@linuxfoundation.org>, "Rafael J. Wysocki" <rafael@kernel.org>, Sudeep Holla <sudeep.holla@arm.com>, Cristian Marussi <cristian.marussi@arm.com>, Linus Walleij <linus.walleij@linaro.org>, Bartosz Golaszewski <brgl@bgdev.pl>, Thomas Gleixner <tglx@linutronix.de>, Marc Zyngier <maz@kernel.org>, Shawn Guo <shawnguo@kernel.org>, Sascha Hauer <s.hauer@pengutronix.de>, Pengutronix Kernel Team <kernel@pengutronix.de>, Fabio Estevam <festevam@gmail.com>, NXP Linux Team <linux-imx@nxp.com>, Rob Herring <robh+dt@kernel.org>, Frank Rowand <frowand.list@gmail.com>, Geert Uytterhoeven <geert+renesas@glider.be>, Magnus Damm <magnus.damm@gmail.com>, Len Brown <lenb@kernel.org>, Andy Shevchenko <andriy.shevchenko@linux.intel.com>, Daniel Scally <djrscally@gmail.com>, Heikki Krogerus <heikki.krogerus@linux.intel.com>, Sakari Ailus <sakari.ailus@linux.intel.com>, Saravana Kannan <saravanak@google.com> Cc: Tony Lindgren <tony@atomide.com>, Linux Kernel Functional Testing <lkft@linaro.org>, Naresh Kamboju <naresh.kamboju@linaro.org>, Abel Vesa <abel.vesa@linaro.org>, Alexander Stein <alexander.stein@ew.tq-group.com>, Geert Uytterhoeven <geert@linux-m68k.org>, John Stultz <jstultz@google.com>, Doug Anderson <dianders@chromium.org>, Guenter Roeck <linux@roeck-us.net>, Dmitry Baryshkov <dmitry.baryshkov@linaro.org>, Maxim Kiselev <bigunclemax@gmail.com>, Maxim Kochetkov <fido_max@inbox.ru>, Miquel Raynal <miquel.raynal@bootlin.com>, Luca Weiss <luca.weiss@fairphone.com>, Colin Foster <colin.foster@in-advantage.com>, Martin Kepplinger <martin.kepplinger@puri.sm>, Jean-Philippe Brucker <jpb@kernel.org>, kernel-team@android.com, linux-kernel@vger.kernel.org, linux-arm-kernel@lists.infradead.org, linux-gpio@vger.kernel.org, devicetree@vger.kernel.org, linux-renesas-soc@vger.kernel.org, linux-acpi@vger.kernel.org Subject: [PATCH v2 05/11] driver core: fw_devlink: Add DL_FLAG_CYCLE support to device links Date: Thu, 26 Jan 2023 16:11:32 -0800 [thread overview] Message-ID: <20230127001141.407071-6-saravanak@google.com> (raw) In-Reply-To: <20230127001141.407071-1-saravanak@google.com> fw_devlink uses DL_FLAG_SYNC_STATE_ONLY device link flag for two purposes: 1. To allow a parent device to proxy its child device's dependency on a supplier so that the supplier doesn't get its sync_state() callback before the child device/consumer can be added and probed. In this usage scenario, we need to ignore cycles for ensure correctness of sync_state() callbacks. 2. When there are dependency cycles in firmware, we don't know which of those dependencies are valid. So, we have to ignore them all wrt probe ordering while still making sure the sync_state() callbacks come correctly. However, when detecting dependency cycles, there can be multiple dependency cycles between two devices that we need to detect. For example: A -> B -> A and A -> C -> B -> A. To detect multiple cycles correct, we need to be able to differentiate DL_FLAG_SYNC_STATE_ONLY device links used for (1) vs (2) above. To allow this differentiation, add a DL_FLAG_CYCLE that can be use to mark use case (2). We can then use the DL_FLAG_CYCLE to decide which DL_FLAG_SYNC_STATE_ONLY device links to follow when looking for dependency cycles. Fixes: 2de9d8e0d2fe ("driver core: fw_devlink: Improve handling of cyclic dependencies") Signed-off-by: Saravana Kannan <saravanak@google.com> --- drivers/base/core.c | 28 ++++++++++++++++++---------- include/linux/device.h | 1 + 2 files changed, 19 insertions(+), 10 deletions(-) diff --git a/drivers/base/core.c b/drivers/base/core.c index 919728e784e8..e5390b09a02f 100644 --- a/drivers/base/core.c +++ b/drivers/base/core.c @@ -322,6 +322,12 @@ static bool device_is_ancestor(struct device *dev, struct device *target) return false; } +static inline bool device_link_flag_is_sync_state_only(u32 flags) +{ + return (flags & ~(DL_FLAG_INFERRED | DL_FLAG_CYCLE)) + == (DL_FLAG_SYNC_STATE_ONLY | DL_FLAG_MANAGED); +} + /** * device_is_dependent - Check if one device depends on another one * @dev: Device to check dependencies for. @@ -348,8 +354,7 @@ int device_is_dependent(struct device *dev, void *target) return ret; list_for_each_entry(link, &dev->links.consumers, s_node) { - if ((link->flags & ~DL_FLAG_INFERRED) == - (DL_FLAG_SYNC_STATE_ONLY | DL_FLAG_MANAGED)) + if (device_link_flag_is_sync_state_only(link->flags)) continue; if (link->consumer == target) @@ -422,8 +427,7 @@ static int device_reorder_to_tail(struct device *dev, void *not_used) device_for_each_child(dev, NULL, device_reorder_to_tail); list_for_each_entry(link, &dev->links.consumers, s_node) { - if ((link->flags & ~DL_FLAG_INFERRED) == - (DL_FLAG_SYNC_STATE_ONLY | DL_FLAG_MANAGED)) + if (device_link_flag_is_sync_state_only(link->flags)) continue; device_reorder_to_tail(link->consumer, NULL); } @@ -684,7 +688,8 @@ postcore_initcall(devlink_class_init); DL_FLAG_AUTOREMOVE_SUPPLIER | \ DL_FLAG_AUTOPROBE_CONSUMER | \ DL_FLAG_SYNC_STATE_ONLY | \ - DL_FLAG_INFERRED) + DL_FLAG_INFERRED | \ + DL_FLAG_CYCLE) #define DL_ADD_VALID_FLAGS (DL_MANAGED_LINK_FLAGS | DL_FLAG_STATELESS | \ DL_FLAG_PM_RUNTIME | DL_FLAG_RPM_ACTIVE) @@ -753,8 +758,6 @@ struct device_link *device_link_add(struct device *consumer, if (!consumer || !supplier || consumer == supplier || flags & ~DL_ADD_VALID_FLAGS || (flags & DL_FLAG_STATELESS && flags & DL_MANAGED_LINK_FLAGS) || - (flags & DL_FLAG_SYNC_STATE_ONLY && - (flags & ~DL_FLAG_INFERRED) != DL_FLAG_SYNC_STATE_ONLY) || (flags & DL_FLAG_AUTOPROBE_CONSUMER && flags & (DL_FLAG_AUTOREMOVE_CONSUMER | DL_FLAG_AUTOREMOVE_SUPPLIER))) @@ -770,6 +773,10 @@ struct device_link *device_link_add(struct device *consumer, if (!(flags & DL_FLAG_STATELESS)) flags |= DL_FLAG_MANAGED; + if (flags & DL_FLAG_SYNC_STATE_ONLY && + !device_link_flag_is_sync_state_only(flags)) + return NULL; + device_links_write_lock(); device_pm_lock(); @@ -1729,7 +1736,7 @@ static void fw_devlink_relax_link(struct device_link *link) if (!(link->flags & DL_FLAG_INFERRED)) return; - if (link->flags == (DL_FLAG_MANAGED | FW_DEVLINK_FLAGS_PERMISSIVE)) + if (device_link_flag_is_sync_state_only(link->flags)) return; pm_runtime_drop_link(link); @@ -1853,8 +1860,8 @@ static int fw_devlink_relax_cycle(struct device *con, void *sup) return ret; list_for_each_entry(link, &con->links.consumers, s_node) { - if ((link->flags & ~DL_FLAG_INFERRED) == - (DL_FLAG_SYNC_STATE_ONLY | DL_FLAG_MANAGED)) + if (!(link->flags & DL_FLAG_CYCLE) && + device_link_flag_is_sync_state_only(link->flags)) continue; if (!fw_devlink_relax_cycle(link->consumer, sup)) @@ -1863,6 +1870,7 @@ static int fw_devlink_relax_cycle(struct device *con, void *sup) ret = 1; fw_devlink_relax_link(link); + link->flags |= DL_FLAG_CYCLE; } return ret; } diff --git a/include/linux/device.h b/include/linux/device.h index 44e3acae7b36..f4d20655d2d7 100644 --- a/include/linux/device.h +++ b/include/linux/device.h @@ -328,6 +328,7 @@ enum device_link_state { #define DL_FLAG_MANAGED BIT(6) #define DL_FLAG_SYNC_STATE_ONLY BIT(7) #define DL_FLAG_INFERRED BIT(8) +#define DL_FLAG_CYCLE BIT(9) /** * enum dl_dev_state - Device driver presence tracking information. -- 2.39.1.456.gfc5497dd1b-goog
WARNING: multiple messages have this Message-ID (diff)
From: Saravana Kannan <saravanak@google.com> To: Greg Kroah-Hartman <gregkh@linuxfoundation.org>, "Rafael J. Wysocki" <rafael@kernel.org>, Sudeep Holla <sudeep.holla@arm.com>, Cristian Marussi <cristian.marussi@arm.com>, Linus Walleij <linus.walleij@linaro.org>, Bartosz Golaszewski <brgl@bgdev.pl>, Thomas Gleixner <tglx@linutronix.de>, Marc Zyngier <maz@kernel.org>, Shawn Guo <shawnguo@kernel.org>, Sascha Hauer <s.hauer@pengutronix.de>, Pengutronix Kernel Team <kernel@pengutronix.de>, Fabio Estevam <festevam@gmail.com>, NXP Linux Team <linux-imx@nxp.com>, Rob Herring <robh+dt@kernel.org>, Frank Rowand <frowand.list@gmail.com>, Geert Uytterhoeven <geert+renesas@glider.be>, Magnus Damm <magnus.damm@gmail.com>, Len Brown <lenb@kernel.org>, Andy Shevchenko <andriy.shevchenko@linux.intel.com>, Daniel Scally <djrscally@gmail.com>, Heikki Krogerus <heikki.krogerus@linux.intel.com>, Sakari Ailus <sakari.ailus@linux.intel.com>, Saravana Kannan <saravanak@google.com> Cc: Tony Lindgren <tony@atomide.com>, Linux Kernel Functional Testing <lkft@linaro.org>, Naresh Kamboju <naresh.kamboju@linaro.org>, Abel Vesa <abel.vesa@linaro.org>, Alexander Stein <alexander.stein@ew.tq-group.com>, Geert Uytterhoeven <geert@linux-m68k.org>, John Stultz <jstultz@google.com>, Doug Anderson <dianders@chromium.org>, Guenter Roeck <linux@roeck-us.net>, Dmitry Baryshkov <dmitry.baryshkov@linaro.org>, Maxim Kiselev <bigunclemax@gmail.com>, Maxim Kochetkov <fido_max@inbox.ru>, Miquel Raynal <miquel.raynal@bootlin.com>, Luca Weiss <luca.weiss@fairphone.com>, Colin Foster <colin.foster@in-advantage.com>, Martin Kepplinger <martin.kepplinger@puri.sm>, Jean-Philippe Brucker <jpb@kernel.org>, kernel-team@android.com, linux-kernel@vger.kernel.org, linux-arm-kernel@lists.infradead.org, linux-gpio@vger.kernel.org, devicetree@vger.kernel.org, linux-renesas-soc@vger.kernel.org, linux-acpi@vger.kernel.org Subject: [PATCH v2 05/11] driver core: fw_devlink: Add DL_FLAG_CYCLE support to device links Date: Thu, 26 Jan 2023 16:11:32 -0800 [thread overview] Message-ID: <20230127001141.407071-6-saravanak@google.com> (raw) In-Reply-To: <20230127001141.407071-1-saravanak@google.com> fw_devlink uses DL_FLAG_SYNC_STATE_ONLY device link flag for two purposes: 1. To allow a parent device to proxy its child device's dependency on a supplier so that the supplier doesn't get its sync_state() callback before the child device/consumer can be added and probed. In this usage scenario, we need to ignore cycles for ensure correctness of sync_state() callbacks. 2. When there are dependency cycles in firmware, we don't know which of those dependencies are valid. So, we have to ignore them all wrt probe ordering while still making sure the sync_state() callbacks come correctly. However, when detecting dependency cycles, there can be multiple dependency cycles between two devices that we need to detect. For example: A -> B -> A and A -> C -> B -> A. To detect multiple cycles correct, we need to be able to differentiate DL_FLAG_SYNC_STATE_ONLY device links used for (1) vs (2) above. To allow this differentiation, add a DL_FLAG_CYCLE that can be use to mark use case (2). We can then use the DL_FLAG_CYCLE to decide which DL_FLAG_SYNC_STATE_ONLY device links to follow when looking for dependency cycles. Fixes: 2de9d8e0d2fe ("driver core: fw_devlink: Improve handling of cyclic dependencies") Signed-off-by: Saravana Kannan <saravanak@google.com> --- drivers/base/core.c | 28 ++++++++++++++++++---------- include/linux/device.h | 1 + 2 files changed, 19 insertions(+), 10 deletions(-) diff --git a/drivers/base/core.c b/drivers/base/core.c index 919728e784e8..e5390b09a02f 100644 --- a/drivers/base/core.c +++ b/drivers/base/core.c @@ -322,6 +322,12 @@ static bool device_is_ancestor(struct device *dev, struct device *target) return false; } +static inline bool device_link_flag_is_sync_state_only(u32 flags) +{ + return (flags & ~(DL_FLAG_INFERRED | DL_FLAG_CYCLE)) + == (DL_FLAG_SYNC_STATE_ONLY | DL_FLAG_MANAGED); +} + /** * device_is_dependent - Check if one device depends on another one * @dev: Device to check dependencies for. @@ -348,8 +354,7 @@ int device_is_dependent(struct device *dev, void *target) return ret; list_for_each_entry(link, &dev->links.consumers, s_node) { - if ((link->flags & ~DL_FLAG_INFERRED) == - (DL_FLAG_SYNC_STATE_ONLY | DL_FLAG_MANAGED)) + if (device_link_flag_is_sync_state_only(link->flags)) continue; if (link->consumer == target) @@ -422,8 +427,7 @@ static int device_reorder_to_tail(struct device *dev, void *not_used) device_for_each_child(dev, NULL, device_reorder_to_tail); list_for_each_entry(link, &dev->links.consumers, s_node) { - if ((link->flags & ~DL_FLAG_INFERRED) == - (DL_FLAG_SYNC_STATE_ONLY | DL_FLAG_MANAGED)) + if (device_link_flag_is_sync_state_only(link->flags)) continue; device_reorder_to_tail(link->consumer, NULL); } @@ -684,7 +688,8 @@ postcore_initcall(devlink_class_init); DL_FLAG_AUTOREMOVE_SUPPLIER | \ DL_FLAG_AUTOPROBE_CONSUMER | \ DL_FLAG_SYNC_STATE_ONLY | \ - DL_FLAG_INFERRED) + DL_FLAG_INFERRED | \ + DL_FLAG_CYCLE) #define DL_ADD_VALID_FLAGS (DL_MANAGED_LINK_FLAGS | DL_FLAG_STATELESS | \ DL_FLAG_PM_RUNTIME | DL_FLAG_RPM_ACTIVE) @@ -753,8 +758,6 @@ struct device_link *device_link_add(struct device *consumer, if (!consumer || !supplier || consumer == supplier || flags & ~DL_ADD_VALID_FLAGS || (flags & DL_FLAG_STATELESS && flags & DL_MANAGED_LINK_FLAGS) || - (flags & DL_FLAG_SYNC_STATE_ONLY && - (flags & ~DL_FLAG_INFERRED) != DL_FLAG_SYNC_STATE_ONLY) || (flags & DL_FLAG_AUTOPROBE_CONSUMER && flags & (DL_FLAG_AUTOREMOVE_CONSUMER | DL_FLAG_AUTOREMOVE_SUPPLIER))) @@ -770,6 +773,10 @@ struct device_link *device_link_add(struct device *consumer, if (!(flags & DL_FLAG_STATELESS)) flags |= DL_FLAG_MANAGED; + if (flags & DL_FLAG_SYNC_STATE_ONLY && + !device_link_flag_is_sync_state_only(flags)) + return NULL; + device_links_write_lock(); device_pm_lock(); @@ -1729,7 +1736,7 @@ static void fw_devlink_relax_link(struct device_link *link) if (!(link->flags & DL_FLAG_INFERRED)) return; - if (link->flags == (DL_FLAG_MANAGED | FW_DEVLINK_FLAGS_PERMISSIVE)) + if (device_link_flag_is_sync_state_only(link->flags)) return; pm_runtime_drop_link(link); @@ -1853,8 +1860,8 @@ static int fw_devlink_relax_cycle(struct device *con, void *sup) return ret; list_for_each_entry(link, &con->links.consumers, s_node) { - if ((link->flags & ~DL_FLAG_INFERRED) == - (DL_FLAG_SYNC_STATE_ONLY | DL_FLAG_MANAGED)) + if (!(link->flags & DL_FLAG_CYCLE) && + device_link_flag_is_sync_state_only(link->flags)) continue; if (!fw_devlink_relax_cycle(link->consumer, sup)) @@ -1863,6 +1870,7 @@ static int fw_devlink_relax_cycle(struct device *con, void *sup) ret = 1; fw_devlink_relax_link(link); + link->flags |= DL_FLAG_CYCLE; } return ret; } diff --git a/include/linux/device.h b/include/linux/device.h index 44e3acae7b36..f4d20655d2d7 100644 --- a/include/linux/device.h +++ b/include/linux/device.h @@ -328,6 +328,7 @@ enum device_link_state { #define DL_FLAG_MANAGED BIT(6) #define DL_FLAG_SYNC_STATE_ONLY BIT(7) #define DL_FLAG_INFERRED BIT(8) +#define DL_FLAG_CYCLE BIT(9) /** * enum dl_dev_state - Device driver presence tracking information. -- 2.39.1.456.gfc5497dd1b-goog _______________________________________________ linux-arm-kernel mailing list linux-arm-kernel@lists.infradead.org http://lists.infradead.org/mailman/listinfo/linux-arm-kernel
next prev parent reply other threads:[~2023-01-27 0:12 UTC|newest] Thread overview: 146+ messages / expand[flat|nested] mbox.gz Atom feed top 2023-01-27 0:11 [PATCH v2 00/11] fw_devlink improvements Saravana Kannan 2023-01-27 0:11 ` Saravana Kannan 2023-01-27 0:11 ` [PATCH v2 01/11] driver core: fw_devlink: Don't purge child fwnode's consumer links Saravana Kannan 2023-01-27 0:11 ` Saravana Kannan 2023-01-27 9:21 ` Andy Shevchenko 2023-01-27 9:21 ` Andy Shevchenko 2023-01-28 7:33 ` Saravana Kannan 2023-01-28 7:33 ` Saravana Kannan 2023-01-30 12:04 ` Andy Shevchenko 2023-01-30 12:04 ` Andy Shevchenko 2023-01-27 0:11 ` [PATCH v2 02/11] driver core: fw_devlink: Improve check for fwnode with no device/driver Saravana Kannan 2023-01-27 0:11 ` Saravana Kannan 2023-01-27 0:11 ` [PATCH v2 03/11] soc: renesas: Move away from using OF_POPULATED for fw_devlink Saravana Kannan 2023-01-27 0:11 ` Saravana Kannan 2023-01-27 8:11 ` Geert Uytterhoeven 2023-01-27 8:11 ` Geert Uytterhoeven 2023-01-28 7:18 ` Saravana Kannan 2023-01-28 7:18 ` Saravana Kannan 2023-01-30 8:42 ` Geert Uytterhoeven 2023-01-30 8:42 ` Geert Uytterhoeven 2023-01-30 20:00 ` Saravana Kannan 2023-01-30 20:00 ` Saravana Kannan 2023-01-31 8:14 ` Geert Uytterhoeven 2023-01-31 8:14 ` Geert Uytterhoeven 2023-02-04 22:30 ` Saravana Kannan 2023-02-04 22:30 ` Saravana Kannan 2023-01-27 9:25 ` Andy Shevchenko 2023-01-27 9:25 ` Andy Shevchenko 2023-01-27 9:30 ` Geert Uytterhoeven 2023-01-27 9:30 ` Geert Uytterhoeven 2023-01-27 9:44 ` Andy Shevchenko 2023-01-27 9:44 ` Andy Shevchenko 2023-01-27 0:11 ` [PATCH v2 04/11] gpiolib: Clear the gpio_device's fwnode initialized flag before adding Saravana Kannan 2023-01-27 0:11 ` Saravana Kannan 2023-01-27 9:27 ` Andy Shevchenko 2023-01-27 9:27 ` Andy Shevchenko 2023-01-28 7:33 ` Saravana Kannan 2023-01-28 7:33 ` Saravana Kannan 2023-01-30 12:05 ` Andy Shevchenko 2023-01-30 12:05 ` Andy Shevchenko 2023-01-30 14:31 ` Sudeep Holla 2023-01-30 14:31 ` Sudeep Holla 2023-01-30 15:14 ` Andy Shevchenko 2023-01-30 15:14 ` Andy Shevchenko 2023-01-31 4:01 ` Saravana Kannan 2023-01-31 4:01 ` Saravana Kannan 2023-01-31 10:13 ` Sudeep Holla 2023-01-31 10:13 ` Sudeep Holla 2023-02-04 22:32 ` Saravana Kannan 2023-02-04 22:32 ` Saravana Kannan 2023-01-27 0:11 ` Saravana Kannan [this message] 2023-01-27 0:11 ` [PATCH v2 05/11] driver core: fw_devlink: Add DL_FLAG_CYCLE support to device links Saravana Kannan 2023-01-27 9:29 ` Andy Shevchenko 2023-01-27 9:29 ` Andy Shevchenko 2023-01-27 9:30 ` Andy Shevchenko 2023-01-27 9:30 ` Andy Shevchenko 2023-01-27 9:55 ` Geert Uytterhoeven 2023-01-27 9:55 ` Geert Uytterhoeven 2023-01-28 7:34 ` Saravana Kannan 2023-01-28 7:34 ` Saravana Kannan 2023-01-30 12:08 ` Andy Shevchenko 2023-01-30 12:08 ` Andy Shevchenko 2023-01-27 0:11 ` [PATCH v2 06/11] driver core: fw_devlink: Allow marking a fwnode link as being part of a cycle Saravana Kannan 2023-01-27 0:11 ` Saravana Kannan 2023-01-27 9:33 ` Andy Shevchenko 2023-01-27 9:33 ` Andy Shevchenko 2023-01-28 7:34 ` Saravana Kannan 2023-01-28 7:34 ` Saravana Kannan 2023-01-30 12:09 ` Andy Shevchenko 2023-01-30 12:09 ` Andy Shevchenko 2023-01-27 0:11 ` [PATCH v2 07/11] driver core: fw_devlink: Consolidate device link flag computation Saravana Kannan 2023-01-27 0:11 ` Saravana Kannan 2023-01-27 0:11 ` [PATCH v2 08/11] driver core: fw_devlink: Make cycle detection more robust Saravana Kannan 2023-01-27 0:11 ` Saravana Kannan 2023-01-27 9:43 ` Andy Shevchenko 2023-01-27 9:43 ` Andy Shevchenko 2023-01-27 9:52 ` Geert Uytterhoeven 2023-01-27 9:52 ` Geert Uytterhoeven 2023-01-27 10:10 ` Andy Shevchenko 2023-01-27 10:10 ` Andy Shevchenko 2023-01-27 10:29 ` Geert Uytterhoeven 2023-01-27 10:29 ` Geert Uytterhoeven 2023-01-28 7:34 ` Saravana Kannan 2023-01-28 7:34 ` Saravana Kannan 2023-01-30 12:15 ` Andy Shevchenko 2023-01-30 12:15 ` Andy Shevchenko 2023-01-30 14:36 ` Geert Uytterhoeven 2023-01-30 14:36 ` Geert Uytterhoeven 2023-01-30 15:16 ` Andy Shevchenko 2023-01-30 15:16 ` Andy Shevchenko 2023-01-27 0:11 ` [PATCH v2 09/11] of: property: Simplify of_link_to_phandle() Saravana Kannan 2023-01-27 0:11 ` Saravana Kannan 2023-01-30 14:39 ` Sakari Ailus 2023-01-30 14:39 ` Sakari Ailus 2023-01-31 3:51 ` Saravana Kannan 2023-01-31 3:51 ` Saravana Kannan 2023-01-27 0:11 ` [PATCH v2 10/11] irqchip/irq-imx-gpcv2: Mark fwnode device as not initialized Saravana Kannan 2023-01-27 0:11 ` Saravana Kannan 2023-01-27 9:51 ` Andy Shevchenko 2023-01-27 9:51 ` Andy Shevchenko 2023-01-28 7:34 ` Saravana Kannan 2023-01-28 7:34 ` Saravana Kannan 2023-01-27 0:11 ` [PATCH v2 11/11] firmware: arm_scmi: Set fwnode for the scmi_device Saravana Kannan 2023-01-27 0:11 ` Saravana Kannan 2023-01-27 9:52 ` Andy Shevchenko 2023-01-27 9:52 ` Andy Shevchenko 2023-01-27 10:48 ` Sudeep Holla 2023-01-27 10:48 ` Sudeep Holla 2023-01-27 20:30 ` [PATCH v2 00/11] fw_devlink improvements Colin Foster 2023-01-27 20:30 ` Colin Foster 2023-01-27 21:35 ` Saravana Kannan 2023-01-27 21:35 ` Saravana Kannan 2023-01-30 8:55 ` Naresh Kamboju 2023-01-30 8:55 ` Naresh Kamboju 2023-01-30 10:49 ` Marc Zyngier 2023-01-30 10:49 ` Marc Zyngier 2023-01-30 23:03 ` Saravana Kannan 2023-01-30 23:03 ` Saravana Kannan 2023-01-31 10:18 ` Sudeep Holla 2023-01-31 10:18 ` Sudeep Holla 2023-02-02 17:36 ` Maxim Kiselev 2023-02-02 17:36 ` Maxim Kiselev 2023-02-03 6:07 ` Saravana Kannan 2023-02-03 6:07 ` Saravana Kannan 2023-02-03 9:39 ` Maxim Kiselev 2023-02-03 9:39 ` Maxim Kiselev 2023-02-06 1:32 ` Saravana Kannan 2023-02-06 1:32 ` Saravana Kannan 2023-02-06 2:17 ` Saravana Kannan 2023-02-06 2:17 ` Saravana Kannan 2023-02-06 9:39 ` Miquel Raynal 2023-02-06 9:39 ` Miquel Raynal 2023-02-06 20:08 ` Saravana Kannan 2023-02-06 20:08 ` Saravana Kannan 2023-02-24 14:46 ` Miquel Raynal 2023-02-24 14:46 ` Miquel Raynal 2023-02-06 15:18 ` Rob Herring 2023-02-06 15:18 ` Rob Herring 2023-02-06 19:59 ` Saravana Kannan 2023-02-06 19:59 ` Saravana Kannan 2023-01-30 10:48 ` Miquel Raynal 2023-01-30 10:48 ` Miquel Raynal 2023-01-30 12:08 ` Maxim Kiselev 2023-01-30 12:08 ` Maxim Kiselev 2023-01-31 1:20 ` Saravana Kannan 2023-01-31 1:20 ` Saravana Kannan
Reply instructions: You may reply publicly to this message via plain-text email using any one of the following methods: * Save the following mbox file, import it into your mail client, and reply-to-all from there: mbox Avoid top-posting and favor interleaved quoting: https://en.wikipedia.org/wiki/Posting_style#Interleaved_style * Reply using the --to, --cc, and --in-reply-to switches of git-send-email(1): git send-email \ --in-reply-to=20230127001141.407071-6-saravanak@google.com \ --to=saravanak@google.com \ --cc=abel.vesa@linaro.org \ --cc=alexander.stein@ew.tq-group.com \ --cc=andriy.shevchenko@linux.intel.com \ --cc=bigunclemax@gmail.com \ --cc=brgl@bgdev.pl \ --cc=colin.foster@in-advantage.com \ --cc=cristian.marussi@arm.com \ --cc=devicetree@vger.kernel.org \ --cc=dianders@chromium.org \ --cc=djrscally@gmail.com \ --cc=dmitry.baryshkov@linaro.org \ --cc=festevam@gmail.com \ --cc=fido_max@inbox.ru \ --cc=frowand.list@gmail.com \ --cc=geert+renesas@glider.be \ --cc=geert@linux-m68k.org \ --cc=gregkh@linuxfoundation.org \ --cc=heikki.krogerus@linux.intel.com \ --cc=jpb@kernel.org \ --cc=jstultz@google.com \ --cc=kernel-team@android.com \ --cc=kernel@pengutronix.de \ --cc=lenb@kernel.org \ --cc=linus.walleij@linaro.org \ --cc=linux-acpi@vger.kernel.org \ --cc=linux-arm-kernel@lists.infradead.org \ --cc=linux-gpio@vger.kernel.org \ --cc=linux-imx@nxp.com \ --cc=linux-kernel@vger.kernel.org \ --cc=linux-renesas-soc@vger.kernel.org \ --cc=linux@roeck-us.net \ --cc=lkft@linaro.org \ --cc=luca.weiss@fairphone.com \ --cc=magnus.damm@gmail.com \ --cc=martin.kepplinger@puri.sm \ --cc=maz@kernel.org \ --cc=miquel.raynal@bootlin.com \ --cc=naresh.kamboju@linaro.org \ --cc=rafael@kernel.org \ --cc=robh+dt@kernel.org \ --cc=s.hauer@pengutronix.de \ --cc=sakari.ailus@linux.intel.com \ --cc=shawnguo@kernel.org \ --cc=sudeep.holla@arm.com \ --cc=tglx@linutronix.de \ --cc=tony@atomide.com \ /path/to/YOUR_REPLY https://kernel.org/pub/software/scm/git/docs/git-send-email.html * If your mail client supports setting the In-Reply-To header via mailto: links, try the mailto: linkBe sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes, see mirroring instructions on how to clone and mirror all data and code used by this external index.