GIO bus driver for Linux 2.6

I am trying to resurrect the GIO bus Linux driver. GIO is the expansion bus of various SGI machines including IP12 (Indigo), IP20 (Indigo R4x00), IP22 (Indy/Indigo2), IP26 (Power Indigo2) and IP28 (Indigo2 R10000). So far it has only been tested on IP22 (Indy).
It was removed for various reasons.
This work is mostly done to get familiar with the internals of the Linux kernel and may or may not be useful.

"Improvements" and changes from old interface

  • Kernel 2.6 only
  • buildable as module (and only as module)
  • sysfs instead of procfs

Example output

When the module is loaded some information is printed:
GIO: Scanning for GIO cards...
GIO: Card 0x04 @ 0x1f000000 (GFX slot)
GIO: Card 0x7f @ 0x1f400000 (EXP0 slot)
You can get information using sysfs:
carrot:~# systool -v -b gio
Bus = "gio"

  Device = "00:00"
  Device path = "/sys/devices/00:00"
    id                  = "04"
    slot_name           = "GFX"

  Device = "00:01"
  Device path = "/sys/devices/00:01"
    id                  = "7F"
    slot_name           = "EXP0"

Download

Links

 

main
automagically?
linux stuff
hardware
dissected
talks
contact

Valid XHTML 1.1! Valid CSS!