Driver Entry Points sata_tran_probe_port(9E) NAME sata_tran_probe_port - probe SATA device port and determine port status. SYNOPSIS #include int sata_tran_probe_port(dev_info_t *dev_info, sata_device_t *sata_device); INTERFACE LEVEL Consolidation Private PARAMETERS dev_info Pointer to a dev_info_t structure, referring to the HBA device instance. sata_device Pointer to sata_device structure identifying the target port DESCRIPTION sata_tran_probe_port() function is called by SATA framework to determine a status of the port, detect a presence of a device, determine if a device is a Port Multiplier and if so, determine number of available port multiplier's sata device ports. SATA HBA Framework will call sata_tran_probe_port() for each device port of a SATA controller and each device port of every attached Port Multiplier. This function will be also called during explicit cfgadm request to connect and/or configure attachment point, and after SATA HBA driver notification of an asynchronous hotplug event (removal or attachment of a device). The state of the device port, the flag indicating a presence or absence of attached device and indication of port multiplier presence, it is connected, should be returned in appropriate fields of the sata_device structure passed as the function argument. If a port multiplier is connected to the probed port, the num_info field of the sata_device structure has to be set by SATA HBA driver to a number of port multiplier's device ports. This value should not include the port multiplier's host port. sata_tran_probe_port() function may be called from the interrupt context. RETURN VALUE Returns SATA_SUCCESS on success or SATA_FAILURE on failure (when the status of the port could not be determined). The function should return SATA_SUCCESS even when there is no device attached or the communication with the device cannot be established, as long as the device port state is known. SEE ALSO sata_hba_tran(9S), sata_hba_init(9F), sata_hba_fini(9F), sata_hba_attach(9F), sata_hba_detach(9F), sata_hba_event_notify(9F), sata_tran_start(9F), sata_tran_abort(9F), sata_tran_reset_dport(9f), sata_tran_self_test(9F), sata_tran_hotplug_ops(9S), sata_tran_pwrmgt_ops(9S), sata_tran_ioctl(9F), sata_address(9S), sata_device(9S), sata_pkt(9S)