return 0;
}
-const struct bus_type sdw_bus_type = {
- .name = "soundwire",
- .match = sdw_bus_match,
-};
-EXPORT_SYMBOL_GPL(sdw_bus_type);
-
-static int sdw_drv_probe(struct device *dev)
+static int sdw_bus_probe(struct device *dev)
{
struct sdw_slave *slave = dev_to_sdw_dev(dev);
struct sdw_driver *drv = drv_to_sdw_driver(dev->driver);
return 0;
}
-static int sdw_drv_remove(struct device *dev)
+static void sdw_bus_remove(struct device *dev)
{
struct sdw_slave *slave = dev_to_sdw_dev(dev);
struct sdw_driver *drv = drv_to_sdw_driver(dev->driver);
drv->remove(slave);
ida_free(&slave->bus->slave_ida, slave->index);
-
- return 0;
}
-static void sdw_drv_shutdown(struct device *dev)
+static void sdw_bus_shutdown(struct device *dev)
{
struct sdw_slave *slave = dev_to_sdw_dev(dev);
struct sdw_driver *drv = drv_to_sdw_driver(dev->driver);
- if (drv->shutdown)
+ if (dev->driver && drv->shutdown)
drv->shutdown(slave);
}
+const struct bus_type sdw_bus_type = {
+ .name = "soundwire",
+ .match = sdw_bus_match,
+ .probe = sdw_bus_probe,
+ .remove = sdw_bus_remove,
+ .shutdown = sdw_bus_shutdown,
+};
+EXPORT_SYMBOL_GPL(sdw_bus_type);
+
/**
* __sdw_register_driver() - register a SoundWire Slave driver
* @drv: driver to register
}
drv->driver.owner = owner;
- drv->driver.probe = sdw_drv_probe;
- drv->driver.remove = sdw_drv_remove;
- drv->driver.shutdown = sdw_drv_shutdown;
drv->driver.dev_groups = sdw_attr_groups;
return driver_register(&drv->driver);