Message ID | 20220319091148.142036-2-heinrich.schuchardt@canonical.com |
---|---|
State | Accepted, archived |
Commit | 8399488672e8717d3aa454f9f67408f96168074f |
Delegated to: | Heinrich Schuchardt |
Headers | show |
Series | efi_loader: booting via short-form device-path | expand |
On Sat, 19 Mar 2022 at 11:12, Heinrich Schuchardt <heinrich.schuchardt@canonical.com> wrote: > > From: Heinrich Schuchardt <xypron.glpk@gmx.de> > > Rename function shorten_path() to efi_dp_shorten() and export it. > > Signed-off-by: Heinrich Schuchardt <heinrich.schuchardt@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 Typo device > + * @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 > Otherwise Reviewed-by: Ilias Apalodimas <ilias.apalodimas@linaro.org>
On Sat, Mar 19, 2022 at 10:11:40AM +0100, Heinrich Schuchardt wrote: > From: Heinrich Schuchardt <xypron.glpk@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@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 >
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); }