summaryrefslogtreecommitdiff
path: root/include/linux/platform_device.h
diff options
context:
space:
mode:
authorJerome Brunet <jbrunet@baylibre.com>2024-07-29 16:32:02 +0200
committerJerome Brunet <jbrunet@baylibre.com>2024-07-29 16:32:02 +0200
commit66e72a01b60ae6950ddbb3585fdc1424d303e14b (patch)
tree05789274ef25cb5d08b99d1797e7760047469685 /include/linux/platform_device.h
parent3d0e8b6edd6b08f72e07e1230f371f6ca93531e4 (diff)
parent8400291e289ee6b2bf9779ff1c83a291501f017b (diff)
Merge tag 'v6.11-rc1' into clk-meson-next
Linux 6.11-rc1
Diffstat (limited to 'include/linux/platform_device.h')
-rw-r--r--include/linux/platform_device.h15
1 files changed, 7 insertions, 8 deletions
diff --git a/include/linux/platform_device.h b/include/linux/platform_device.h
index 7a41c72c1959..d422db6eec63 100644
--- a/include/linux/platform_device.h
+++ b/include/linux/platform_device.h
@@ -237,15 +237,14 @@ struct platform_driver {
int (*probe)(struct platform_device *);
/*
- * Traditionally the remove callback returned an int which however is
- * ignored by the driver core. This led to wrong expectations by driver
- * authors who thought returning an error code was a valid error
- * handling strategy. To convert to a callback returning void, new
- * drivers should implement .remove_new() until the conversion it done
- * that eventually makes .remove() return void.
+ * .remove_new() is a relic from a prototype conversion of .remove().
+ * New drivers are supposed to implement .remove(). Once all drivers are
+ * converted to not use .remove_new any more, it will be dropped.
*/
- int (*remove)(struct platform_device *);
- void (*remove_new)(struct platform_device *);
+ union {
+ void (*remove)(struct platform_device *);
+ void (*remove_new)(struct platform_device *);
+ };
void (*shutdown)(struct platform_device *);
int (*suspend)(struct platform_device *, pm_message_t state);