Joe Perches noticed some printks in smp.c that needed fixing. While I was in there, I did the usual tidying in arch/um/kernel, which should be fairly style-clean at this point: copyright updates emacs formatting comments removal include tidying style fixes Cc: Joe Perches <joe@perches.com> Signed-off-by: Jeff Dike <jdike@linux.intel.com> Signed-off-by: Andrew Morton <akpm@linux-foundation.org> Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
		
			
				
	
	
		
			50 lines
		
	
	
	
		
			1 KiB
			
		
	
	
	
		
			C
		
	
	
	
	
	
			
		
		
	
	
			50 lines
		
	
	
	
		
			1 KiB
			
		
	
	
	
		
			C
		
	
	
	
	
	
/*
 | 
						|
 * 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;
 | 
						|
}
 | 
						|
 | 
						|
int write_sigio_irq(int fd)
 | 
						|
{
 | 
						|
	int err;
 | 
						|
 | 
						|
	err = um_request_irq(SIGIO_WRITE_IRQ, fd, IRQ_READ, sigio_interrupt,
 | 
						|
			     IRQF_DISABLED|IRQF_SAMPLE_RANDOM, "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;
 | 
						|
}
 | 
						|
 | 
						|
/* 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);
 | 
						|
}
 | 
						|
 | 
						|
void sigio_unlock(void)
 | 
						|
{
 | 
						|
	spin_unlock(&sigio_spinlock);
 | 
						|
}
 |