1. NAME

parport_register_port - register a parallel port

2. SYNOPSIS

struct parport * parport_register_port(unsigned long  base , int  irq , int  dma , struct parport_operations *  ops );

3. ARGUMENTS

base
    base I/O address

irq
    IRQ line

dma
    DMA channel

ops
    pointer to the port driverAqs port operations structure

4. DESCRIPTION

When a parallel port (lowlevel) driver finds a port that should be made available to parallel port device drivers, it should call parport_register_port. The base, irq, and dma parameters are for the convenience of port drivers, and for ports where they arenAqt meaningful neednAqt be set to anything special. They can be altered afterwards by adjusting the relevant members of the parport structure that is returned and represents the port. They should not be tampered with after calling parport_announce_port, however.

If there are parallel port device drivers in the system that have registered themselves using parport_register_driver, they are not told about the port at this time; that is done by parport_announce_port.

The ops structure is allocated by the caller, and must not be deallocated before calling parport_remove_port.

If there is no memory to allocate a new parport structure, this function will return NULL.

5. COPYRIGHT