efi_loader: export efi_dp_shorten()

Rename function shorten_path() to efi_dp_shorten() and export it.

Signed-off-by: Heinrich Schuchardt <heinrich.schuchardt@canonical.com>
This commit is contained in:
Heinrich Schuchardt 2022-02-26 12:10:10 +01:00
parent ff6af6eede
commit 8399488672
2 changed files with 15 additions and 9 deletions

View file

@ -725,7 +725,8 @@ extern void *efi_bounce_buffer;
#define EFI_LOADER_BOUNCE_BUFFER_SIZE (64 * 1024 * 1024) #define EFI_LOADER_BOUNCE_BUFFER_SIZE (64 * 1024 * 1024)
#endif #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); struct efi_device_path *efi_dp_next(const struct efi_device_path *dp);
int efi_dp_match(const struct efi_device_path *a, int efi_dp_match(const struct efi_device_path *a,
const struct efi_device_path *b); const struct efi_device_path *b);

View file

@ -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, * 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 * and a few other cases which don't encode the full device path with bus
* hierarchy: * hierarchy:
* *
* - MESSAGING:USB_WWID * * MESSAGING:USB_WWID
* - MESSAGING:USB_CLASS * * MESSAGING:USB_CLASS
* - MEDIA:FILE_PATH * * MEDIA:FILE_PATH
* - MEDIA:HARD_DRIVE * * MEDIA:HARD_DRIVE
* - MESSAGING:URI * * MESSAGING:URI
* *
* See UEFI spec (section 3.1.2, about short-form device-paths) * 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) { 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); } while (short_path && obj_dp);
} }