The Linux 2.4 Parallel Port Subsystem | ||
---|---|---|
<<< Previous | Next >>> |
To recap, then:
The device driver registers itself with parport.
A low-level driver finds a parallel port and registers it with
parport (these first two things can happen
in either order). This registration creates a struct
parport
which is linked onto a list of known ports.
parport calls the
attach function of each registered device
driver, passing it the pointer to the new struct
parport
.
The device driver gets a handle from
parport, for use with
parport_claim/release.
This handle takes the form of a pointer to a struct
pardevice
, representing a particular device on the
parallel port, and is acquired using
parport_register_device.
The device driver claims the port using parport_claim (or function_claim_or_block).
Then it goes ahead and uses the port. When finished it releases the port.
The purpose of the low-level drivers, then, is to detect parallel
ports and provide methods of accessing them (i.e. implementing the
operations in struct
parport_operations
).
A more complete description of which operation is supposed to do what is available in Documentation/parport-lowlevel.txt.
<<< Previous | Home | Next >>> |
Device driver's view | The printer driver |