blob: 9a945b7f1f8cecc0473e35739cdf4e1fc8cd5332 [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 Arora031263a2010-11-09 11:12:41 +053023#define MAX_LINES 80
24
Amit Aroraed3e5652010-10-27 12:02:53 +053025struct clock_info {
Amit Arora6e774cd2010-10-28 11:31:24 +053026 char name[NAME_MAX];
27 int flags;
28 int rate;
29 int usecount;
30 int num_children;
31 int last_child;
Amit Arora031263a2010-11-09 11:12:41 +053032 int expanded;
Amit Aroraac4e8652010-11-09 11:16:53 +053033 int level;
Amit Arora6e774cd2010-10-28 11:31:24 +053034 struct clock_info *parent;
35 struct clock_info **children;
Amit Aroraed3e5652010-10-27 12:02:53 +053036} *clocks_info;
37
38char debugfs_mntpoint[1024];
Amit Arora031263a2010-11-09 11:12:41 +053039char clock_lines[MAX_LINES][128];
40int clock_line_no;
Amit Aroraac4e8652010-11-09 11:16:53 +053041int old_clock_line_no;
Amit Aroraed3e5652010-10-27 12:02:53 +053042
43char *likely_mpoints[] = {
Amit Arora6e774cd2010-10-28 11:31:24 +053044 "/sys/kernel/debug",
45 "/debug",
46 NULL
Amit Aroraed3e5652010-10-27 12:02:53 +053047};
Amit Arora031263a2010-11-09 11:12:41 +053048
Amit Aroraac4e8652010-11-09 11:16:53 +053049void add_clock_details_recur(struct clock_info *clk, int hrow, int selected);
Amit Arora031263a2010-11-09 11:12:41 +053050void destroy_clocks_info(void);
51void destroy_clocks_info_recur(struct clock_info *clock);
Amit Aroraac4e8652010-11-09 11:16:53 +053052void collapse_all_subclocks(struct clock_info *clock);