diff options
Diffstat (limited to 'drivers/mcb/mcb-core.c')
-rw-r--r-- | drivers/mcb/mcb-core.c | 7 |
1 files changed, 4 insertions, 3 deletions
diff --git a/drivers/mcb/mcb-core.c b/drivers/mcb/mcb-core.c index 0cac5bead84f..ba4530459de8 100644 --- a/drivers/mcb/mcb-core.c +++ b/drivers/mcb/mcb-core.c @@ -246,6 +246,7 @@ int mcb_device_register(struct mcb_bus *bus, struct mcb_device *dev) return 0; out: + put_device(&dev->dev); return ret; } @@ -288,7 +289,7 @@ struct mcb_bus *mcb_alloc_bus(struct device *carrier) bus->dev.parent = carrier; bus->dev.bus = &mcb_bus_type; bus->dev.type = &mcb_carrier_device_type; - bus->dev.release = &mcb_free_bus; + bus->dev.release = mcb_free_bus; dev_set_name(&bus->dev, "mcb:%d", bus_nr); rc = device_add(&bus->dev); @@ -311,7 +312,7 @@ static int __mcb_devices_unregister(struct device *dev, void *data) static void mcb_devices_unregister(struct mcb_bus *bus) { - bus_for_each_dev(&mcb_bus_type, NULL, NULL, __mcb_devices_unregister); + bus_for_each_dev(bus->dev.bus, NULL, NULL, __mcb_devices_unregister); } /** * mcb_release_bus() - Free a @mcb_bus @@ -406,7 +407,7 @@ static int __mcb_bus_add_devices(struct device *dev, void *data) */ void mcb_bus_add_devices(const struct mcb_bus *bus) { - bus_for_each_dev(&mcb_bus_type, NULL, NULL, __mcb_bus_add_devices); + bus_for_each_dev(bus->dev.bus, NULL, NULL, __mcb_bus_add_devices); } EXPORT_SYMBOL_NS_GPL(mcb_bus_add_devices, MCB); |