cregit-Linux how code gets into the kernel

Release 4.14 arch/um/kernel/sigio.c

Directory: arch/um/kernel
/*
 * Copyright (C) 2002 - 2007 Jeff Dike (jdike@{linux.intel,addtoit}.com)
 * Licensed under the GPL
 */

#include <linux/interrupt.h>
#include <irq_kern.h>
#include <os.h>
#include <sigio.h>

/* Protected by sigio_lock() called from write_sigio_workaround */

static int sigio_irq_fd = -1;


static irqreturn_t sigio_interrupt(int irq, void *data) { char c; os_read_file(sigio_irq_fd, &c, sizeof(c)); reactivate_fd(sigio_irq_fd, SIGIO_WRITE_IRQ); return IRQ_HANDLED; }

Contributors

PersonTokensPropCommitsCommitProp
Jeff Dike3589.74%480.00%
Paolo 'Blaisorblade' Giarrusso410.26%120.00%
Total39100.00%5100.00%


int write_sigio_irq(int fd) { int err; err = um_request_irq(SIGIO_WRITE_IRQ, fd, IRQ_READ, sigio_interrupt, 0, "write sigio", NULL); if (err) { printk(KERN_ERR "write_sigio_irq : um_request_irq failed, " "err = %d\n", err); return -1; } sigio_irq_fd = fd; return 0; }

Contributors

PersonTokensPropCommitsCommitProp
Jeff Dike5598.21%375.00%
Theodore Y. Ts'o11.79%125.00%
Total56100.00%4100.00%

/* These are called from os-Linux/sigio.c to protect its pollfds arrays. */ static DEFINE_SPINLOCK(sigio_spinlock);
void sigio_lock(void) { spin_lock(&sigio_spinlock); }

Contributors

PersonTokensPropCommitsCommitProp
Jeff Dike13100.00%1100.00%
Total13100.00%1100.00%


void sigio_unlock(void) { spin_unlock(&sigio_spinlock); }

Contributors

PersonTokensPropCommitsCommitProp
Jeff Dike13100.00%1100.00%
Total13100.00%1100.00%


Overall Contributors

PersonTokensPropCommitsCommitProp
Jeff Dike13791.95%763.64%
Thomas Gleixner42.68%19.09%
Paolo 'Blaisorblade' Giarrusso42.68%19.09%
Al Viro32.01%19.09%
Theodore Y. Ts'o10.67%19.09%
Total149100.00%11100.00%
Directory: arch/um/kernel
Information contained on this website is for historical information purposes only and does not indicate or represent copyright ownership.
Created with cregit.