[SCSI] qla2xxx: Create an VPD sysfs entry for supported ISPs only.
authorAndrew Vasquez <andrew.vasquez@qlogic.com>
Fri, 23 Jun 2006 23:10:55 +0000 (16:10 -0700)
committerJames Bottomley <jejb@mulgrave.il.steeleye.com>
Mon, 26 Jun 2006 21:22:57 +0000 (16:22 -0500)
Signed-off-by: Andrew Vasquez <andrew.vasquez@qlogic.com>
Signed-off-by: James Bottomley <James.Bottomley@SteelEye.com>
drivers/scsi/qla2xxx/qla_attr.c

index 1a766b284cfc626cf41b455d2085e75d568d0875..87f90c4f08e94e07ae7cab8353ce67998a677a41 100644 (file)
@@ -294,9 +294,6 @@ qla2x00_sysfs_read_vpd(struct kobject *kobj, char *buf, loff_t off,
        if (!capable(CAP_SYS_ADMIN) || off != 0)
                return 0;
 
-       if (!IS_QLA24XX(ha) && !IS_QLA54XX(ha))
-               return -ENOTSUPP;
-
        /* Read NVRAM. */
        spin_lock_irqsave(&ha->hardware_lock, flags);
        ha->isp_ops.read_nvram(ha, (uint8_t *)buf, ha->vpd_base, ha->vpd_size);
@@ -316,9 +313,6 @@ qla2x00_sysfs_write_vpd(struct kobject *kobj, char *buf, loff_t off,
        if (!capable(CAP_SYS_ADMIN) || off != 0 || count != ha->vpd_size)
                return 0;
 
-       if (!IS_QLA24XX(ha) && !IS_QLA54XX(ha))
-               return -ENOTSUPP;
-
        /* Write NVRAM. */
        spin_lock_irqsave(&ha->hardware_lock, flags);
        ha->isp_ops.write_nvram(ha, (uint8_t *)buf, ha->vpd_base, count);
@@ -395,10 +389,12 @@ qla2x00_alloc_sysfs_attr(scsi_qla_host_t *ha)
        sysfs_create_bin_file(&host->shost_gendev.kobj, &sysfs_optrom_attr);
        sysfs_create_bin_file(&host->shost_gendev.kobj,
            &sysfs_optrom_ctl_attr);
-       sysfs_create_bin_file(&host->shost_gendev.kobj, &sysfs_vpd_attr);
-       if (IS_QLA24XX(ha) || IS_QLA54XX(ha))
+       if (IS_QLA24XX(ha) || IS_QLA54XX(ha)) {
+               sysfs_create_bin_file(&host->shost_gendev.kobj,
+                   &sysfs_vpd_attr);
                sysfs_create_bin_file(&host->shost_gendev.kobj,
                    &sysfs_sfp_attr);
+       }
 }
 
 void
@@ -411,10 +407,12 @@ qla2x00_free_sysfs_attr(scsi_qla_host_t *ha)
        sysfs_remove_bin_file(&host->shost_gendev.kobj, &sysfs_optrom_attr);
        sysfs_remove_bin_file(&host->shost_gendev.kobj,
            &sysfs_optrom_ctl_attr);
-       sysfs_remove_bin_file(&host->shost_gendev.kobj, &sysfs_vpd_attr);
-       if (IS_QLA24XX(ha) || IS_QLA54XX(ha))
+       if (IS_QLA24XX(ha) || IS_QLA54XX(ha)) {
+               sysfs_remove_bin_file(&host->shost_gendev.kobj,
+                   &sysfs_vpd_attr);
                sysfs_remove_bin_file(&host->shost_gendev.kobj,
                    &sysfs_sfp_attr);
+       }
 
        if (ha->beacon_blink_led == 1)
                ha->isp_ops.beacon_off(ha);