[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <20250610114029.268938-2-tobias.junghans@inhub.de>
Date: Tue, 10 Jun 2025 13:40:19 +0200
From: Tobias Junghans <tobias.junghans@...ub.de>
To: Lee Jones <lee@...nel.org>,
Andrew Lunn <andrew@...n.ch>,
linux-leds@...r.kernel.org,
netdev@...r.kernel.org
Cc: Tobias Junghans <tobias.junghans@...ub.de>
Subject: [PATCH 1/2] leds: trigger: netdev: separate event checks
Move event handling checks into a separate function to ease subsequent
refactorings of the actual logic.
Signed-off-by: Tobias Junghans <tobias.junghans@...ub.de>
---
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
Powered by blists - more mailing lists