]> git.karo-electronics.de Git - karo-tx-uboot.git/commitdiff
ns16650: Make sure we have CONFIG_CLK set before using infrastructure
authorTom Rini <trini@konsulko.com>
Thu, 22 Sep 2016 19:36:45 +0000 (15:36 -0400)
committerTom Rini <trini@konsulko.com>
Thu, 22 Sep 2016 19:39:11 +0000 (15:39 -0400)
We cannot call on the CONFIG_CLK based clk_get_rate function unless
CONFIG_CLK is set.

Signed-off-by: Tom Rini <trini@konsulko.com>
drivers/serial/ns16550.c
include/clk.h

index 3f6ea4d27591233836977c84450c5d7aac96f824..765499dab64648fc1c5082f6ddc6526635aa7700 100644 (file)
@@ -13,6 +13,7 @@
 #include <serial.h>
 #include <watchdog.h>
 #include <linux/types.h>
+#include <linux/compiler.h>
 #include <asm/io.h>
 
 DECLARE_GLOBAL_DATA_PTR;
@@ -353,8 +354,8 @@ int ns16550_serial_ofdata_to_platdata(struct udevice *dev)
 {
        struct ns16550_platdata *plat = dev->platdata;
        fdt_addr_t addr;
-       struct clk clk;
-       int err;
+       __maybe_unused struct clk clk;
+       __maybe_unused int err;
 
        /* try Processor Local Bus device first */
        addr = dev_get_addr(dev);
@@ -401,6 +402,7 @@ int ns16550_serial_ofdata_to_platdata(struct udevice *dev)
        plat->reg_shift = fdtdec_get_int(gd->fdt_blob, dev->of_offset,
                                         "reg-shift", 0);
 
+#ifdef CONFIG_CLK
        err = clk_get_by_index(dev, 0, &clk);
        if (!err) {
                err = clk_get_rate(&clk);
@@ -410,6 +412,7 @@ int ns16550_serial_ofdata_to_platdata(struct udevice *dev)
                debug("ns16550 failed to get clock\n");
                return err;
        }
+#endif
 
        if (!plat->clock)
                plat->clock = fdtdec_get_int(gd->fdt_blob, dev->of_offset,
index 94c00371470036e851c722fcf37a3c86c236bcc8..7273127bb4fb8466a4897308adf33ad19ef5af07 100644 (file)
@@ -98,19 +98,6 @@ int clk_get_by_index(struct udevice *dev, int index, struct clk *clk);
  * @return 0 if OK, or a negative error code.
  */
 int clk_get_by_name(struct udevice *dev, const char *name, struct clk *clk);
-#else
-static inline int clk_get_by_index(struct udevice *dev, int index,
-                                  struct clk *clk)
-{
-       return -ENOSYS;
-}
-
-static inline int clk_get_by_name(struct udevice *dev, const char *name,
-                          struct clk *clk)
-{
-       return -ENOSYS;
-}
-#endif
 
 /**
  * clk_request - Request a clock by provider-specific ID.
@@ -175,5 +162,17 @@ int clk_enable(struct clk *clk);
 int clk_disable(struct clk *clk);
 
 int soc_clk_dump(void);
+#else
+static inline int clk_get_by_index(struct udevice *dev, int index,
+                                  struct clk *clk)
+{
+       return -ENOSYS;
+}
 
+static inline int clk_get_by_name(struct udevice *dev, const char *name,
+                          struct clk *clk)
+{
+       return -ENOSYS;
+}
+#endif
 #endif