Here is a new version of the patch to support the Automata Sercos III PCI card driver. I now check that the IRQ is enabled before accepting the interrupt. I still use a logical OR to store the enabled interrupts and I've added a second use of a logical OR when restoring the enabled interrupts. I added an explanation of why I do this in comments at the top of the source file. Since I use a logical OR, I also removed the extra checks if the Interrupt Enable Register and ier0_cache are 0. Signed-off-by: John Ogness <john.ogness@linutronix.de> Signed-off-by: Hans J. Koch <hjk@linutronix.de> Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
		
			
				
	
	
		
			74 lines
		
	
	
	
		
			2.4 KiB
			
		
	
	
	
		
			Text
		
	
	
	
	
	
			
		
		
	
	
			74 lines
		
	
	
	
		
			2.4 KiB
			
		
	
	
	
		
			Text
		
	
	
	
	
	
menuconfig UIO
 | 
						|
	tristate "Userspace I/O drivers"
 | 
						|
	depends on !S390
 | 
						|
	default n
 | 
						|
	help
 | 
						|
	  Enable this to allow the userspace driver core code to be
 | 
						|
	  built.  This code allows userspace programs easy access to
 | 
						|
	  kernel interrupts and memory locations, allowing some drivers
 | 
						|
	  to be written in userspace.  Note that a small kernel driver
 | 
						|
	  is also required for interrupt handling to work properly.
 | 
						|
 | 
						|
	  If you don't know what to do here, say N.
 | 
						|
 | 
						|
if UIO
 | 
						|
 | 
						|
config UIO_CIF
 | 
						|
	tristate "generic Hilscher CIF Card driver"
 | 
						|
	depends on PCI
 | 
						|
	default n
 | 
						|
	help
 | 
						|
	  Driver for Hilscher CIF DeviceNet and Profibus cards.  This
 | 
						|
	  driver requires a userspace component that handles all of the
 | 
						|
	  heavy lifting and can be found at:
 | 
						|
	  	http://www.osadl.org/projects/downloads/UIO/user/cif-*
 | 
						|
 | 
						|
	  To compile this driver as a module, choose M here: the module
 | 
						|
	  will be called uio_cif.
 | 
						|
 | 
						|
config UIO_PDRV
 | 
						|
	tristate "Userspace I/O platform driver"
 | 
						|
	help
 | 
						|
	  Generic platform driver for Userspace I/O devices.
 | 
						|
 | 
						|
	  If you don't know what to do here, say N.
 | 
						|
 | 
						|
config UIO_PDRV_GENIRQ
 | 
						|
	tristate "Userspace I/O platform driver with generic IRQ handling"
 | 
						|
	help
 | 
						|
	  Platform driver for Userspace I/O devices, including generic
 | 
						|
	  interrupt handling code. Shared interrupts are not supported.
 | 
						|
 | 
						|
	  This kernel driver requires that the matching userspace driver
 | 
						|
	  handles interrupts in a special way. Userspace is responsible
 | 
						|
	  for acknowledging the hardware device if needed, and re-enabling
 | 
						|
	  interrupts in the interrupt controller using the write() syscall.
 | 
						|
 | 
						|
	  If you don't know what to do here, say N.
 | 
						|
 | 
						|
config UIO_SMX
 | 
						|
	tristate "SMX cryptengine UIO interface"
 | 
						|
	default n
 | 
						|
	help
 | 
						|
	  Userspace IO interface to the Cryptography engine found on the
 | 
						|
	  Nias Digital SMX boards.  These will be available from Q4 2008
 | 
						|
	  from http://www.niasdigital.com.  The userspace part of this
 | 
						|
	  driver will be released under the GPL at the same time as the
 | 
						|
	  hardware and will be able to be downloaded from the same site.
 | 
						|
 | 
						|
	  If you compile this as a module, it will be called uio_smx.
 | 
						|
 | 
						|
config UIO_SERCOS3
 | 
						|
	tristate "Automata Sercos III PCI card driver"
 | 
						|
	default n
 | 
						|
	help
 | 
						|
	  Userspace I/O interface for the Sercos III PCI card from
 | 
						|
	  Automata GmbH. The userspace part of this driver will be
 | 
						|
	  available for download from the Automata GmbH web site.
 | 
						|
 | 
						|
	  Automata GmbH:        http://www.automataweb.com
 | 
						|
	  Sercos III interface: http://www.sercos.com
 | 
						|
 | 
						|
	  If you compile this as a module, it will be called uio_sercos3.
 | 
						|
 | 
						|
endif
 |