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

Commit 291bc047 authored by Thomas Gleixner's avatar Thomas Gleixner Committed by Linus Torvalds
Browse files

[PATCH] clockevents: remove bad designed sysfs support for now



The current sysfs support of clockevents does not obey the "only one
value per file" rule.

The real fix is not 2.6.21 material. Therefor remove the sysfs support
for now.

Signed-off-by: default avatarThomas Gleixner <tglx@linutronix.de>
Acked-by: default avatarIngo Molnar <mingo@elte.hu>
Acked-by: default avatarGreg Kroah-Hartman <gregkh@suse.de>
Signed-off-by: default avatarLinus Torvalds <torvalds@linux-foundation.org>
parent e0f2e3a0
Loading
Loading
Loading
Loading
+0 −69
Original line number Diff line number Diff line
@@ -274,72 +274,3 @@ void clockevents_notify(unsigned long reason, void *arg)
}
EXPORT_SYMBOL_GPL(clockevents_notify);
#ifdef CONFIG_SYSFS

/**
 * clockevents_show_registered - sysfs interface for listing clockevents
 * @dev:	unused
 * @buf:	char buffer to be filled with clock events list
 *
 * Provides sysfs interface for listing registered clock event devices
 */
static ssize_t clockevents_show_registered(struct sys_device *dev, char *buf)
{
	struct list_head *tmp;
	char *p = buf;
	int cpu;

	spin_lock(&clockevents_lock);

	list_for_each(tmp, &clockevent_devices) {
		struct clock_event_device *ce;

		ce = list_entry(tmp, struct clock_event_device, list);
		p += sprintf(p, "%-20s F:%04x M:%d", ce->name,
			     ce->features, ce->mode);
		p += sprintf(p, " C:");
		if (!cpus_equal(ce->cpumask, cpu_possible_map)) {
			for_each_cpu_mask(cpu, ce->cpumask)
				p += sprintf(p, " %d", cpu);
		} else {
			/*
			 * FIXME: Add the cpu which is handling this sucker
			 */
		}
		p += sprintf(p, "\n");
	}

	spin_unlock(&clockevents_lock);

	return p - buf;
}

/*
 * Sysfs setup bits:
 */
static SYSDEV_ATTR(registered, 0600,
		   clockevents_show_registered, NULL);

static struct sysdev_class clockevents_sysclass = {
	set_kset_name("clockevents"),
};

static struct sys_device clockevents_sys_device = {
	.id	= 0,
	.cls	= &clockevents_sysclass,
};

static int __init clockevents_sysfs_init(void)
{
	int error = sysdev_class_register(&clockevents_sysclass);

	if (!error)
		error = sysdev_register(&clockevents_sys_device);
	if (!error)
		error = sysdev_create_file(
				&clockevents_sys_device,
				&attr_registered);
	return error;
}
device_initcall(clockevents_sysfs_init);
#endif