Messages in this thread | | | From | Bret Indrelee <> | Subject | RE: Universal Driver Interface spec available | Date | Thu, 2 Sep 1999 09:27:28 -0500 |
| |
> Alan Cox wrote: > > Not sure why anyone thinks this is Linux relevant 8) - > other than it will help > > to make our drivers even faster than the competition if > they adopt it. > > Have a read, but keep a bucket handy > > In response to you and David: I agree :) But if vendors take this > seriously, I have a feeling a UDI interface will eventually appear. > Lack of UDI support may be an encouragement or a discouragement, > depending on the complexity of the device driver.
Actually there are a couple of reasons it is relevant to Linux.
There is already code out there to run UDI drivers on a Linux system. If you look, one of the demonstration systems was a Linux system. Intel did the port.
Intel has also made statements to the effect of reference drivers for it's hardware are most likely going to be UDI. If this happens, you are going to want UDI support just so you can bring up new Intel hardware fast.
With some work on the UDI interface, you should be able to make it so all UDI drivers are RTLinux friendly. Also, you could change the mutex/semaphore/locking code as many times as your little hearts desire without having to rewrite every UDI driver. The UDI interface has all of the mutex and timed waits happening outside the driver, in the UDI support routines.
I would have thought that people would rather spend their time working on improving the operating system rather than rewrite an ethernet or SCSI device driver for the umpteenth time. That is what UDI is intended to allow you to do, focus on the OS and use standard drivers.
> On a related subject, I think Linux could use a much more coherent -- > and documented -- device driver interface. Writing portable Linux > device drivers requires very in-depth knowledge of the Linux 'arch' > code; I find myself checking the Alpha or Sparc arch code a > lot to make > sure that the I/O routines and such that I call work as expected.
How about just a documented driver interface that doesn't change? The interface has changed for EVERY KERNEL VERSION lately.
The 2.0 drivers had to be modified for 2.2. I believe I've seen indications that further SMP patches will make it necessary to change the drivers again for 2.4, although I haven't found any documentation that clearly spells this out.
Where is the documentation on writing drivers for Linux? I've got the Rubini book, which is stuck back in kernel version 1.2 for a lot of stuff. There are enough changes where none of his examples compile correctly under 2.2. It wasn't until I started compiling stuff that I found out that the PCI interface had changed, I have no idea how many other things have changed since the time of the book.
-Bret
------------------------------------------------------------- SBS Technologies, Connectivity Products ... solutions for real-time connectivity
Bret Indrelee, Engineer SBS Technologies, Inc., Connectivity Products 1284 Corporate Center Drive, St. Paul MN 55121 Direct: (651) 905-4731 Main: (651) 905-4700 Fax: (651) 905-4701 E-mail: bindrelee@sbs-cp.com http://www.sbs.com -------------------------------------------------------------
- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo@vger.rutgers.edu Please read the FAQ at http://www.tux.org/lkml/
| |