[PATCH v2 1/9] efi_loader: export efi_dp_shorten()

AKASHI Takahiro takahiro.akashi at linaro.org
Wed Mar 23 07:55:32 CET 2022


On Sat, Mar 19, 2022 at 10:11:40AM +0100, Heinrich Schuchardt wrote:
> From: Heinrich Schuchardt <xypron.glpk at gmx.de>
> 
> Rename function shorten_path() to efi_dp_shorten() and export it.

If you really want to rename the function for export, please give it a more proper name
as "shorten" is quite vague. Say, clip_short_form_path() or drop_media_device_path().

-Takahiro Akashi


> Signed-off-by: Heinrich Schuchardt <heinrich.schuchardt at canonical.com>
> ---
> v2:
> 	new patch split off
> ---
>  include/efi_loader.h             |  3 ++-
>  lib/efi_loader/efi_device_path.c | 21 +++++++++++++--------
>  2 files changed, 15 insertions(+), 9 deletions(-)
> 
> diff --git a/include/efi_loader.h b/include/efi_loader.h
> index 110d8ae79c..1ffcdfc485 100644
> --- a/include/efi_loader.h
> +++ b/include/efi_loader.h
> @@ -725,7 +725,8 @@ extern void *efi_bounce_buffer;
>  #define EFI_LOADER_BOUNCE_BUFFER_SIZE (64 * 1024 * 1024)
>  #endif
>  
> -
> +/* shorten device path */
> +struct efi_device_path *efi_dp_shorten(struct efi_device_path *dp);
>  struct efi_device_path *efi_dp_next(const struct efi_device_path *dp);
>  int efi_dp_match(const struct efi_device_path *a,
>  		 const struct efi_device_path *b);
> diff --git a/lib/efi_loader/efi_device_path.c b/lib/efi_loader/efi_device_path.c
> index dc787b4d3d..ddd5f132ec 100644
> --- a/lib/efi_loader/efi_device_path.c
> +++ b/lib/efi_loader/efi_device_path.c
> @@ -122,20 +122,25 @@ int efi_dp_match(const struct efi_device_path *a,
>  	}
>  }
>  
> -/*
> +/**
> + * efi_dp_shorten() - shorten device-path
> + *
>   * We can have device paths that start with a USB WWID or a USB Class node,
>   * and a few other cases which don't encode the full device path with bus
>   * hierarchy:
>   *
> - *   - MESSAGING:USB_WWID
> - *   - MESSAGING:USB_CLASS
> - *   - MEDIA:FILE_PATH
> - *   - MEDIA:HARD_DRIVE
> - *   - MESSAGING:URI
> + * * MESSAGING:USB_WWID
> + * * MESSAGING:USB_CLASS
> + * * MEDIA:FILE_PATH
> + * * MEDIA:HARD_DRIVE
> + * * MESSAGING:URI
>   *
>   * See UEFI spec (section 3.1.2, about short-form device-paths)
> + *
> + * @dp:		original devie-path
> + * @Return:	shortened device-path or NULL
>   */
> -static struct efi_device_path *shorten_path(struct efi_device_path *dp)
> +struct efi_device_path *efi_dp_shorten(struct efi_device_path *dp)
>  {
>  	while (dp) {
>  		/*
> @@ -189,7 +194,7 @@ static struct efi_object *find_obj(struct efi_device_path *dp, bool short_path,
>  				}
>  			}
>  
> -			obj_dp = shorten_path(efi_dp_next(obj_dp));
> +			obj_dp = efi_dp_shorten(efi_dp_next(obj_dp));
>  		} while (short_path && obj_dp);
>  	}
>  
> -- 
> 2.34.1
> 


More information about the U-Boot mailing list