]> git.ipfire.org Git - thirdparty/linux.git/commitdiff
bus: mhi: host: Use bus callbacks for .probe() and .remove()
authorUwe Kleine-König <u.kleine-koenig@baylibre.com>
Thu, 18 Dec 2025 20:42:15 +0000 (21:42 +0100)
committerManivannan Sadhasivam <manivannan.sadhasivam@oss.qualcomm.com>
Wed, 31 Dec 2025 10:57:13 +0000 (16:27 +0530)
These are nearly identical to the driver callbacks, the only relevant
difference is that the bus remove method returns void (instead of an int
where the value is ignored).

The objective is to get rid of users of struct device_driver callbacks
.probe(), and .remove() to eventually remove these.

Signed-off-by: Uwe Kleine-König <u.kleine-koenig@baylibre.com>
Signed-off-by: Manivannan Sadhasivam <manivannan.sadhasivam@oss.qualcomm.com>
Link: https://patch.msgid.link/e8032b3c2a8953a4a2b84dfa79a260c35f1d71b7.1766090211.git.ukleinek@kernel.org
drivers/bus/mhi/host/init.c

index b020a6489c072d0bff999746f1fcc55211144f31..c47f66833cdaba7aa195d3e044059d76b83b6142 100644 (file)
@@ -1255,7 +1255,7 @@ struct mhi_device *mhi_alloc_device(struct mhi_controller *mhi_cntrl)
        return mhi_dev;
 }
 
-static int mhi_driver_probe(struct device *dev)
+static int mhi_probe(struct device *dev)
 {
        struct mhi_device *mhi_dev = to_mhi_device(dev);
        struct mhi_controller *mhi_cntrl = mhi_dev->mhi_cntrl;
@@ -1331,7 +1331,7 @@ exit_probe:
        return ret;
 }
 
-static int mhi_driver_remove(struct device *dev)
+static void mhi_remove(struct device *dev)
 {
        struct mhi_device *mhi_dev = to_mhi_device(dev);
        struct mhi_driver *mhi_drv = to_mhi_driver(dev->driver);
@@ -1345,7 +1345,7 @@ static int mhi_driver_remove(struct device *dev)
 
        /* Skip if it is a controller device */
        if (mhi_dev->dev_type == MHI_DEVICE_CONTROLLER)
-               return 0;
+               return;
 
        /* Reset both channels */
        for (dir = 0; dir < 2; dir++) {
@@ -1397,8 +1397,6 @@ static int mhi_driver_remove(struct device *dev)
 
        while (mhi_dev->dev_wake)
                mhi_device_put(mhi_dev);
-
-       return 0;
 }
 
 int __mhi_driver_register(struct mhi_driver *mhi_drv, struct module *owner)
@@ -1410,8 +1408,6 @@ int __mhi_driver_register(struct mhi_driver *mhi_drv, struct module *owner)
 
        driver->bus = &mhi_bus_type;
        driver->owner = owner;
-       driver->probe = mhi_driver_probe;
-       driver->remove = mhi_driver_remove;
 
        return driver_register(driver);
 }
@@ -1458,6 +1454,8 @@ const struct bus_type mhi_bus_type = {
        .dev_name = "mhi",
        .match = mhi_match,
        .uevent = mhi_uevent,
+       .probe = mhi_probe,
+       .remove = mhi_remove,
        .dev_groups = mhi_dev_groups,
 };