21 |
#include <grub/err.h> |
#include <grub/err.h> |
22 |
#include <grub/misc.h> |
#include <grub/misc.h> |
23 |
#include <grub/mm.h> |
#include <grub/mm.h> |
24 |
#include <grub/machine/ieee1275.h> |
#include <grub/machine/kernel.h> |
25 |
|
#include <grub/ieee1275/ieee1275.h> |
26 |
|
|
27 |
enum grub_ieee1275_parse_type |
enum grub_ieee1275_parse_type |
28 |
{ |
{ |
39 |
grub_ieee1275_phandle_t child; |
grub_ieee1275_phandle_t child; |
40 |
|
|
41 |
grub_ieee1275_finddevice (devpath, &dev); |
grub_ieee1275_finddevice (devpath, &dev); |
42 |
if (dev == -1) |
if (dev == (grub_ieee1275_phandle_t) -1) |
43 |
return grub_error (GRUB_ERR_UNKNOWN_DEVICE, "Unknown device"); |
return grub_error (GRUB_ERR_UNKNOWN_DEVICE, "Unknown device"); |
44 |
|
|
45 |
grub_ieee1275_child (dev, &child); |
grub_ieee1275_child (dev, &child); |
46 |
if (child == -1) |
if (child == (grub_ieee1275_phandle_t) -1) |
47 |
return grub_error (GRUB_ERR_BAD_DEVICE, "Device has no children"); |
return grub_error (GRUB_ERR_BAD_DEVICE, "Device has no children"); |
48 |
|
|
49 |
do |
do |
126 |
continue; |
continue; |
127 |
} |
} |
128 |
|
|
129 |
if (grub_ieee1275_finddevice (devpath, &dev) || dev == -1) |
if (grub_ieee1275_finddevice (devpath, &dev) |
130 |
|
|| dev == (grub_ieee1275_phandle_t) -1) |
131 |
{ |
{ |
132 |
grub_free (devpath); |
grub_free (devpath); |
133 |
continue; |
continue; |