Merge git://git.denx.de/u-boot-sunxi
[oweals/u-boot.git] / drivers / power / pmic / rk8xx.c
index 394e2ff9db38abd716d752e022a1b918e00b7781..735046dc43d869d20f451eca19cb6ff9937605aa 100644 (file)
@@ -8,8 +8,6 @@
 #include <common.h>
 #include <dm.h>
 #include <errno.h>
-#include <fdtdec.h>
-#include <libfdt.h>
 #include <power/rk8xx_pmic.h>
 #include <power/pmic.h>
 
@@ -57,13 +55,11 @@ static int rk8xx_read(struct udevice *dev, uint reg, uint8_t *buff, int len)
 #if CONFIG_IS_ENABLED(PMIC_CHILDREN)
 static int rk8xx_bind(struct udevice *dev)
 {
-       const void *blob = gd->fdt_blob;
-       int regulators_node;
+       ofnode regulators_node;
        int children;
 
-       regulators_node = fdt_subnode_offset(blob, dev_of_offset(dev),
-                                            "regulators");
-       if (regulators_node <= 0) {
+       regulators_node = dev_read_subnode(dev, "regulators");
+       if (!ofnode_valid(regulators_node)) {
                debug("%s: %s regulators subnode not found!", __func__,
                      dev->name);
                return -ENXIO;
@@ -113,6 +109,7 @@ U_BOOT_DRIVER(pmic_rk8xx) = {
 #if CONFIG_IS_ENABLED(PMIC_CHILDREN)
        .bind = rk8xx_bind,
 #endif
+       .priv_auto_alloc_size   = sizeof(struct rk8xx_priv),
        .probe = rk8xx_probe,
        .ops = &rk8xx_ops,
 };