]> git.sur5r.net Git - u-boot/blobdiff - drivers/pch/pch-uclass.c
dm: core: Add ofnode function to read a 64-bit int
[u-boot] / drivers / pch / pch-uclass.c
index 48a3965a7644e6e00e30b4250d7b023d043f8555..831b283d7b47df7d9de437d12f114f0d52064d37 100644 (file)
@@ -1,16 +1,12 @@
+// SPDX-License-Identifier: GPL-2.0+
 /*
  * Copyright (c) 2015 Google, Inc
  * Written by Simon Glass <sjg@chromium.org>
- *
- * SPDX-License-Identifier:    GPL-2.0+
  */
 
 #include <common.h>
 #include <dm.h>
 #include <pch.h>
-#include <dm/root.h>
-
-DECLARE_GLOBAL_DATA_PTR;
 
 int pch_get_spi_base(struct udevice *dev, ulong *sbasep)
 {
@@ -44,20 +40,19 @@ int pch_get_gpio_base(struct udevice *dev, u32 *gbasep)
        return ops->get_gpio_base(dev, gbasep);
 }
 
-static int pch_uclass_post_bind(struct udevice *bus)
+int pch_get_io_base(struct udevice *dev, u32 *iobasep)
 {
-       /*
-        * Scan the device tree for devices
-        *
-        * Before relocation, only bind devices marked for pre-relocation
-        * use.
-        */
-       return dm_scan_fdt_node(bus, gd->fdt_blob, bus->of_offset,
-                               gd->flags & GD_FLG_RELOC ? false : true);
+       struct pch_ops *ops = pch_get_ops(dev);
+
+       *iobasep = 0;
+       if (!ops->get_io_base)
+               return -ENOSYS;
+
+       return ops->get_io_base(dev, iobasep);
 }
 
 UCLASS_DRIVER(pch) = {
        .id             = UCLASS_PCH,
        .name           = "pch",
-       .post_bind      = pch_uclass_post_bind,
+       .post_bind      = dm_scan_fdt_dev,
 };