mirror of
https://github.com/AsahiLinux/u-boot
synced 2024-11-10 23:24:38 +00:00
ns16650: Make sure we have CONFIG_CLK set before using infrastructure
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>
This commit is contained in:
parent
231af7f95a
commit
82f5279b0c
2 changed files with 17 additions and 15 deletions
|
@ -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,
|
||||
|
|
|
@ -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
|
||||
|
|
Loading…
Reference in a new issue