The driver core ignores the return value of struct bus_type::remove()
because there is only little that can be done. To simplify the quest to
make this function return void, let struct ishtp_cl_driver::remove() return
void, too. All users already unconditionally return 0, this commit makes
it obvious that returning an error value is a bad idea.

Signed-off-by: Uwe Kleine-König <[email protected]>
---
 drivers/hid/intel-ish-hid/ishtp-fw-loader.c  | 4 +---
 drivers/hid/intel-ish-hid/ishtp-hid-client.c | 4 +---
 drivers/hid/intel-ish-hid/ishtp/bus.c        | 5 ++---
 drivers/platform/chrome/cros_ec_ishtp.c      | 4 +---
 include/linux/intel-ish-client-if.h          | 2 +-
 5 files changed, 6 insertions(+), 13 deletions(-)

diff --git a/drivers/hid/intel-ish-hid/ishtp-fw-loader.c 
b/drivers/hid/intel-ish-hid/ishtp-fw-loader.c
index 6cf59fd26ad7..edb0bd084c27 100644
--- a/drivers/hid/intel-ish-hid/ishtp-fw-loader.c
+++ b/drivers/hid/intel-ish-hid/ishtp-fw-loader.c
@@ -1015,7 +1015,7 @@ static int loader_ishtp_cl_probe(struct ishtp_cl_device 
*cl_device)
  *
  * Return: 0
  */
-static int loader_ishtp_cl_remove(struct ishtp_cl_device *cl_device)
+static void loader_ishtp_cl_remove(struct ishtp_cl_device *cl_device)
 {
        struct ishtp_cl_data *client_data;
        struct ishtp_cl *loader_ishtp_cl = ishtp_get_drvdata(cl_device);
@@ -1032,8 +1032,6 @@ static int loader_ishtp_cl_remove(struct ishtp_cl_device 
*cl_device)
        cancel_work_sync(&client_data->work_ishtp_reset);
        loader_deinit(loader_ishtp_cl);
        ishtp_put_device(cl_device);
-
-       return 0;
 }
 
 /**
diff --git a/drivers/hid/intel-ish-hid/ishtp-hid-client.c 
b/drivers/hid/intel-ish-hid/ishtp-hid-client.c
index 6ba944b40fdb..0f1b5283bab4 100644
--- a/drivers/hid/intel-ish-hid/ishtp-hid-client.c
+++ b/drivers/hid/intel-ish-hid/ishtp-hid-client.c
@@ -838,7 +838,7 @@ static int hid_ishtp_cl_probe(struct ishtp_cl_device 
*cl_device)
  *
  * Return: 0
  */
-static int hid_ishtp_cl_remove(struct ishtp_cl_device *cl_device)
+static void hid_ishtp_cl_remove(struct ishtp_cl_device *cl_device)
 {
        struct ishtp_cl *hid_ishtp_cl = ishtp_get_drvdata(cl_device);
        struct ishtp_cl_data *client_data = ishtp_get_client_data(hid_ishtp_cl);
@@ -856,8 +856,6 @@ static int hid_ishtp_cl_remove(struct ishtp_cl_device 
*cl_device)
        hid_ishtp_cl = NULL;
 
        client_data->num_hid_devices = 0;
-
-       return 0;
 }
 
 /**
diff --git a/drivers/hid/intel-ish-hid/ishtp/bus.c 
b/drivers/hid/intel-ish-hid/ishtp/bus.c
index 7f36ce6187a1..ffc9ce5c86ee 100644
--- a/drivers/hid/intel-ish-hid/ishtp/bus.c
+++ b/drivers/hid/intel-ish-hid/ishtp/bus.c
@@ -258,7 +258,6 @@ static int ishtp_cl_device_remove(struct device *dev)
 {
        struct ishtp_cl_device *device = to_ishtp_cl_device(dev);
        struct ishtp_cl_driver *driver = to_ishtp_cl_driver(dev->driver);
-       int ret = 0;
 
        if (device->event_cb) {
                device->event_cb = NULL;
@@ -266,9 +265,9 @@ static int ishtp_cl_device_remove(struct device *dev)
        }
 
        if (driver->remove)
-               ret = driver->remove(device);
+               driver->remove(device);
 
-       return ret;
+       return 0;
 }
 
 /**
diff --git a/drivers/platform/chrome/cros_ec_ishtp.c 
b/drivers/platform/chrome/cros_ec_ishtp.c
index 81364029af36..bd80173b33a2 100644
--- a/drivers/platform/chrome/cros_ec_ishtp.c
+++ b/drivers/platform/chrome/cros_ec_ishtp.c
@@ -707,7 +707,7 @@ static int cros_ec_ishtp_probe(struct ishtp_cl_device 
*cl_device)
  *
  * Return: 0
  */
-static int cros_ec_ishtp_remove(struct ishtp_cl_device *cl_device)
+static void cros_ec_ishtp_remove(struct ishtp_cl_device *cl_device)
 {
        struct ishtp_cl *cros_ish_cl = ishtp_get_drvdata(cl_device);
        struct ishtp_cl_data *client_data = ishtp_get_client_data(cros_ish_cl);
@@ -716,8 +716,6 @@ static int cros_ec_ishtp_remove(struct ishtp_cl_device 
*cl_device)
        cancel_work_sync(&client_data->work_ec_evt);
        cros_ish_deinit(cros_ish_cl);
        ishtp_put_device(cl_device);
-
-       return 0;
 }
 
 /**
diff --git a/include/linux/intel-ish-client-if.h 
b/include/linux/intel-ish-client-if.h
index 0d6b4bc191c5..94669e21dc8b 100644
--- a/include/linux/intel-ish-client-if.h
+++ b/include/linux/intel-ish-client-if.h
@@ -36,7 +36,7 @@ struct ishtp_cl_driver {
        const char *name;
        const guid_t *guid;
        int (*probe)(struct ishtp_cl_device *dev);
-       int (*remove)(struct ishtp_cl_device *dev);
+       void (*remove)(struct ishtp_cl_device *dev);
        int (*reset)(struct ishtp_cl_device *dev);
        const struct dev_pm_ops *pm;
 };
-- 
2.29.2

Reply via email to