Re: [PATCH 07/33] platform: Define platform_device_put cleanup handler

Jonathan Cameron
2025-11-10T16:07:10Z

On Fri, 7 Nov 2025 12:34:24 +0000
Ben Horgan <ben.horgan@arm.com> wrote:

> Define a cleanup helper for use with __free to destroy platform devices
> automatically when the pointer goes out of scope. This is only intended to
> be used in error cases and so should be used with return_ptr() or
> no_free_ptr() directly to avoid the automatic destruction on success.
>
> A first use of this is introduced in a subsequent commit.
>
> Signed-off-by: Ben Horgan <ben.horgan@arm.com>

I'm fine with this but probably needs a tag from Greg KH.

Reviewed-by: Jonathan Cameron <jonathan.cameron@huawei.com>

> ---
> include/linux/platform_device.h | 1 +
> 1 file changed, 1 insertion(+)
>
> diff --git a/include/linux/platform_device.h b/include/linux/platform_device.h
> index 074754c23d33..23a30ada2d4c 100644
> --- a/include/linux/platform_device.h
> +++ b/include/linux/platform_device.h
> @@ -232,6 +232,7 @@ extern int platform_device_add_data(struct platform_device *pdev,
> extern int platform_device_add(struct platform_device *pdev);
> extern void platform_device_del(struct platform_device *pdev);
> extern void platform_device_put(struct platform_device *pdev);
> +DEFINE_FREE(platform_device_put, struct platform_device *, if (_T) platform_device_put(_T))
>
> struct platform_driver {
> int (*probe)(struct platform_device *);