summaryrefslogtreecommitdiff
path: root/drivers/hid
diff options
context:
space:
mode:
authorUwe Kleine-König <uwe@kleine-koenig.org>2021-02-06 18:13:47 +0300
committerJiri Kosina <jkosina@suse.cz>2021-03-08 19:16:03 +0300
commit7c746603b5c58939ec823cff5dca3894cc3afb3b (patch)
treeced8f2457a2539137d6924b6d9d6492550fe6afe /drivers/hid
parent464956f75e9e26bcbbcbef435213e8f5fa854d07 (diff)
downloadlinux-7c746603b5c58939ec823cff5dca3894cc3afb3b.tar.xz
HID: intel-ish-hid: Simplify logic in ishtp_cl_device_remove()
There is only a single change in behavior: Now dev->driver isn't modified. Assigning to this variable is in the domain of the driver core only. (And it's done in __device_release_driver shortly after bus->remove() (i.e ishtp_cl_device_remove() here) returns.) Signed-off-by: Uwe Kleine-König <uwe@kleine-koenig.org> Acked-by: Srinivas Pandruvada <srinivas.pandruvada@linux.intel.com> Signed-off-by: Jiri Kosina <jkosina@suse.cz>
Diffstat (limited to 'drivers/hid')
-rw-r--r--drivers/hid/intel-ish-hid/ishtp/bus.c10
1 files changed, 4 insertions, 6 deletions
diff --git a/drivers/hid/intel-ish-hid/ishtp/bus.c b/drivers/hid/intel-ish-hid/ishtp/bus.c
index ccd54f244503..7f36ce6187a1 100644
--- a/drivers/hid/intel-ish-hid/ishtp/bus.c
+++ b/drivers/hid/intel-ish-hid/ishtp/bus.c
@@ -258,19 +258,17 @@ 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;
cancel_work_sync(&device->event_work);
}
- if (!driver->remove) {
- dev->driver = NULL;
+ if (driver->remove)
+ ret = driver->remove(device);
- return 0;
- }
-
- return driver->remove(device);
+ return ret;
}
/**