return 0;
 }
 
-static struct device sh_bus_devices[SH_NR_BUSES] = {
-       {
-               .bus_id         = SH_BUS_NAME_VIRT,
-       },
-};
-
-struct bus_type sh_bus_types[SH_NR_BUSES] = {
-       {
-               .name           = SH_BUS_NAME_VIRT,
-               .match          = sh_bus_match,
-               .suspend        = sh_bus_suspend,
-               .resume         = sh_bus_resume,
-       },
-};
-
 static int sh_device_probe(struct device *dev)
 {
        struct sh_dev *shdev = to_sh_dev(dev);
        return 0;
 }
 
+static struct device sh_bus_devices[SH_NR_BUSES] = {
+       {
+               .bus_id         = SH_BUS_NAME_VIRT,
+       },
+};
+
+struct bus_type sh_bus_types[SH_NR_BUSES] = {
+       {
+               .name           = SH_BUS_NAME_VIRT,
+               .match          = sh_bus_match,
+               .probe          = sh_bus_probe,
+               .remove         = sh_bus_remove,
+               .suspend        = sh_bus_suspend,
+               .resume         = sh_bus_resume,
+       },
+};
+
 int sh_device_register(struct sh_dev *dev)
 {
        if (!dev)
                return -EINVAL;
        }
 
-       drv->drv.probe  = sh_device_probe;
-       drv->drv.remove = sh_device_remove;
        drv->drv.bus    = &sh_bus_types[drv->bus_id];
 
        return driver_register(&drv->drv);