1. 22 8月, 2008 1 次提交
    • M
      UIO: generic irq handling for some uio platform devices · c767db0a
      Magnus Damm 提交于
      This is V3 of uio_pdrv_genirq.c, a platform driver for UIO with
      generic IRQ handling code. This driver is very similar to the regular
      UIO platform driver, but is only suitable for devices that are
      connected to the interrupt controller using unique interrupt lines.
      
      The uio_pdrv_genirq driver includes generic interrupt handling code
      which disables the serviced interrupt in the interrupt controller
      and makes the user space driver responsible for acknowledging the
      interrupt in the device and reenabling the interrupt in the interrupt
      controller.
      
      Shared interrupts are not supported since the in-kernel interrupt
      handler will disable the interrupt line in the interrupt controller,
      and in a shared interrupt configuration this will stop other devices
      from delivering interrupts.
      Signed-off-by: NMagnus Damm <damm@igel.co.jp>
      Signed-off-by: NHans J. Koch <hjk@linutronix.de>
      Signed-off-by: NGreg Kroah-Hartman <gregkh@suse.de>
      c767db0a
  2. 22 7月, 2008 2 次提交
  3. 20 4月, 2008 2 次提交
    • B
      UIO: Implement a UIO interface for the SMX Cryptengine · b54f2863
      Ben Nizette 提交于
      This patch implements a UIO interface for the SMX Cryptengine.
      
      The Cryptengine found on the Nias Digital SMX board is best suited
      for a UIO interface.  It is not wired in to the cryptographic API
      as the engine handles it's own keys, algorithms, everything.  All
      that we know about is that if there's room in the buffer, you can
      write data to it and when there's data ready, you read it out again.
      
      There isn't necessarily even any direct correlation between data
      going in and data coming out again, the engine may consume or
      generate data all on its own.
      
      This driver is for proprietary hardware but we're always told to
      submit the drivers anyway; here you are.  :-)
      
      This is version 4 of this patch and addresses all issues raised by
      Hans-Jürgen Koch and Paul Mundt in their reviews.  Slightly altered
      is Paul's suggestion to use DRV_NAME and DRV_VERSION as the UIO
      version and name.  While at the moment they are the same, there
      is no reason for them to stay that way.  Nevertheless we now at
      least provide a MODULE_VERSION macro to keep modinfo happy.
      Signed-off-by: NBen Nizette <bn@niasdigital.com>
      Acked-by: NPaul Mundt <lethal@linux-sh.org>
      Signed-off-by: NHans J Koch <hjk@linutronix.de>
      Signed-off-by: NGreg Kroah-Hartman <gregkh@suse.de>
      b54f2863
    • D
      uio: Kconfig improvements · ae210f18
      Denis Cheng 提交于
      Signed-off-by: NDenis Cheng <crquan@gmail.com>
      Signed-off-by: NHans J. Koch <hjk@linutronix.de>
      Signed-off-by: NGreg Kroah-Hartman <gregkh@suse.de>
      ae210f18
  4. 19 7月, 2007 2 次提交
    • H
      UIO: Hilscher CIF card driver · bc4c4f45
      Hans-Jürgen Koch 提交于
      this is a patch that adds support for Hilscher CIF DeviceNet and
      Profibus cards. I tested it on a Kontron CPX board, and Thomas reviewed
      it.
      
      You can find the user space part here:
      
      http://www.osadl.org/projects/downloads/UIO/user/cif-0.1.0.tar.gz
      
      Notes: cif_api.c is the main file you want to look at. It contains the
      functions to open, close, mmap and so on. cif_dps.c adds functions
      specific to Profibus cards, and cif_dn.c contains functions for
      DeviceNet cards.  cif.c is a universal playground, it's just a small
      test program.  The user space part of this UIO driver is still work in
      progress, and not everything is tested yet. At the moment, the thread in
      cif_api.c contains some code that artificially makes the card generate
      interrupts, this was added for testing and will be removed later. But
      the driver already contains all the functions needed for useful
      operation, so it gives a good idea of how such a thing looks like.
      
      For comparison, here's what you get from the manufacturer
      (www.hilscher.com) when you ask for a Linux 2.6 driver:
      
      http://www.tglx.de/private/hjk/cif-orig-2.6.tar.bz2
      
      WARNING: Don't look at the code for too long, you might become sick :-)
      Signed-off-by: NHans-Jürgen Koch <hjk@linutronix.de>
      Signed-off-by: NGreg Kroah-Hartman <gregkh@suse.de>
      bc4c4f45
    • H
      UIO: Add the User IO core code · beafc54c
      Hans J. Koch 提交于
      This interface allows the ability to write the majority of a driver in
      userspace with only a very small shell of a driver in the kernel itself.
      It uses a char device and sysfs to interact with a userspace process to
      process interrupts and control memory accesses.
      
      See the docbook documentation for more details on how to use this
      interface.
      
      From: Hans J. Koch <hjk@linutronix.de>
      Cc: Thomas Gleixner <tglx@linutronix.de>
      Cc: Benedikt Spranger <b.spranger@linutronix.de>
      Signed-off-by: NGreg Kroah-Hartman <gregkh@suse.de>
      beafc54c