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>
        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);
        .bus_groups = ap_bus_groups,
        .match = &ap_bus_match,
        .uevent = &ap_uevent,
+       .probe = ap_device_probe,
+       .remove = ap_device_remove,
 };
 
 /**