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 }
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]); }