[U-Boot] [RFC PATCH 1/2] common: Add new clk command
Simon Glass
sjg at chromium.org
Tue Dec 22 05:21:25 CET 2015
Hi Michal,
On 22 January 2014 at 04:02, Michal Simek <michal.simek at xilinx.com> wrote:
> Command provides just dump subcommand for showing clock
> frequencies in a soc.
>
> Signed-off-by: Michal Simek <michal.simek at xilinx.com>
> ---
>
> README | 1 +
> common/Makefile | 1 +
> common/cmd_clk.c | 51 ++++++++++++++++++++++++++++++++++++++++++++++++
> include/clk.h | 6 ++++++
> include/config_cmd_all.h | 1 +
> 5 files changed, 60 insertions(+)
> create mode 100644 common/cmd_clk.c
> create mode 100644 include/clk.h
>
> diff --git a/README b/README
> index aea82be..0087649 100644
> --- a/README
> +++ b/README
> @@ -887,6 +887,7 @@ The following options need to be configured:
> CONFIG_CMD_BSP * Board specific commands
> CONFIG_CMD_BOOTD bootd
> CONFIG_CMD_CACHE * icache, dcache
> + CONFIG_CMD_CLK * clock command support
> CONFIG_CMD_CONSOLE coninfo
> CONFIG_CMD_CRC32 * crc32
> CONFIG_CMD_DATE * support for RTC, date/time...
> diff --git a/common/Makefile b/common/Makefile
> index d12cba5..a000e7d 100644
> --- a/common/Makefile
> +++ b/common/Makefile
> @@ -59,6 +59,7 @@ obj-$(CONFIG_CMD_BOOTLDR) += cmd_bootldr.o
> obj-$(CONFIG_CMD_BOOTSTAGE) += cmd_bootstage.o
> obj-$(CONFIG_CMD_CACHE) += cmd_cache.o
> obj-$(CONFIG_CMD_CBFS) += cmd_cbfs.o
> +obj-$(CONFIG_CMD_CLK) += cmd_clk.o
> obj-$(CONFIG_CMD_CONSOLE) += cmd_console.o
> obj-$(CONFIG_CMD_CPLBINFO) += cmd_cplbinfo.o
> obj-$(CONFIG_DATAFLASH_MMC_SELECT) += cmd_dataflash_mmc_mux.o
> diff --git a/common/cmd_clk.c b/common/cmd_clk.c
> new file mode 100644
> index 0000000..6d3d46a
> --- /dev/null
> +++ b/common/cmd_clk.c
> @@ -0,0 +1,51 @@
> +/*
> + * Copyright (C) 2013 Xilinx, Inc.
> + *
> + * SPDX-License-Identifier: GPL-2.0+
> + */
> +#include <common.h>
> +#include <command.h>
> +#include <clk.h>
> +
> +int __weak soc_clk_dump(void)
> +{
> + puts("Not implemented\n");
> + return 1;
> +}
> +
> +static int do_clk_dump(cmd_tbl_t *cmdtp, int flag, int argc,
> + char *const argv[])
> +{
> + return soc_clk_dump();
This is not the way things should work in driver model. See how the
gpio command works for an example. I suggest it iterates through the
available clocks and then calls a driver function to obtain
information about each clock, then prints it out. We should avoid weak
functions as a method of connecting things together.
[snip]
Regards,
Simon
More information about the U-Boot
mailing list