]> git.ipfire.org Git - thirdparty/grub.git/commitdiff
fdtbus
authorVladimir Serbinenko <phcoder@gmail.com>
Sun, 21 Feb 2016 00:53:07 +0000 (01:53 +0100)
committerVladimir Serbinenko <phcoder@gmail.com>
Sun, 21 Feb 2016 00:53:07 +0000 (01:53 +0100)
grub-core/bus/fdt.c
include/grub/fdtbus.h

index c0b031f76daace62ac0aacf568df09e961bc36a9..ed1317c7dcde1cb09f49f74899259cba0def25ee 100644 (file)
@@ -96,10 +96,7 @@ grub_fdtbus_register (struct grub_fdtbus_driver *driver)
     if (!dev->driver && is_compatible (driver, dev->node))
       {
        if (driver->attach(dev) == GRUB_ERR_NONE)
-         {
-           dev->driver = driver;
-           break;
-         }
+         dev->driver = driver;
        grub_print_error ();
       }
 }
@@ -236,3 +233,17 @@ grub_fdtbus_map_reg (const struct grub_fdtbus_dev *dev, int regno, grub_size_t *
     *size = 0;
   return translate (dev->parent, reg + (address_cells + size_cells) * regno);
 }
+
+const char *
+grub_fdtbus_get_name (const struct grub_fdtbus_dev *dev)
+{
+  return grub_fdt_get_nodename (dtb, dev->node);
+}
+
+const void *
+grub_fdtbus_get_prop (const struct grub_fdtbus_dev *dev,
+                     const char *name,
+                     grub_uint32_t *len)
+{
+  return grub_fdt_get_prop (dtb, dev->node, name, len);
+}
index 4ebcd3bda50e809c152c5905a1e708706284a421..b9bc87af1ddf6ea9f300dda37666f47d947c295d 100644 (file)
@@ -46,6 +46,14 @@ grub_fdtbus_is_mapping_valid (volatile void *m)
 volatile void *
 grub_fdtbus_map_reg (const struct grub_fdtbus_dev *dev, int reg, grub_size_t *size);
 
+const char *
+grub_fdtbus_get_name (const struct grub_fdtbus_dev *dev);
+
+const void *
+grub_fdtbus_get_prop (const struct grub_fdtbus_dev *dev,
+                     const char *name,
+                     grub_uint32_t *len);
+
 void
 grub_fdtbus_register (struct grub_fdtbus_driver *driver);