[<prev] [next>] [thread-next>] [day] [month] [year] [list]
Message-Id: <20211222085229.11657-1-johan@kernel.org>
Date: Wed, 22 Dec 2021 09:52:29 +0100
From: Johan Hovold <johan@...nel.org>
To: Greg Kroah-Hartman <gregkh@...uxfoundation.org>
Cc: Rafał Miłecki <zajec5@...il.com>,
linux-kernel@...r.kernel.org, Johan Hovold <johan@...nel.org>
Subject: [PATCH] driver core: platform: document registration-failure requirement
Add an explicit comment to document that the reference initialised by
platform_device_register() needs to be released by a call to
platform_device_put() also when registration fails (cf.
device_register()).
Signed-off-by: Johan Hovold <johan@...nel.org>
---
drivers/base/platform.c | 4 ++++
1 file changed, 4 insertions(+)
diff --git a/drivers/base/platform.c b/drivers/base/platform.c
index 598acf93a360..38fdcbdba4a4 100644
--- a/drivers/base/platform.c
+++ b/drivers/base/platform.c
@@ -762,6 +762,10 @@ EXPORT_SYMBOL_GPL(platform_device_del);
/**
* platform_device_register - add a platform-level device
* @pdev: platform device we're adding
+ *
+ * NOTE: _Never_ directly free @pdev after calling this function, even if it
+ * returned an error! Always use platform_put_device() to give up the
+ * reference initialised in this function instead.
*/
int platform_device_register(struct platform_device *pdev)
{
--
2.32.0
Powered by blists - more mailing lists