ieee1275: split up grub_machine_get_bootlocation
[grub.git] / grub-core / kern / ieee1275 / init.c
index 1259022..62dfb8a 100644 (file)
@@ -94,28 +94,12 @@ void
 grub_machine_get_bootlocation (char **device, char **path)
 {
   char *bootpath;
-  grub_ssize_t bootpath_size;
   char *filename;
   char *type;
 
-  if (grub_ieee1275_get_property_length (grub_ieee1275_chosen, "bootpath",
-                                        &bootpath_size)
-      || bootpath_size <= 0)
-    {
-      /* Should never happen.  */
-      grub_printf ("/chosen/bootpath property missing!\n");
-      return;
-    }
-
-  bootpath = (char *) grub_malloc ((grub_size_t) bootpath_size + 64);
+  bootpath = grub_ieee1275_get_boot_dev ();
   if (! bootpath)
-    {
-      grub_print_error ();
-      return;
-    }
-  grub_ieee1275_get_property (grub_ieee1275_chosen, "bootpath", bootpath,
-                              (grub_size_t) bootpath_size + 1, 0);
-  bootpath[bootpath_size] = '\0';
+    return;
 
   /* Transform an OF device path to a GRUB path.  */