summaryrefslogtreecommitdiff
path: root/drivers/misc/mei/bus.c
diff options
context:
space:
mode:
authorUwe Kleine-König <uwe@kleine-koenig.org>2021-02-08 08:37:04 +0100
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>2021-02-09 09:30:16 +0100
commitf320ff0387a8a2d3123c4f7d6d61eecc740d0466 (patch)
tree134efcac2be9103e7a9d113d23ee702c8f8324e3 /drivers/misc/mei/bus.c
parent369aea84595189200a2e6b028f556a7efa0ec489 (diff)
downloadlwn-f320ff0387a8a2d3123c4f7d6d61eecc740d0466.tar.gz
lwn-f320ff0387a8a2d3123c4f7d6d61eecc740d0466.zip
mei: bus: simplify mei_cl_device_remove()
The driver core only calls a bus' remove function when there is actually a driver and a device. So drop the needless check and assign cldrv earlier. (Side note: The check for cldev being non-NULL is broken anyhow, because to_mei_cl_device() is a wrapper around container_of() for a member that is not the first one. So cldev only can become NULL if dev is (void *)0xc (for archs with 32 bit pointers) or (void *)0x18 (for archs with 64 bit pointers).) Signed-off-by: Uwe Kleine-König <uwe@kleine-koenig.org> Link: https://lore.kernel.org/r/20210208073705.428185-2-uwe@kleine-koenig.org Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Diffstat (limited to 'drivers/misc/mei/bus.c')
-rw-r--r--drivers/misc/mei/bus.c6
1 files changed, 1 insertions, 5 deletions
diff --git a/drivers/misc/mei/bus.c b/drivers/misc/mei/bus.c
index 34fb5e541fe5..393a41330a6b 100644
--- a/drivers/misc/mei/bus.c
+++ b/drivers/misc/mei/bus.c
@@ -880,13 +880,9 @@ static int mei_cl_device_probe(struct device *dev)
static int mei_cl_device_remove(struct device *dev)
{
struct mei_cl_device *cldev = to_mei_cl_device(dev);
- struct mei_cl_driver *cldrv;
+ struct mei_cl_driver *cldrv = to_mei_cl_driver(dev->driver);
int ret = 0;
- if (!cldev || !dev->driver)
- return 0;
-
- cldrv = to_mei_cl_driver(dev->driver);
if (cldrv->remove)
ret = cldrv->remove(cldev);