init(D2I) init(D2I)
NAME
init - perform first stage initialization and registration of
a Host Bus Adapter
SYNOPSIS
int prefixinit(void);
Arguments
None.
DESCRIPTION
init(D2I) performs first stage Host Bus Adapter (HBA)-specific
initialization and allocation of data structures (command
blocks, queues, and so on).
Return Values
On success, init returns 0. On failure, it returns -1,
indicating no hardware found or other error.
USAGE
This entry point is for Host Bus Adapter (HBA) drivers. This
part of the initialization is performed with system interrupts
enabled and must conform to the definition of a init routine,
as defined by init(D2).
The init routine is called once and must perform first phase
initialization for each configured controller. The
prefixcntls contain the number of configured controllers, and
prefixidata[] contains the controller-specific configuration
data.
As part of this initialization, the init routine needs to
determine whether the specified type of HBA controller is
present. Each HBA init routine needs to search for the
presence of controllers without causing problems for the other
devices present. Therefore, it should use only the minimum
number of inb and outb steps needed to detect an HBA
controller. If an action is needed only after a controller is
detected, this action should not be performed until the
detection is complete and may be performed by the second phase
initialization, start(D2I). Examples of post-detection steps
include DMA initialization or other actions which can effect
the system or other controllers.
Copyright 1994 Novell, Inc. Page 1
init(D2I) init(D2I)
Drivers that probe I/O ports to verify that the associated
hardware is present should read and save the value from the
port before modifying it. If it is determined that the
hardware is not present, drivers should restore the port
value. This procedure will not prevent all conflicts, but
does reduce the possibility of catastrophic failure.
Level
Base only.
REFERENCES
init(D2), sdi_gethbano(D3I), sdi_register(D3I), start(D2),
start(D2I)
NOTICES
Applicability
sdi: 1, 2
Copyright 1994 Novell, Inc. Page 2