25 Mar, 2008

1 commit

  • Mapping of physical memory in UIO needs pgprot_noncached() to ensure
    that IO memory is not cached. Without pgprot_noncached(), it (accidentally)
    works on x86 and arm, but fails on PPC.

    Signed-off-by: Jean-Samuel Chenard
    Signed-off-by: Hans J Koch
    Cc: stable
    Signed-off-by: Greg Kroah-Hartman

    Jean-Samuel Chenard
     

22 Feb, 2008

1 commit

  • This fixes two bugs with UIO that cropped up recently in -rc1

    1) WARNING: at fs/sysfs/file.c:334 sysfs_open_file when trying to open
    a map addr/size file - complaining about missing sysfs_ops for ktype

    2) Permission denied when reading uio/uio0/maps/map0/{addr,size} when
    files are mode S_IRUGO

    Also fix a typo: attr_attribute -> addr_attribute

    Signed-off-by: Brandon Philips
    Signed-off-by: Hans J. Koch
    Signed-off-by: Greg Kroah-Hartman

    Brandon Philips
     

07 Feb, 2008

1 commit

  • Convert uio from nopage to fault.

    Signed-off-by: Nick Piggin
    Acked-by: Hans J Koch
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Nick Piggin
     

25 Jan, 2008

6 commits


19 Jul, 2007

2 commits

  • 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: Hans-Jürgen Koch
    Signed-off-by: Greg Kroah-Hartman

    Hans-Jürgen 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
    Cc: Thomas Gleixner
    Cc: Benedikt Spranger
    Signed-off-by: Greg Kroah-Hartman

    Hans J. Koch