clk: Modify xlate() method for livetree
authorSimon Glass <sjg@chromium.org>
Fri, 19 May 2017 02:09:40 +0000 (20:09 -0600)
committerSimon Glass <sjg@chromium.org>
Thu, 1 Jun 2017 13:03:14 +0000 (07:03 -0600)
Update the xlate() method to use ofnode_phandle_args instead of the fdtdec
variant. This will allow drivers to support a live device tree.

Signed-off-by: Simon Glass <sjg@chromium.org>
drivers/clk/at91/pmc.c
drivers/clk/at91/pmc.h
drivers/clk/clk-uclass.c
drivers/clk/clk_stm32f7.c
include/clk-uclass.h

index f4ec5fc..be1d11e 100644 (file)
@@ -87,7 +87,7 @@ int at91_clk_sub_device_bind(struct udevice *dev, const char *drv_name)
        return 0;
 }
 
-int at91_clk_of_xlate(struct clk *clk, struct fdtdec_phandle_args *args)
+int at91_clk_of_xlate(struct clk *clk, struct ofnode_phandle_args *args)
 {
        int periph;
 
index f222fce..bd3caba 100644 (file)
@@ -15,7 +15,7 @@ struct pmc_platdata {
 int at91_pmc_core_probe(struct udevice *dev);
 int at91_clk_sub_device_bind(struct udevice *dev, const char *drv_name);
 
-int at91_clk_of_xlate(struct clk *clk, struct fdtdec_phandle_args *args);
+int at91_clk_of_xlate(struct clk *clk, struct ofnode_phandle_args *args);
 int at91_clk_probe(struct udevice *dev);
 
 #endif
index 6fcfd69..f6194b6 100644 (file)
@@ -38,7 +38,7 @@ int clk_get_by_index_platdata(struct udevice *dev, int index,
 }
 # else
 static int clk_of_xlate_default(struct clk *clk,
-                               struct fdtdec_phandle_args *args)
+                               struct ofnode_phandle_args *args)
 {
        debug("%s(clk=%p)\n", __func__, clk);
 
@@ -86,9 +86,10 @@ int clk_get_by_index(struct udevice *dev, int index, struct clk *clk)
        ops = clk_dev_ops(dev_clk);
 
        if (ops->of_xlate)
-               ret = ops->of_xlate(clk, &args);
+               ret = ops->of_xlate(clk, (struct ofnode_phandle_args *)&args);
        else
-               ret = clk_of_xlate_default(clk, &args);
+               ret = clk_of_xlate_default(clk,
+                                          (struct ofnode_phandle_args *)&args);
        if (ret) {
                debug("of_xlate() failed: %d\n", ret);
                return ret;
index da3c204..fcdc3c0 100644 (file)
@@ -252,8 +252,7 @@ static int stm32_clk_probe(struct udevice *dev)
        return 0;
 }
 
-static int stm32_clk_of_xlate(struct clk *clk,
-                       struct fdtdec_phandle_args *args)
+static int stm32_clk_of_xlate(struct clk *clk, struct ofnode_phandle_args *args)
 {
        debug("%s(clk=%p)\n", __func__, clk);
 
index 07c1065..e7ea334 100644 (file)
@@ -12,7 +12,8 @@
 /* See clk.h for background documentation. */
 
 #include <clk.h>
-#include <fdtdec.h>
+
+struct ofnode_phandle_args;
 
 /**
  * struct clk_ops - The functions that a clock driver must implement.
@@ -37,7 +38,7 @@ struct clk_ops {
         * @return 0 if OK, or a negative error code.
         */
        int (*of_xlate)(struct clk *clock,
-                       struct fdtdec_phandle_args *args);
+                       struct ofnode_phandle_args *args);
        /**
         * request - Request a translated clock.
         *