pqi_sas_node
struct pqi_sas_node *parent_node;
struct pqi_sas_node *sas_host;
int pqi_add_sas_device(struct pqi_sas_node *pqi_sas_node,
struct pqi_sas_node *pqi_sas_node, u64 sas_address,
pqi_sas_port->parent_node = pqi_sas_node;
port = sas_port_alloc_num(pqi_sas_node->parent_dev);
&pqi_sas_node->port_list_head);
static struct pqi_sas_node *pqi_alloc_sas_node(struct device *parent_dev)
struct pqi_sas_node *pqi_sas_node;
pqi_sas_node = kzalloc_obj(*pqi_sas_node);
if (pqi_sas_node) {
pqi_sas_node->parent_dev = parent_dev;
INIT_LIST_HEAD(&pqi_sas_node->port_list_head);
return pqi_sas_node;
static void pqi_free_sas_node(struct pqi_sas_node *pqi_sas_node)
if (!pqi_sas_node)
&pqi_sas_node->port_list_head, port_list_entry)
kfree(pqi_sas_node);
struct pqi_sas_node *pqi_sas_node;
pqi_sas_node = pqi_alloc_sas_node(parent_dev);
if (!pqi_sas_node)
pqi_sas_port = pqi_alloc_sas_port(pqi_sas_node,
ctrl_info->sas_host = pqi_sas_node;
pqi_free_sas_node(pqi_sas_node);
int pqi_add_sas_device(struct pqi_sas_node *pqi_sas_node,
pqi_sas_port = pqi_alloc_sas_port(pqi_sas_node,