OSDN Git Service

s390/ap: wire up bus->probe and bus->remove
authorJulian Wiedmann <jwi@linux.ibm.com>
Fri, 16 Apr 2021 10:46:27 +0000 (12:46 +0200)
committerVasily Gorbik <gor@linux.ibm.com>
Mon, 7 Jun 2021 15:06:59 +0000 (17:06 +0200)
Hijacking the device_driver's probe/remove callbacks for purely
bus-internal logic is a very unconvential construct. Instead just set
up our callbacks in the AP bus struct, and really_probe() will call them
in the same way as before.

Signed-off-by: Julian Wiedmann <jwi@linux.ibm.com>
Reviewed-by: Harald Freudenberger <freude@linux.ibm.com>
Signed-off-by: Vasily Gorbik <gor@linux.ibm.com>
drivers/s390/crypto/ap_bus.c

index 2758d05..868ff02 100644 (file)
@@ -885,8 +885,6 @@ int ap_driver_register(struct ap_driver *ap_drv, struct module *owner,
        struct device_driver *drv = &ap_drv->driver;
 
        drv->bus = &ap_bus_type;
-       drv->probe = ap_device_probe;
-       drv->remove = ap_device_remove;
        drv->owner = owner;
        drv->name = name;
        return driver_register(drv);
@@ -1319,6 +1317,8 @@ static struct bus_type ap_bus_type = {
        .bus_groups = ap_bus_groups,
        .match = &ap_bus_match,
        .uevent = &ap_uevent,
+       .probe = ap_device_probe,
+       .remove = ap_device_remove,
 };
 
 /**