linux/drivers/scsi/libsas/sas_port.c

// SPDX-License-Identifier: GPL-2.0
/*
 * Serial Attached SCSI (SAS) Port class
 *
 * Copyright (C) 2005 Adaptec, Inc.  All rights reserved.
 * Copyright (C) 2005 Luben Tuikov <[email protected]>
 */

#include "sas_internal.h"

#include <scsi/scsi_transport.h>
#include <scsi/scsi_transport_sas.h>
#include "scsi_sas_internal.h"

static bool phy_is_wideport_member(struct asd_sas_port *port, struct asd_sas_phy *phy)
{}

static void sas_resume_port(struct asd_sas_phy *phy)
{}

static void sas_form_port_add_phy(struct asd_sas_port *port,
				  struct asd_sas_phy *phy, bool wideport)
{}

/**
 * sas_form_port - add this phy to a port
 * @phy: the phy of interest
 *
 * This function adds this phy to an existing port, thus creating a wide
 * port, or it creates a port and adds the phy to the port.
 */
static void sas_form_port(struct asd_sas_phy *phy)
{}

/**
 * sas_deform_port - remove this phy from the port it belongs to
 * @phy: the phy of interest
 * @gone: whether or not the PHY is gone
 *
 * This is called when the physical link to the other phy has been
 * lost (on this phy), in Event thread context. We cannot delay here.
 */
void sas_deform_port(struct asd_sas_phy *phy, int gone)
{}

/* ---------- SAS port events ---------- */

void sas_porte_bytes_dmaed(struct work_struct *work)
{}

void sas_porte_broadcast_rcvd(struct work_struct *work)
{}

void sas_porte_link_reset_err(struct work_struct *work)
{}

void sas_porte_timer_event(struct work_struct *work)
{}

void sas_porte_hard_reset(struct work_struct *work)
{}

/* ---------- SAS port registration ---------- */

static void sas_init_port(struct asd_sas_port *port,
			  struct sas_ha_struct *sas_ha, int i)
{}

int sas_register_ports(struct sas_ha_struct *sas_ha)
{}

void sas_unregister_ports(struct sas_ha_struct *sas_ha)
{}

const work_func_t sas_port_event_fns[PORT_NUM_EVENTS] =;