From mboxrd@z Thu Jan 1 00:00:00 1970 From: Simon Glass Date: Mon, 21 Dec 2015 21:21:25 -0700 Subject: [U-Boot] [RFC PATCH 1/2] common: Add new clk command In-Reply-To: References: Message-ID: List-Id: MIME-Version: 1.0 Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: 7bit To: u-boot@lists.denx.de Hi Michal, On 22 January 2014 at 04:02, Michal Simek wrote: > Command provides just dump subcommand for showing clock > frequencies in a soc. > > Signed-off-by: Michal Simek > --- > > 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 > +#include > +#include > + > +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