linux-leds.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* [PATCH v3 1/5] leds: led-test: Move common LED class registration code into helper function
@ 2025-05-22  8:06 Lee Jones
  2025-05-22  8:06 ` [PATCH v3 2/5] leds: led-test: Provide test for registration with missing default_label Lee Jones
                   ` (3 more replies)
  0 siblings, 4 replies; 5+ messages in thread
From: Lee Jones @ 2025-05-22  8:06 UTC (permalink / raw)
  To: lee, Pavel Machek, linux-leds, linux-kernel
  Cc: bettyzhou, ynaffit, tkjos, jacek.anaszewski

Since we will always need to register an LED class, it makes sense to
avoid duplicating this part over and over.

Returning void and not propagating errors is expected here since the
assert will terminate the process early if an error condition is
encountered.

Signed-off-by: Lee Jones <lee@kernel.org>
Reviewed-by: Jacek Anaszewski <jacek.anaszewski@gmail.com>
---
 drivers/leds/led-test.c | 20 ++++++++++++++------
 1 file changed, 14 insertions(+), 6 deletions(-)

diff --git a/drivers/leds/led-test.c b/drivers/leds/led-test.c
index ddf9aa967a6a..0f152fb12dfb 100644
--- a/drivers/leds/led-test.c
+++ b/drivers/leds/led-test.c
@@ -22,10 +22,10 @@ static enum led_brightness led_test_brightness_get(struct led_classdev *cdev)
 	return LED_TEST_POST_REG_BRIGHTNESS;
 }
 
-static void led_test_class_register(struct kunit *test)
+static void led_test_class_register_helper(struct kunit *test)
 {
 	struct led_test_ddata *ddata = test->priv;
-	struct led_classdev *cdev_clash, *cdev = &ddata->cdev;
+	struct led_classdev *cdev = &ddata->cdev;
 	struct device *dev = ddata->dev;
 	int ret;
 
@@ -36,6 +36,17 @@ static void led_test_class_register(struct kunit *test)
 
 	ret = devm_led_classdev_register(dev, cdev);
 	KUNIT_ASSERT_EQ(test, ret, 0);
+}
+
+static void led_test_class_register(struct kunit *test)
+{
+	struct led_test_ddata *ddata = test->priv;
+	struct led_classdev *cdev_clash, *cdev = &ddata->cdev;
+	struct device *dev = ddata->dev;
+	int ret;
+
+	/* Register initial device - same as always */
+	led_test_class_register_helper(test);
 
 	KUNIT_EXPECT_EQ(test, cdev->max_brightness, LED_FULL);
 	KUNIT_EXPECT_EQ(test, cdev->brightness, LED_TEST_POST_REG_BRIGHTNESS);
@@ -63,12 +74,9 @@ static void led_test_class_add_lookup_and_get(struct kunit *test)
 	struct led_classdev *cdev = &ddata->cdev, *cdev_get;
 	struct device *dev = ddata->dev;
 	struct led_lookup_data lookup;
-	int ret;
 
 	/* First, register a LED class device */
-	cdev->name = "led-test";
-	ret = devm_led_classdev_register(dev, cdev);
-	KUNIT_ASSERT_EQ(test, ret, 0);
+	led_test_class_register_helper(test);
 
 	/* Then make the LED available for lookup */
 	lookup.provider = cdev->name;
-- 
2.49.0.1143.g0be31eac6b-goog


^ permalink raw reply related	[flat|nested] 5+ messages in thread

end of thread, other threads:[~2025-05-22  8:07 UTC | newest]

Thread overview: 5+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2025-05-22  8:06 [PATCH v3 1/5] leds: led-test: Move common LED class registration code into helper function Lee Jones
2025-05-22  8:06 ` [PATCH v3 2/5] leds: led-test: Provide test for registration with missing default_label Lee Jones
2025-05-22  8:06 ` [PATCH v3 3/5] leds: led-test: Provide test for registration with missing devicename Lee Jones
2025-05-22  8:06 ` [PATCH v3 4/5] leds: led-test: Provide test for registration with a name that is too long Lee Jones
2025-05-22  8:06 ` [PATCH v3 5/5] leds: led-test: Provide test for successful registration using init_data Lee Jones

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).