You are not logged in.

#1 2009-12-13 18:12:11

LiteHacker
Member
Registered: 2008-11-27
Posts: 38
Website

Linux driver specification

Does anybody know where you can get the data file format specification for a linux driver? I'm interested in examining the internal structure of the most simple drivers (eg - the keyboard), to see how exactly the protocol is written.
Note that I am not asking how to write up and compile a linux driver. I am asking, what is the specification of the binary?
Additionally, where can you find all of these drivers? (keyboard, network card, etc.)

Thank you,
LiteHacker

Offline

#2 2009-12-13 18:15:45

thoughtcrime
Member
Registered: 2008-09-27
Posts: 156
Website

Re: Linux driver specification

I can tell you where you can find them. It's easy - they live all in the kernel wink


- blog (about arch and other stuff): http://thoughtyblog.wordpress.com/
- x86_64 user

Offline

#3 2009-12-13 18:50:09

LiteHacker
Member
Registered: 2008-11-27
Posts: 38
Website

Re: Linux driver specification

I mean a specification for binary drivers that can be added to the kernel separately.
For example, http://aur.archlinux.org/packages.php?ID=19514 <- If you look at the source of the broadcom code, it seems they put considerable amount of effort in making their binary to be compatible with some linux driver specification. It would be nice to know exactly what that was.

In order to get around your argument that "they all live in the kernel," consider microkernels, like MINIX3. Where are the drivers, and where can one find the binary driver protocol specification?

Last edited by LiteHacker (2009-12-13 19:01:31)

Offline

#4 2009-12-13 19:05:08

some-guy94
Member
Registered: 2009-08-15
Posts: 360

Re: Linux driver specification

Pretty much every driver can be compiled as a module, but the kernel api/abi is unstable, which is why proprietary vendors such as broadcom/nvidia/ati have to put a lot of effort in trying to make sure their driver works with multiple kernels.

Offline

Board footer

Powered by FluxBB