soc: qcom: apr: Drop redundant check in .remove()
authorUwe Kleine-König <u.kleine-koenig@pengutronix.de>
Sat, 18 Jun 2022 20:39:13 +0000 (22:39 +0200)
committerBjorn Andersson <bjorn.andersson@linaro.org>
Sun, 26 Jun 2022 03:01:02 +0000 (22:01 -0500)
The remove callback is only called by the driver core if there is a
driver to unbind, so there is no need to check dev->driver to be
non-NULL.

Signed-off-by: Uwe Kleine-König <u.kleine-koenig@pengutronix.de>
Signed-off-by: Bjorn Andersson <bjorn.andersson@linaro.org>
Link: https://lore.kernel.org/r/20220618203913.35785-1-u.kleine-koenig@pengutronix.de
drivers/soc/qcom/apr.c

index 3caabd8..b4046f3 100644 (file)
@@ -377,17 +377,14 @@ static int apr_device_probe(struct device *dev)
 static void apr_device_remove(struct device *dev)
 {
        struct apr_device *adev = to_apr_device(dev);
-       struct apr_driver *adrv;
+       struct apr_driver *adrv = to_apr_driver(dev->driver);
        struct packet_router *apr = dev_get_drvdata(adev->dev.parent);
 
-       if (dev->driver) {
-               adrv = to_apr_driver(dev->driver);
-               if (adrv->remove)
-                       adrv->remove(adev);
-               spin_lock(&apr->svcs_lock);
-               idr_remove(&apr->svcs_idr, adev->svc.id);
-               spin_unlock(&apr->svcs_lock);
-       }
+       if (adrv->remove)
+               adrv->remove(adev);
+       spin_lock(&apr->svcs_lock);
+       idr_remove(&apr->svcs_idr, adev->svc.id);
+       spin_unlock(&apr->svcs_lock);
 }
 
 static int apr_uevent(struct device *dev, struct kobj_uevent_env *env)