mirror of
				git://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
				synced 2025-09-18 22:14:16 +00:00 
			
		
		
		
	bcma: simplify freeing cores (internal devices structs)
Signed-off-by: Rafał Miłecki <zajec5@gmail.com> Signed-off-by: Kalle Valo <kvalo@codeaurora.org>
This commit is contained in:
		
							parent
							
								
									68fcd24503
								
							
						
					
					
						commit
						17fbaa6e42
					
				
					 1 changed files with 9 additions and 11 deletions
				
			
		|  | @ -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); | ||||
| 		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) | ||||
|  | @ -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); | ||||
|  | @ -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…
	
	Add table
		
		Reference in a new issue
	
	 Rafał Miłecki
						Rafał Miłecki