Loading drivers/bcma/main.c +9 −11 Original line number Diff line number Diff line Loading @@ -368,12 +368,19 @@ static void bcma_unregister_cores(struct bcma_bus *bus) struct bcma_device *core, *tmp; list_for_each_entry_safe(core, tmp, &bus->cores, list) { if (!core->dev_registered) continue; list_del(&core->list); if (core->dev_registered) device_unregister(&core->dev); } if (bus->hosttype == BCMA_HOSTTYPE_SOC) platform_device_unregister(bus->drv_cc.watchdog); /* Now noone uses internally-handled cores, we can free them */ list_for_each_entry_safe(core, tmp, &bus->cores, list) { list_del(&core->list); kfree(core); } } int bcma_bus_register(struct bcma_bus *bus) Loading Loading @@ -467,7 +474,6 @@ int bcma_bus_register(struct bcma_bus *bus) void bcma_bus_unregister(struct bcma_bus *bus) { struct bcma_device *cores[3]; int err; err = bcma_gpio_unregister(&bus->drv_cc); Loading @@ -478,15 +484,7 @@ void bcma_bus_unregister(struct bcma_bus *bus) bcma_core_chipcommon_b_free(&bus->drv_cc_b); cores[0] = bcma_find_core(bus, BCMA_CORE_MIPS_74K); cores[1] = bcma_find_core(bus, BCMA_CORE_PCIE); cores[2] = bcma_find_core(bus, BCMA_CORE_4706_MAC_GBIT_COMMON); bcma_unregister_cores(bus); kfree(cores[2]); kfree(cores[1]); kfree(cores[0]); } /* Loading Loading
drivers/bcma/main.c +9 −11 Original line number Diff line number Diff line Loading @@ -368,12 +368,19 @@ static void bcma_unregister_cores(struct bcma_bus *bus) struct bcma_device *core, *tmp; list_for_each_entry_safe(core, tmp, &bus->cores, list) { if (!core->dev_registered) continue; list_del(&core->list); if (core->dev_registered) device_unregister(&core->dev); } if (bus->hosttype == BCMA_HOSTTYPE_SOC) platform_device_unregister(bus->drv_cc.watchdog); /* Now noone uses internally-handled cores, we can free them */ list_for_each_entry_safe(core, tmp, &bus->cores, list) { list_del(&core->list); kfree(core); } } int bcma_bus_register(struct bcma_bus *bus) Loading Loading @@ -467,7 +474,6 @@ int bcma_bus_register(struct bcma_bus *bus) void bcma_bus_unregister(struct bcma_bus *bus) { struct bcma_device *cores[3]; int err; err = bcma_gpio_unregister(&bus->drv_cc); Loading @@ -478,15 +484,7 @@ void bcma_bus_unregister(struct bcma_bus *bus) bcma_core_chipcommon_b_free(&bus->drv_cc_b); cores[0] = bcma_find_core(bus, BCMA_CORE_MIPS_74K); cores[1] = bcma_find_core(bus, BCMA_CORE_PCIE); cores[2] = bcma_find_core(bus, BCMA_CORE_4706_MAC_GBIT_COMMON); bcma_unregister_cores(bus); kfree(cores[2]); kfree(cores[1]); kfree(cores[0]); } /* Loading