Hi Daniel,

I believe we need this change. We are using this function "of_path_get_nvme_nsid" in the patch which is defined in other file, and this "of_path_get_nvme_nsid" calls the function "block_device_get_sysfs_path_and_link". If we don't define this in the header file, we get this error below.
Thank you!

*****

In file included from grub-core/osdep/ofpath.c:2:
grub-core/osdep/linux/ofpath.c:228:1: error: no previous prototype for ‘block_device_get_sysfs_path_and_link’ [-Werror=missing-prototypes]
  228 | block_device_get_sysfs_path_and_link(const char *devicenode)
      | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
cc1: all warnings being treated as errors
make[2]: *** [Makefile:10855: grub-core/osdep/grub_mkrescue-ofpath.o] Error 1
make[2]: Leaving directory '/root/splitupgrub/grub'
make[1]: *** [Makefile:12412: check-recursive] Error 1
make[1]: Leaving directory '/root/splitupgrub/grub'
make: *** [Makefile:13491: check] Error 2


*****

Regards,
Avnish Chouhan

On 2025-05-28 23:26, Daniel Kiper wrote:
On Wed, May 28, 2025 at 04:50:00PM +0530, Avnish Chouhan wrote:
Hi Daniel,

Thank you so much for a review!

On 2025-05-27 01:00, Daniel Kiper wrote:
> On Mon, May 19, 2025 at 04:34:34PM +0530, Avnish Chouhan wrote:

[...]

> > diff --git a/grub-core/osdep/linux/ofpath.c
> > b/grub-core/osdep/linux/ofpath.c
> > index 7158c8c..48f11c9 100644
> > --- a/grub-core/osdep/linux/ofpath.c
> > +++ b/grub-core/osdep/linux/ofpath.c
> > @@ -209,7 +209,7 @@ find_obppath (const char *sysfs_path_orig)
> >      }
> >  }
> >
> > -static char *
> > +char *
> >  xrealpath (const char *in)
> >  {
> >    char *out;
> > @@ -224,7 +224,7 @@ xrealpath (const char *in)
> >    return out;
> >  }
> >
> > -static char *
> > +char *
>
> You do not need this change.

We need this function as this is used by the function
"of_path_get_nvme_nsid" we are using.

The block_device_get_sysfs_path_and_link() does not seem called from
this patch. So, probably this change belongs to another one.

> >  block_device_get_sysfs_path_and_link(const char *devicenode)
> >  {
> >    char *rpath;
> > @@ -684,7 +684,7 @@ of_path_get_nvme_nsid (const char* devname)
> >    return nsid;
> >  }
> >
> > -static char *
> > +char *
> >  nvme_get_syspath (const char *nvmedev)
> >  {
> >    char *sysfs_path;
> > diff --git a/include/grub/util/install.h b/include/grub/util/install.h
> > index 51f3b13..a67e225 100644
> > --- a/include/grub/util/install.h
> > +++ b/include/grub/util/install.h
> > @@ -235,6 +235,9 @@ grub_install_register_efi (grub_device_t
> > efidir_grub_dev,
> >                          const char *efifile_path,
> >                          const char *efi_distributor);
> >
> > +char *
> > +add_multiple_nvme_bootdevices (const char *install_device);
> > +
> >  void
> >  grub_install_register_ieee1275 (int is_prep, const char
> > *install_device,
> >                               int partno, const char *relpath);
> > diff --git a/include/grub/util/ofpath.h b/include/grub/util/ofpath.h
> > index 5962322..78e78e7 100644
> > --- a/include/grub/util/ofpath.h
> > +++ b/include/grub/util/ofpath.h
> > @@ -30,5 +30,9 @@ int add_filename_to_pile (char *filename, struct
> > ofpath_files_list_root* root);
> >  void find_file (char* filename, char* directory, struct
> > ofpath_files_list_root* root, int max_depth, int depth);
> >  char* of_find_fc_host (char* host_wwpn);
> >  void free_ofpath_files_list (struct ofpath_files_list_root* root);
> > +char* nvme_get_syspath (const char *nvmedev);
> > +char* block_device_get_sysfs_path_and_link (const char *devicenode);
>
> Please drop this declaration.

Same as explained above!

As above...

Daniel

_______________________________________________
Grub-devel mailing list
Grub-devel@gnu.org
https://lists.gnu.org/mailman/listinfo/grub-devel

Reply via email to