Thread (6 messages) 6 messages, 3 authors, 2025-06-19
STALE392d

[PATCH 1/2] leds: trigger: netdev: separate event checks

From: Tobias Junghans <hidden>
Date: 2025-06-10 11:43:54
Also in: linux-leds
Subsystem: led subsystem, the rest · Maintainers: Lee Jones, Pavel Machek, Linus Torvalds

Move event handling checks into a separate function to ease subsequent
refactorings of the actual logic.

Signed-off-by: Tobias Junghans <redacted>
---
 drivers/leds/trigger/ledtrig-netdev.c | 25 +++++++++++++++++--------
 1 file changed, 17 insertions(+), 8 deletions(-)
diff --git a/drivers/leds/trigger/ledtrig-netdev.c b/drivers/leds/trigger/ledtrig-netdev.c
index 4e048e08c4fd..6e16619719fe 100644
--- a/drivers/leds/trigger/ledtrig-netdev.c
+++ b/drivers/leds/trigger/ledtrig-netdev.c
@@ -575,6 +575,22 @@ static const struct attribute_group *netdev_trig_groups[] = {
 	NULL,
 };
 
+static bool netdev_event_requires_handling(unsigned long evt, struct net_device *dev,
+					   struct led_netdev_data *trigger_data)
+{
+	if (evt != NETDEV_UP && evt != NETDEV_DOWN && evt != NETDEV_CHANGE
+	    && evt != NETDEV_REGISTER && evt != NETDEV_UNREGISTER
+	    && evt != NETDEV_CHANGENAME)
+		return false;
+
+	if (!(dev == trigger_data->net_dev ||
+	     (evt == NETDEV_CHANGENAME && !strcmp(dev->name, trigger_data->device_name)) ||
+	     (evt == NETDEV_REGISTER && !strcmp(dev->name, trigger_data->device_name))))
+		return false;
+
+	return true;
+}
+
 static int netdev_trig_notify(struct notifier_block *nb,
 			      unsigned long evt, void *dv)
 {
@@ -584,14 +600,7 @@ static int netdev_trig_notify(struct notifier_block *nb,
 		container_of(nb, struct led_netdev_data, notifier);
 	struct led_classdev *led_cdev = trigger_data->led_cdev;
 
-	if (evt != NETDEV_UP && evt != NETDEV_DOWN && evt != NETDEV_CHANGE
-	    && evt != NETDEV_REGISTER && evt != NETDEV_UNREGISTER
-	    && evt != NETDEV_CHANGENAME)
-		return NOTIFY_DONE;
-
-	if (!(dev == trigger_data->net_dev ||
-	      (evt == NETDEV_CHANGENAME && !strcmp(dev->name, trigger_data->device_name)) ||
-	      (evt == NETDEV_REGISTER && !strcmp(dev->name, trigger_data->device_name))))
+	if (!netdev_event_requires_handling(evt, dev, trigger_data))
 		return NOTIFY_DONE;
 
 	cancel_delayed_work_sync(&trigger_data->work);
-- 
2.43.0
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help