cbfs: switch to region_device for location APIs
Drop struct cbfs_props and replace with struct region_device object. The goal of the cbfs locator APIs are to determine the correct region device to find the cbfs files. Therefore, start directly using struct region_device in the cbfs location paths. Update the users of the API and leverage the default boot region device implementation for apollolake. Change-Id: I0158a095cc64c9900d8738f8ffd45ae4040575ea Signed-off-by: Aaron Durbin <adurbin@chromium.org> Reviewed-on: https://review.coreboot.org/c/coreboot/+/36939 Tested-by: build bot (Jenkins) <no-reply@coreboot.org> Reviewed-by: Julius Werner <jwerner@chromium.org>
This commit is contained in:
		
				
					committed by
					
						 Patrick Georgi
						Patrick Georgi
					
				
			
			
				
	
			
			
			
						parent
						
							aeb652a4a0
						
					
				
				
					commit
					fe338e2319
				
			| @@ -73,18 +73,22 @@ struct cbfs_props { | ||||
| 	size_t size; | ||||
| }; | ||||
|  | ||||
| /* Default CBFS locator .locate() callback that locates "COREBOOT" region. */ | ||||
| int cbfs_default_props(struct cbfs_props *props); | ||||
| /* Default CBFS locator .locate() callback that locates "COREBOOT" region. This | ||||
|    function is exposed to reduce code duplication in other parts of the code | ||||
|    base. To obtain the correct region device the selection process is required | ||||
|    by way of cbfs_boot_region_device(). */ | ||||
| int cbfs_default_region_device(struct region_device *rdev); | ||||
|  | ||||
| /* Return < 0 on error otherwise props are filled out accordingly. */ | ||||
| int cbfs_boot_region_properties(struct cbfs_props *props); | ||||
| /* Select the boot region device from the cbfs locators. | ||||
|    Return < 0 on error, 0 on success. */ | ||||
| int cbfs_boot_region_device(struct region_device *rdev); | ||||
|  | ||||
| /* Object used to identify location of current cbfs to use for cbfs_boot_* | ||||
|  * operations. It's used by cbfs_boot_region_properties(). */ | ||||
| struct cbfs_locator { | ||||
| 	const char *name; | ||||
| 	/* Returns 0 on successful fill of cbfs properties. */ | ||||
| 	int (*locate)(struct cbfs_props *props); | ||||
| 	int (*locate)(struct region_device *rdev); | ||||
| }; | ||||
|  | ||||
| #endif | ||||
|   | ||||
		Reference in New Issue
	
	Block a user