qla2xxx: Added interface to send explicit LOGO.
This patch adds interface to send explicit LOGO explicit LOGO using using ELS commands from driver. Signed-off-by: Himanshu Madhani <himanshu.madhani@qlogic.com> Signed-off-by: Giridhar Malavali <giridhar.malavali@qlogic.com> Signed-off-by: Nicholas Bellinger <nab@linux-iscsi.org>
This commit is contained in:
committed by
Nicholas Bellinger
parent
03e8c680d9
commit
6eb54715b5
@@ -823,6 +823,41 @@ static struct bin_attribute sysfs_reset_attr = {
|
||||
.write = qla2x00_sysfs_write_reset,
|
||||
};
|
||||
|
||||
static ssize_t
|
||||
qla2x00_issue_logo(struct file *filp, struct kobject *kobj,
|
||||
struct bin_attribute *bin_attr,
|
||||
char *buf, loff_t off, size_t count)
|
||||
{
|
||||
struct scsi_qla_host *vha = shost_priv(dev_to_shost(container_of(kobj,
|
||||
struct device, kobj)));
|
||||
int type;
|
||||
int rval = 0;
|
||||
port_id_t did;
|
||||
|
||||
type = simple_strtol(buf, NULL, 10);
|
||||
|
||||
did.b.domain = (type & 0x00ff0000) >> 16;
|
||||
did.b.area = (type & 0x0000ff00) >> 8;
|
||||
did.b.al_pa = (type & 0x000000ff);
|
||||
|
||||
ql_log(ql_log_info, vha, 0x70e3, "portid=%02x%02x%02x done\n",
|
||||
did.b.domain, did.b.area, did.b.al_pa);
|
||||
|
||||
ql_log(ql_log_info, vha, 0x70e4, "%s: %d\n", __func__, type);
|
||||
|
||||
rval = qla24xx_els_dcmd_iocb(vha, ELS_DCMD_LOGO, did);
|
||||
return count;
|
||||
}
|
||||
|
||||
static struct bin_attribute sysfs_issue_logo_attr = {
|
||||
.attr = {
|
||||
.name = "issue_logo",
|
||||
.mode = S_IWUSR,
|
||||
},
|
||||
.size = 0,
|
||||
.write = qla2x00_issue_logo,
|
||||
};
|
||||
|
||||
static ssize_t
|
||||
qla2x00_sysfs_read_xgmac_stats(struct file *filp, struct kobject *kobj,
|
||||
struct bin_attribute *bin_attr,
|
||||
@@ -937,6 +972,7 @@ static struct sysfs_entry {
|
||||
{ "vpd", &sysfs_vpd_attr, 1 },
|
||||
{ "sfp", &sysfs_sfp_attr, 1 },
|
||||
{ "reset", &sysfs_reset_attr, },
|
||||
{ "issue_logo", &sysfs_issue_logo_attr, },
|
||||
{ "xgmac_stats", &sysfs_xgmac_stats_attr, 3 },
|
||||
{ "dcbx_tlv", &sysfs_dcbx_tlv_attr, 3 },
|
||||
{ NULL },
|
||||
|
||||
Reference in New Issue
Block a user