Le 22/05/2026 à 9:42 PM, Bartosz Golaszewski a écrit : > Provide a kunit-managed variant of platform_device_register_full(). > > Signed-off-by: Bartosz Golaszewski <[email protected]> > ---
Thanks! This looks good to me. Reviewed-by: David Gow <[email protected]> Cheers, -- David > include/kunit/platform_device.h | 4 ++++ > lib/kunit/platform.c | 31 +++++++++++++++++++++++++++++++ > 2 files changed, 35 insertions(+) > > diff --git a/include/kunit/platform_device.h b/include/kunit/platform_device.h > index > f8236a8536f7ebcee6b0e00a7bd799a14b345c1b..8cad6e1c3e7efba862862b579089f2f317784a73 > 100644 > --- a/include/kunit/platform_device.h > +++ b/include/kunit/platform_device.h > @@ -6,10 +6,14 @@ struct completion; > struct kunit; > struct platform_device; > struct platform_driver; > +struct platform_device_info; > > struct platform_device * > kunit_platform_device_alloc(struct kunit *test, const char *name, int id); > int kunit_platform_device_add(struct kunit *test, struct platform_device > *pdev); > +struct platform_device * > +kunit_platform_device_register_full(struct kunit *test, > + const struct platform_device_info > *pdevinfo); > > int kunit_platform_device_prepare_wait_for_probe(struct kunit *test, > struct platform_device *pdev, > diff --git a/lib/kunit/platform.c b/lib/kunit/platform.c > index > 0b518de26065d65dac3bd49dd94a4b3e7ea0634b..583b50b538c79599ebbf33e261fe2e9ced35efa9 > 100644 > --- a/lib/kunit/platform.c > +++ b/lib/kunit/platform.c > @@ -6,6 +6,7 @@ > #include <linux/completion.h> > #include <linux/device/bus.h> > #include <linux/device/driver.h> > +#include <linux/err.h> > #include <linux/platform_device.h> > > #include <kunit/platform_device.h> > @@ -130,6 +131,36 @@ int kunit_platform_device_add(struct kunit *test, struct > platform_device *pdev) > } > EXPORT_SYMBOL_GPL(kunit_platform_device_add); > > +/** > + * kunit_platform_device_register_full() - Register a KUnit test-managed > platform > + * device described by platform > device info > + * @test: test context > + * @pdevinfo: platform device information describing the new device > + * > + * Register a test-managed platform device. The device is unregistered when > the > + * test completes. > + * > + * Return: New platform device on success, IS_ERR() on error. > + */ > +struct platform_device * > +kunit_platform_device_register_full(struct kunit *test, > + const struct platform_device_info *pdevinfo) > +{ > + struct platform_device *pdev; > + int ret; > + > + pdev = platform_device_register_full(pdevinfo); > + if (IS_ERR(pdev)) > + return pdev; > + > + ret = kunit_add_action_or_reset(test, > platform_device_unregister_wrapper, pdev); > + if (ret) > + return ERR_PTR(ret); > + > + return pdev; > +} > +EXPORT_SYMBOL_GPL(kunit_platform_device_register_full); > + > struct kunit_platform_device_probe_nb { > struct completion *x; > struct device *dev; >

