2
0

818-v6.5-06-leds-trigger-netdev-add-basic-check-for-hw-control-s.patch 1.3 KB

123456789101112131415161718192021222324252627282930313233343536373839404142
  1. From 6352f25f9fadba59d5df2ba7139495759ccc81d5 Mon Sep 17 00:00:00 2001
  2. From: Christian Marangi <[email protected]>
  3. Date: Mon, 29 May 2023 18:32:36 +0200
  4. Subject: [PATCH 06/13] leds: trigger: netdev: add basic check for hw control
  5. support
  6. Add basic check for hw control support. Check if the required API are
  7. defined and check if the defined trigger supported in hw control for the
  8. LED driver match netdev.
  9. Signed-off-by: Christian Marangi <[email protected]>
  10. Reviewed-by: Andrew Lunn <[email protected]>
  11. Signed-off-by: David S. Miller <[email protected]>
  12. ---
  13. drivers/leds/trigger/ledtrig-netdev.c | 14 ++++++++++++++
  14. 1 file changed, 14 insertions(+)
  15. --- a/drivers/leds/trigger/ledtrig-netdev.c
  16. +++ b/drivers/leds/trigger/ledtrig-netdev.c
  17. @@ -92,8 +92,22 @@ static void set_baseline_state(struct le
  18. }
  19. }
  20. +static bool supports_hw_control(struct led_classdev *led_cdev)
  21. +{
  22. + if (!led_cdev->hw_control_get || !led_cdev->hw_control_set ||
  23. + !led_cdev->hw_control_is_supported)
  24. + return false;
  25. +
  26. + return !strcmp(led_cdev->hw_control_trigger, led_cdev->trigger->name);
  27. +}
  28. +
  29. static bool can_hw_control(struct led_netdev_data *trigger_data)
  30. {
  31. + struct led_classdev *led_cdev = trigger_data->led_cdev;
  32. +
  33. + if (!supports_hw_control(led_cdev))
  34. + return false;
  35. +
  36. return false;
  37. }