Compaq AA-RNG2A-TE Network Card User Manual


 
6 Calls the READ_BUS_D16 macro a second time to determine whether
the EtherLink III is attached. If the data returned by READ_BUS_D16
is not 0x6d50, calls the printf( ) routine to display an appropriate
message on the console terminal.
7 Returns the value 0 (zero) to indicate that the probe operation failed.
8 Performs tasks related to the ISA bus if bus_type evaluates to the
constant BUS_ISA.
9 Calls the get_config( ) routine to obtain the base I/O address for
the device.
10 If get_config( ) is successful, stores the base I/O address in the reg
variable.
11 If get_config( ) is unsuccessful, calls the printf( ) routine to
display an appropriate message on the console terminal, then returns
the value 0 (zero) to indicate that the probe operation failed.
12 Calls the get_config( ) routine to obtain the interrupt request (IRQ)
line for the device. If get_config( ) is not successful, el_probe( )
calls the printf( ) routine to display an appropriate message on the
console terminal, then returns the value 0 (zero) to indicate that the
probe operation failed.
13 If this is the first ISA 3Com 3C5x9 adapter seen in the system, calls the
el_isa_reset_all( ) routine to reset all 3Com 3C5x9 adapters on
the ISA bus once to clear any bad state data.
14 Calls the el_isa_activate( ) routine to attempt to activate the
lowest addressed adapter on the bus and to configure it with the given
base address. If the attempt fails, el_probe() calls the printf( )
routine to display an appropriate message on the console terminal, then
returns the value 0 (zero) to indicate that the probe operation failed. See
the if_el source file (in the examples directory that is installed with
the device driver kit) for a listing of the el_isa_activate( ) routine.
15 If the driver is not operating on either the PCMCIA or ISA bus, calls
the printf( ) routine to display an appropriate message on the console
terminal, then returns the value 0 (zero) to indicate that the probe
operation failed.
5.1.4 Allocating Memory for the softc Data Structure
The following code shows how the el_probe( ) routine allocates memory
for the if_el device drivers softc data structure. If the device has already
been probed, the driver does not need to allocate the data structure. This
can happen if the user removed and then reinserted the device, an operation
that is only possible for PCMCIA versions of the adapter.
56 Implementing the Autoconfiguration Support Section (probe)