Commit 12aac19d authored by Li Zefan's avatar Li Zefan Committed by Ingo Molnar
Browse files

lockdep: Simplify lockdep_chains seqfile code



- make lc_next() call lc_start()
- use lock_chains directly instead of storing it in m->private

Signed-off-by: default avatarLi Zefan <lizf@cn.fujitsu.com>
Cc: Peter Zijlstra <peterz@infradead.org>
LKML-Reference: <4A88ED57.5060609@cn.fujitsu.com>
Signed-off-by: default avatarIngo Molnar <mingo@elte.hu>
parent 8109e1de
Loading
Loading
Loading
Loading
+7 −30
Original line number Original line Diff line number Diff line
@@ -113,26 +113,6 @@ static const struct file_operations proc_lockdep_operations = {
};
};


#ifdef CONFIG_PROVE_LOCKING
#ifdef CONFIG_PROVE_LOCKING
static void *lc_next(struct seq_file *m, void *v, loff_t *pos)
{
	struct lock_chain *chain;

	(*pos)++;

	if (v == SEQ_START_TOKEN)
		chain = m->private;
	else {
		chain = v;

		if (*pos - 1 < nr_lock_chains)
			chain = lock_chains + (*pos - 1);
		else
			chain = NULL;
	}

	return chain;
}

static void *lc_start(struct seq_file *m, loff_t *pos)
static void *lc_start(struct seq_file *m, loff_t *pos)
{
{
	if (*pos == 0)
	if (*pos == 0)
@@ -144,6 +124,12 @@ static void *lc_start(struct seq_file *m, loff_t *pos)
	return NULL;
	return NULL;
}
}


static void *lc_next(struct seq_file *m, void *v, loff_t *pos)
{
	(*pos)++;
	return lc_start(m, pos);
}

static void lc_stop(struct seq_file *m, void *v)
static void lc_stop(struct seq_file *m, void *v)
{
{
}
}
@@ -184,16 +170,7 @@ static const struct seq_operations lockdep_chains_ops = {


static int lockdep_chains_open(struct inode *inode, struct file *file)
static int lockdep_chains_open(struct inode *inode, struct file *file)
{
{
	int res = seq_open(file, &lockdep_chains_ops);
	return seq_open(file, &lockdep_chains_ops);
	if (!res) {
		struct seq_file *m = file->private_data;

		if (nr_lock_chains)
			m->private = lock_chains;
		else
			m->private = NULL;
	}
	return res;
}
}


static const struct file_operations proc_lockdep_chains_operations = {
static const struct file_operations proc_lockdep_chains_operations = {