[PATCH 1/2] gpio: kunit: shrink initialization code
From: Bartosz Golaszewski
Date: Wed Jun 10 2026 - 09:36:44 EST
We always start the swnode lookup test cases by registering the provider
and consumer drivers. Factor it out into a common function and use the
.init() callback of the kunit suite struct.
Signed-off-by: Bartosz Golaszewski <bartosz.golaszewski@xxxxxxxxxxxxxxxx>
---
drivers/gpio/gpiolib-kunit.c | 26 +++++++++++++-------------
1 file changed, 13 insertions(+), 13 deletions(-)
diff --git a/drivers/gpio/gpiolib-kunit.c b/drivers/gpio/gpiolib-kunit.c
index 380b68f879e55433668353bb88067d561142a5bc..d6a80ea0354365a0050d7910d2286d6028c87b19 100644
--- a/drivers/gpio/gpiolib-kunit.c
+++ b/drivers/gpio/gpiolib-kunit.c
@@ -91,13 +91,8 @@ static struct platform_driver gpio_swnode_consumer_driver = {
},
};
-static void gpio_swnode_lookup_by_primary(struct kunit *test)
+static int gpio_swnode_register_drivers(struct kunit *test)
{
- struct gpio_swnode_consumer_pdata *pdata;
- struct platform_device_info pdevinfo;
- struct property_entry properties[2];
- struct platform_device *pdev;
- bool bound = false;
int ret;
ret = kunit_platform_driver_register(test, &gpio_test_provider_driver);
@@ -106,6 +101,17 @@ static void gpio_swnode_lookup_by_primary(struct kunit *test)
ret = kunit_platform_driver_register(test, &gpio_swnode_consumer_driver);
KUNIT_ASSERT_EQ(test, ret, 0);
+ return 0;
+}
+
+static void gpio_swnode_lookup_by_primary(struct kunit *test)
+{
+ struct gpio_swnode_consumer_pdata *pdata;
+ struct platform_device_info pdevinfo;
+ struct property_entry properties[2];
+ struct platform_device *pdev;
+ bool bound = false;
+
pdevinfo = (struct platform_device_info){
.name = GPIO_TEST_PROVIDER,
.id = PLATFORM_DEVID_NONE,
@@ -149,7 +155,6 @@ static void gpio_swnode_lookup_by_secondary(struct kunit *test)
struct fwnode_handle *primary;
struct platform_device *pdev;
bool bound = false;
- int ret;
/*
* Can't live on the stack as it will still get referenced in cleanup
@@ -158,12 +163,6 @@ static void gpio_swnode_lookup_by_secondary(struct kunit *test)
primary = kunit_kzalloc(test, sizeof(*primary), GFP_KERNEL);
KUNIT_ASSERT_NOT_ERR_OR_NULL(test, primary);
- ret = kunit_platform_driver_register(test, &gpio_test_provider_driver);
- KUNIT_ASSERT_EQ(test, ret, 0);
-
- ret = kunit_platform_driver_register(test, &gpio_swnode_consumer_driver);
- KUNIT_ASSERT_EQ(test, ret, 0);
-
fwnode_init(primary, NULL);
pdevinfo = (struct platform_device_info){
@@ -211,6 +210,7 @@ static struct kunit_case gpio_swnode_lookup_tests[] = {
static struct kunit_suite gpio_swnode_lookup_test_suite = {
.name = "gpio-swnode-lookup",
.test_cases = gpio_swnode_lookup_tests,
+ .init = gpio_swnode_register_drivers,
};
static BLOCKING_NOTIFIER_HEAD(gpio_unbind_notifier);
--
2.47.3