return strcmp(dev_name(dev), drv->name) == 0;
 }
 
-static int host1x_device_probe(struct device *dev)
-{
-       struct host1x_driver *driver = to_host1x_driver(dev->driver);
-       struct host1x_device *device = to_host1x_device(dev);
-
-       if (driver->probe)
-               return driver->probe(device);
-
-       return 0;
-}
-
-static int host1x_device_remove(struct device *dev)
-{
-       struct host1x_driver *driver = to_host1x_driver(dev->driver);
-       struct host1x_device *device = to_host1x_device(dev);
-
-       if (driver->remove)
-               return driver->remove(device);
-
-       return 0;
-}
-
-static void host1x_device_shutdown(struct device *dev)
-{
-       struct host1x_driver *driver = to_host1x_driver(dev->driver);
-       struct host1x_device *device = to_host1x_device(dev);
-
-       if (driver->shutdown)
-               driver->shutdown(device);
-}
-
 static const struct dev_pm_ops host1x_device_pm_ops = {
        .suspend = pm_generic_suspend,
        .resume = pm_generic_resume,
 struct bus_type host1x_bus_type = {
        .name = "host1x",
        .match = host1x_device_match,
-       .probe = host1x_device_probe,
-       .remove = host1x_device_remove,
-       .shutdown = host1x_device_shutdown,
        .pm = &host1x_device_pm_ops,
 };
 
        return 0;
 }
 
+static int host1x_device_probe(struct device *dev)
+{
+       struct host1x_driver *driver = to_host1x_driver(dev->driver);
+       struct host1x_device *device = to_host1x_device(dev);
+
+       if (driver->probe)
+               return driver->probe(device);
+
+       return 0;
+}
+
+static int host1x_device_remove(struct device *dev)
+{
+       struct host1x_driver *driver = to_host1x_driver(dev->driver);
+       struct host1x_device *device = to_host1x_device(dev);
+
+       if (driver->remove)
+               return driver->remove(device);
+
+       return 0;
+}
+
+static void host1x_device_shutdown(struct device *dev)
+{
+       struct host1x_driver *driver = to_host1x_driver(dev->driver);
+       struct host1x_device *device = to_host1x_device(dev);
+
+       if (driver->shutdown)
+               driver->shutdown(device);
+}
+
 int host1x_driver_register_full(struct host1x_driver *driver,
                                struct module *owner)
 {
 
        driver->driver.bus = &host1x_bus_type;
        driver->driver.owner = owner;
+       driver->driver.probe = host1x_device_probe;
+       driver->driver.remove = host1x_device_remove;
+       driver->driver.shutdown = host1x_device_shutdown;
 
        return driver_register(&driver->driver);
 }