Revert "platform: Provide a remove callback that returns no value"

This reverts commit d18789f434 which is
commit 5c5a7680e67ba6fbbb5f4d79fa41485450c1985c upstream.

It breaks the Android ABI and is not really needed for this branch at
all, so it can be safely reverted.

Bug: 161946584
Change-Id: I0546f81b6ad24145f4f984676064850728282cc3
Signed-off-by: Greg Kroah-Hartman <gregkh@google.com>
This commit is contained in:
Greg Kroah-Hartman
2023-06-23 14:00:17 +00:00
parent e776ba0959
commit 38718fb3c1
2 changed files with 1 additions and 14 deletions

View File

@@ -1427,9 +1427,7 @@ static void platform_remove(struct device *_dev)
struct platform_driver *drv = to_platform_driver(_dev->driver);
struct platform_device *dev = to_platform_device(_dev);
if (drv->remove_new) {
drv->remove_new(dev);
} else if (drv->remove) {
if (drv->remove) {
int ret = drv->remove(dev);
if (ret)

View File

@@ -209,18 +209,7 @@ extern void platform_device_put(struct platform_device *pdev);
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.
*/
int (*remove)(struct platform_device *);
void (*remove_new)(struct platform_device *);
void (*shutdown)(struct platform_device *);
int (*suspend)(struct platform_device *, pm_message_t state);
int (*resume)(struct platform_device *);