Пример #1
0
void register_handler_proc(unsigned int irq, struct irqaction *action)
{
	char name [MAX_NAMELEN];

	if (!irq_dir[irq] || action->dir || !action->name ||
					!name_unique(irq, action))
		return;

	memset(name, 0, MAX_NAMELEN);
	snprintf(name, MAX_NAMELEN, "%s", action->name);

	/* create /proc/irq/1234/handler/ */
	action->dir = proc_mkdir(name, irq_dir[irq]);
	if (!action->dir)
		return;
#ifndef CONFIG_PREEMPT_RT
	{
		struct proc_dir_entry *entry;
		/* create /proc/irq/1234/handler/threaded */
		entry = create_proc_entry("threaded", 0600, action->dir);
		if (!entry)
			return;
		entry->nlink = 1;
		entry->data = (void *)action;
		entry->read_proc = threaded_read_proc;
		entry->write_proc = threaded_write_proc;
		action->threaded = entry;
	}
#endif
}
Пример #2
0
void register_handler_proc(unsigned int irq, struct irqaction *action)
{
	char name [MAX_NAMELEN];

	if (!irq_dir[irq] || action->dir || !action->name ||
					!name_unique(irq, action))
		return;

	memset(name, 0, MAX_NAMELEN);
	snprintf(name, MAX_NAMELEN, "%s", action->name);

	/* create /proc/irq/1234/handler/ */
	action->dir = proc_mkdir(name, irq_dir[irq]);
}