Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

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

tracing/events: simplify system_enable_read()



A smarter way to figure out the output of an enable file.

[ Impact: clean up ]

Signed-off-by: default avatarLi Zefan <lizf@cn.fujitsu.com>
Acked-by: default avatarSteven Rostedt <rostedt@goodmis.org>
Acked-by: default avatarFrederic Weisbecker <fweisbec@gmail.com>
LKML-Reference: <4A0399A5.2080603@cn.fujitsu.com>
Signed-off-by: default avatarIngo Molnar <mingo@elte.hu>
parent 8f31bfe5
Loading
Loading
Loading
Loading
+6 −34
Original line number Diff line number Diff line
@@ -414,10 +414,11 @@ static ssize_t
system_enable_read(struct file *filp, char __user *ubuf, size_t cnt,
		   loff_t *ppos)
{
	const char set_to_char[4] = { '?', '0', '1', 'X' };
	const char *system = filp->private_data;
	struct ftrace_event_call *call;
	char buf[2];
	int set = -1;
	int set = 0;
	int ret;

	mutex_lock(&event_mutex);
@@ -433,47 +434,18 @@ system_enable_read(struct file *filp, char __user *ubuf, size_t cnt,
		 * or if all events or cleared, or if we have
		 * a mixture.
		 */
		if (call->enabled) {
			switch (set) {
			case -1:
				set = 1;
				break;
			case 0:
				set = 2;
				break;
			}
		} else {
			switch (set) {
			case -1:
				set = 0;
				break;
			case 1:
				set = 2;
				break;
			}
		}
		set |= (1 << !!call->enabled);

		/*
		 * If we have a mixture, no need to look further.
		 */
		if (set == 2)
		if (set == 3)
			break;
	}
	mutex_unlock(&event_mutex);

	buf[0] = set_to_char[set];
	buf[1] = '\n';
	switch (set) {
	case 0:
		buf[0] = '0';
		break;
	case 1:
		buf[0] = '1';
		break;
	case 2:
		buf[0] = 'X';
		break;
	default:
		buf[0] = '?';
	}

	ret = simple_read_from_buffer(ubuf, cnt, ppos, buf, 2);