
On 02/19/2018 04:48 PM, Simon Glass wrote:
This function repeats data structures provided by driver model. They are only created once so can be stale if the EFI loader is called twice (e.g. for testing or on boot failure).
Add a TODO to address this. It should be possible to attach EFI devices and data structures to driver-model devices and avoid having a parallel set of data structures.
Signed-off-by: Simon Glass sjg@chromium.org
Changes in v3: None Changes in v2: None
cmd/bootefi.c | 4 ++++ 1 file changed, 4 insertions(+)
diff --git a/cmd/bootefi.c b/cmd/bootefi.c index 259f80a0d8..d670a541eb 100644 --- a/cmd/bootefi.c +++ b/cmd/bootefi.c @@ -30,6 +30,10 @@ static struct efi_device_path *bootefi_device_path; /**
- efi_init_obj_list() - Initialize and populate EFI object list
- TODO(sjg@chromium.org): Move this to a dynamic list based on driver model,
- so that it does not need to be created before running EFI applications
- and updates when devices change.
This could be implemented by calling the ConnectController and DisconnectController boot services and adding the necessary EFI drivers to the EFI uclass (see directory lib/efi_driver/).
Best regards
Heinrich
*/
- @return 0 if OK, -ve on error (in which case it prints a message)
static efi_status_t efi_init_obj_list(void)