diff --git a/drivers/base/platform.c b/drivers/base/platform.c
index 7109351366c80b9ef0a1c5f402089b344625179b..6cb04ac48bf0b8d7fb371273819cbc457a56d710 100644
--- a/drivers/base/platform.c
+++ b/drivers/base/platform.c
@@ -763,6 +763,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_device_put() to give up the
+ * reference initialised in this function instead.
  */
 int platform_device_register(struct platform_device *pdev)
 {