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;
> 


Reply via email to