summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorLuotao Fu <l.fu@pengutronix.de>2009-11-25 16:13:22 +0100
committerLuotao Fu <l.fu@pengutronix.de>2009-11-25 16:19:17 +0100
commitd69608f4d81091a23c008d4b31d7aa98e91e08af (patch)
treeac66955d0ccbadd4f870e10275941f9f2116f951
parent7e8d44005e2205b6e726ee1664ea078a1aabb4da (diff)
downloadcanutils-d69608f4d81091a23c008d4b31d7aa98e91e08af.tar.gz
canutils-d69608f4d81091a23c008d4b31d7aa98e91e08af.tar.xz
[canconfig] add get clockfreq callback
Signed-off-by: Luotao Fu <l.fu@pengutronix.de>
-rw-r--r--src/canconfig.c25
1 files changed, 25 insertions, 0 deletions
diff --git a/src/canconfig.c b/src/canconfig.c
index b681135..755822b 100644
--- a/src/canconfig.c
+++ b/src/canconfig.c
@@ -233,6 +233,28 @@ static void cmd_state(int argc, char *argv[])
exit(EXIT_SUCCESS);
}
+static void do_show_clockfreq(int argc, char *argv[])
+{
+ struct can_clock clock;
+ const char *name = argv[1];
+
+ memset(&clock, 0, sizeof(clock));
+ if (scan_get_clock(name, &clock) < 0) {
+ fprintf(stderr, "%s: failed to get clock parameters\n",
+ argv[1]);
+ exit(EXIT_FAILURE);
+ }
+
+ fprintf(stdout, "%s clock freq: %u\n", name, clock.freq);
+}
+
+static void cmd_clockfreq(int argc, char *argv[])
+{
+ do_show_clockfreq(argc, argv);
+
+ exit(EXIT_SUCCESS);
+}
+
static void do_restart(int argc, char *argv[])
{
if (scan_do_restart(argv[1]) < 0) {
@@ -374,6 +396,7 @@ static void cmd_show_interface(int argc, char *argv[])
do_show_bitrate(argc, argv);
do_show_state(argc, argv);
do_show_restart_ms(argc, argv);
+ do_show_clockfreq(argc, argv);
do_show_ctrlmode(argc, argv);
exit(EXIT_SUCCESS);
@@ -402,6 +425,8 @@ int main(int argc, char *argv[])
cmd_restart_ms(argc, argv);
if (!strcmp(argv[2], "state"))
cmd_state(argc, argv);
+ if (!strcmp(argv[2], "clockfreq"))
+ cmd_clockfreq(argc, argv);
help();