@@ -139,12 +139,29 @@ static void led_test_class_init_data_name_too_long(struct kunit *test)
KUNIT_EXPECT_EQ(test, ret, -E2BIG);
}
+static void led_test_class_init_data(struct kunit *test)
+{
+ struct led_test_ddata *ddata = test->priv;
+ struct led_classdev *cdev = &ddata->cdev;
+ struct device *dev = ddata->dev;
+ int ret;
+
+ struct led_init_data init_data = {
+ .devicename = "led-test-devicename",
+ .default_label = "led-test-label",
+ };
+
+ ret = led_classdev_register_ext(dev, cdev, &init_data);
+ KUNIT_EXPECT_EQ(test, ret, 0);
+}
+
static struct kunit_case led_test_cases[] = {
KUNIT_CASE(led_test_class_register),
KUNIT_CASE(led_test_class_add_lookup_and_get),
KUNIT_CASE(led_test_class_init_data_missing_default_label),
KUNIT_CASE(led_test_class_init_data_missing_devicename),
KUNIT_CASE(led_test_class_init_data_name_too_long),
+ KUNIT_CASE(led_test_class_init_data),
{ }
};
This time both the default_label and devicename are provided such that when concatenated together result in a device name that is acceptable. In this case registration should succeed. Signed-off-by: Lee Jones <lee@kernel.org> --- drivers/leds/led-test.c | 17 +++++++++++++++++ 1 file changed, 17 insertions(+)