/* Register again with the same name - expect it to pass with the LED renamed */
cdev_clash = devm_kmemdup(dev, cdev, sizeof(*cdev), GFP_KERNEL);
KUNIT_ASSERT_NOT_ERR_OR_NULL(test, cdev_clash);
ret = devm_led_classdev_register(dev, cdev_clash);
KUNIT_ASSERT_EQ(test, ret, 0);
/* Enable name conflict rejection and register with the same name again - expect failure */
cdev_clash->flags |= LED_REJECT_NAME_CONFLICT;
ret = devm_led_classdev_register(dev, cdev_clash);
KUNIT_EXPECT_EQ(test, ret, -EEXIST);
}
/* First, register a LED class device */
cdev->name = "led-test";
ret = devm_led_classdev_register(dev, cdev);
KUNIT_ASSERT_EQ(test, ret, 0);
/* Then make the LED available for lookup */
lookup.provider = cdev->name;
lookup.dev_id = dev_name(dev);
lookup.con_id = "led-test-1";
led_add_lookup(&lookup);
/* Finally, attempt to look it up via the API - imagine this was an orthogonal driver */
cdev_get = devm_led_get(dev, "led-test-1");
KUNIT_ASSERT_FALSE(test, IS_ERR(cdev_get));
Die Informationen auf dieser Webseite wurden
nach bestem Wissen sorgfältig zusammengestellt. Es wird jedoch weder Vollständigkeit, noch Richtigkeit,
noch Qualität der bereit gestellten Informationen zugesichert.
Bemerkung:
Die farbliche Syntaxdarstellung und die Messung sind noch experimentell.