Merge tag 'signed-efi-next' of git://github.com/agraf/u-boot
[oweals/u-boot.git] / drivers / power / pmic / palmas.c
index 6c79a93d1b746d644db336fd0e3bd46d42ddc107..804c0d13a0c98bff39d7126f4cf1609bd984bcfa 100644 (file)
@@ -46,17 +46,15 @@ static int palmas_read(struct udevice *dev, uint reg, uint8_t *buff, int len)
 
 static int palmas_bind(struct udevice *dev)
 {
-       int pmic_node = -1, regulators_node;
-       const void *blob = gd->fdt_blob;
+       ofnode pmic_node = ofnode_null(), regulators_node;
+       ofnode subnode;
        int children;
-       int node = dev->of_offset;
-       int subnode, len;
 
-       fdt_for_each_subnode(blob, subnode, node) {
+       dev_for_each_subnode(subnode, dev) {
                const char *name;
                char *temp;
 
-               name = fdt_get_name(blob, subnode, &len);
+               name = ofnode_get_name(subnode);
                temp = strstr(name, "pmic");
                if (temp) {
                        pmic_node = subnode;
@@ -64,14 +62,14 @@ static int palmas_bind(struct udevice *dev)
                }
        }
 
-       if (pmic_node <= 0) {
+       if (!ofnode_valid(pmic_node)) {
                debug("%s: %s pmic subnode not found!", __func__, dev->name);
                return -ENXIO;
        }
 
-       regulators_node = fdt_subnode_offset(blob, pmic_node, "regulators");
+       regulators_node = ofnode_find_subnode(pmic_node, "regulators");
 
-       if (regulators_node <= 0) {
+       if (!ofnode_valid(regulators_node)) {
                debug("%s: %s reg subnode not found!", __func__, dev->name);
                return -ENXIO;
        }