blob: b893efcd6d62f2b26eaa281db994c80af3b9d31d [file] [log] [blame]
Amit Aroraed3e5652010-10-27 12:02:53 +05301/*******************************************************************************
2 * Copyright (C) 2010, Linaro
3 * Copyright (C) 2010, IBM Corporation
4 *
5 * This file is part of PowerDebug.
6 *
7 * All rights reserved. This program and the accompanying materials
8 * are made available under the terms of the Eclipse Public License v1.0
9 * which accompanies this distribution, and is available at
10 * http://www.eclipse.org/legal/epl-v10.html
11 *
12 * Contributors:
13 * Amit Arora <amit.arora@linaro.org> (IBM Corporation)
14 * - initial API and implementation
15 *******************************************************************************/
16
17#include <sys/stat.h>
18#include <sys/vfs.h>
Amit Aroraac4e8652010-11-09 11:16:53 +053019#include <errno.h>
20#include <sys/stat.h>
Amit Aroraed3e5652010-10-27 12:02:53 +053021#include <linux/magic.h>
22
Amit Arora3bc8c922010-11-16 11:27:38 +053023extern int maxy;
Amit Arora81350772010-11-16 14:56:26 +053024extern int dump;
Amit Arora3bc8c922010-11-16 11:27:38 +053025
Amit Arora04f97742010-11-16 11:28:57 +053026#define MAX_LINES 120
Amit Arora031263a2010-11-09 11:12:41 +053027
Amit Aroraed3e5652010-10-27 12:02:53 +053028struct clock_info {
Amit Arora6e774cd2010-10-28 11:31:24 +053029 char name[NAME_MAX];
30 int flags;
31 int rate;
32 int usecount;
33 int num_children;
34 int last_child;
Amit Arora031263a2010-11-09 11:12:41 +053035 int expanded;
Amit Aroraac4e8652010-11-09 11:16:53 +053036 int level;
Amit Arora6e774cd2010-10-28 11:31:24 +053037 struct clock_info *parent;
38 struct clock_info **children;
Amit Aroraed3e5652010-10-27 12:02:53 +053039} *clocks_info;
40
41char debugfs_mntpoint[1024];
Amit Arora031263a2010-11-09 11:12:41 +053042char clock_lines[MAX_LINES][128];
43int clock_line_no;
Amit Aroraac4e8652010-11-09 11:16:53 +053044int old_clock_line_no;
Amit Aroraed3e5652010-10-27 12:02:53 +053045
46char *likely_mpoints[] = {
Amit Arora6e774cd2010-10-28 11:31:24 +053047 "/sys/kernel/debug",
48 "/debug",
49 NULL
Amit Aroraed3e5652010-10-27 12:02:53 +053050};
Amit Arora031263a2010-11-09 11:12:41 +053051
Amit Aroraac4e8652010-11-09 11:16:53 +053052void add_clock_details_recur(struct clock_info *clk, int hrow, int selected);
Amit Arora031263a2010-11-09 11:12:41 +053053void destroy_clocks_info(void);
54void destroy_clocks_info_recur(struct clock_info *clock);
Amit Aroraac4e8652010-11-09 11:16:53 +053055void collapse_all_subclocks(struct clock_info *clock);
Amit Aroraf4fb8102010-11-30 13:55:50 +053056void dump_all_parents(char *clkarg);
57struct clock_info *find_clock(struct clock_info *clk, char *clkarg);