[SCSI] qla2xxx: Remove EDC sysfs interface.
authorJoe Carnuccio <joe.carnuccio@qlogic.com>
Thu, 9 Feb 2012 19:15:55 +0000 (11:15 -0800)
committerJames Bottomley <JBottomley@Parallels.com>
Sun, 19 Feb 2012 14:26:03 +0000 (08:26 -0600)
Signed-off-by: Joe Carnuccio <joe.carnuccio@qlogic.com>
Signed-off-by: Chad Dupuis <chad.dupuis@qlogic.com>
Signed-off-by: James Bottomley <JBottomley@Parallels.com>
drivers/scsi/qla2xxx/qla_attr.c
drivers/scsi/qla2xxx/qla_dbg.c
drivers/scsi/qla2xxx/qla_def.h
drivers/scsi/qla2xxx/qla_os.c

index e21db2f..5926f5a 100644 (file)
@@ -628,144 +628,6 @@ static struct bin_attribute sysfs_reset_attr = {
 };
 
 static ssize_t
-qla2x00_sysfs_write_edc(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)));
-       struct qla_hw_data *ha = vha->hw;
-       uint16_t dev, adr, opt, len;
-       int rval;
-
-       ha->edc_data_len = 0;
-
-       if (!capable(CAP_SYS_ADMIN) || off != 0 || count < 8)
-               return -EINVAL;
-
-       if (!ha->edc_data) {
-               ha->edc_data = dma_pool_alloc(ha->s_dma_pool, GFP_KERNEL,
-                   &ha->edc_data_dma);
-               if (!ha->edc_data) {
-                       ql_log(ql_log_warn, vha, 0x7073,
-                           "Unable to allocate memory for EDC write.\n");
-                       return -ENOMEM;
-               }
-       }
-
-       dev = le16_to_cpup((void *)&buf[0]);
-       adr = le16_to_cpup((void *)&buf[2]);
-       opt = le16_to_cpup((void *)&buf[4]);
-       len = le16_to_cpup((void *)&buf[6]);
-
-       if (!(opt & BIT_0))
-               if (len == 0 || len > DMA_POOL_SIZE || len > count - 8)
-                       return -EINVAL;
-
-       memcpy(ha->edc_data, &buf[8], len);
-
-       rval = qla2x00_write_sfp(vha, ha->edc_data_dma, ha->edc_data,
-           dev, adr, len, opt);
-       if (rval != QLA_SUCCESS) {
-               ql_log(ql_log_warn, vha, 0x7074,
-                   "Unable to write EDC (%x) %02x:%02x:%04x:%02x:%02hhx\n",
-                   rval, dev, adr, opt, len, buf[8]);
-               return -EIO;
-       }
-
-       return count;
-}
-
-static struct bin_attribute sysfs_edc_attr = {
-       .attr = {
-               .name = "edc",
-               .mode = S_IWUSR,
-       },
-       .size = 0,
-       .write = qla2x00_sysfs_write_edc,
-};
-
-static ssize_t
-qla2x00_sysfs_write_edc_status(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)));
-       struct qla_hw_data *ha = vha->hw;
-       uint16_t dev, adr, opt, len;
-       int rval;
-
-       ha->edc_data_len = 0;
-
-       if (!capable(CAP_SYS_ADMIN) || off != 0 || count < 8)
-               return -EINVAL;
-
-       if (!ha->edc_data) {
-               ha->edc_data = dma_pool_alloc(ha->s_dma_pool, GFP_KERNEL,
-                   &ha->edc_data_dma);
-               if (!ha->edc_data) {
-                       ql_log(ql_log_warn, vha, 0x708c,
-                           "Unable to allocate memory for EDC status.\n");
-                       return -ENOMEM;
-               }
-       }
-
-       dev = le16_to_cpup((void *)&buf[0]);
-       adr = le16_to_cpup((void *)&buf[2]);
-       opt = le16_to_cpup((void *)&buf[4]);
-       len = le16_to_cpup((void *)&buf[6]);
-
-       if (!(opt & BIT_0))
-               if (len == 0 || len > DMA_POOL_SIZE)
-                       return -EINVAL;
-
-       memset(ha->edc_data, 0, len);
-       rval = qla2x00_read_sfp(vha, ha->edc_data_dma, ha->edc_data,
-                       dev, adr, len, opt);
-       if (rval != QLA_SUCCESS) {
-               ql_log(ql_log_info, vha, 0x7075,
-                   "Unable to write EDC status (%x) %02x:%02x:%04x:%02x.\n",
-                   rval, dev, adr, opt, len);
-               return -EIO;
-       }
-
-       ha->edc_data_len = len;
-
-       return count;
-}
-
-static ssize_t
-qla2x00_sysfs_read_edc_status(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)));
-       struct qla_hw_data *ha = vha->hw;
-
-       if (!capable(CAP_SYS_ADMIN) || off != 0 || count == 0)
-               return 0;
-
-       if (!ha->edc_data || ha->edc_data_len == 0 || ha->edc_data_len > count)
-               return -EINVAL;
-
-       memcpy(buf, ha->edc_data, ha->edc_data_len);
-
-       return ha->edc_data_len;
-}
-
-static struct bin_attribute sysfs_edc_status_attr = {
-       .attr = {
-               .name = "edc_status",
-               .mode = S_IRUSR | S_IWUSR,
-       },
-       .size = 0,
-       .write = qla2x00_sysfs_write_edc_status,
-       .read = qla2x00_sysfs_read_edc_status,
-};
-
-static ssize_t
 qla2x00_sysfs_read_xgmac_stats(struct file *filp, struct kobject *kobj,
                       struct bin_attribute *bin_attr,
                       char *buf, loff_t off, size_t count)
@@ -880,8 +742,6 @@ static struct sysfs_entry {
        { "vpd", &sysfs_vpd_attr, 1 },
        { "sfp", &sysfs_sfp_attr, 1 },
        { "reset", &sysfs_reset_attr, },
-       { "edc", &sysfs_edc_attr, 2 },
-       { "edc_status", &sysfs_edc_status_attr, 2 },
        { "xgmac_stats", &sysfs_xgmac_stats_attr, 3 },
        { "dcbx_tlv", &sysfs_dcbx_tlv_attr, 3 },
        { NULL },
index c28309b..d16b1c0 100644 (file)
  * | Async Events                 |       0x505d       | 0x502b-0x502f  |
  * |                              |                    | 0x5047,0x5052  |
  * | Timer Routines               |       0x6011       | 0x600e-0x600f  |
- * | User Space Interactions      |       0x709e       | 0x7018,0x702e  |
- * |                              |                    | 0x7039,0x7045  |
+ * | User Space Interactions      |       0x709f       | 0x7018,0x702e, |
+ * |                              |                    | 0x7039,0x7045, |
+ * |                              |                    | 0x7073-0x7075, |
+ * |                              |                    | 0x708c         |
  * | Task Management              |       0x803c       | 0x8025-0x8026  |
  * |                              |                    | 0x800b,0x8039  |
  * | AER/EEH                      |       0x900f       |               |
index 1281f5b..9d353ca 100644 (file)
@@ -2646,10 +2646,6 @@ struct qla_hw_data {
        void            *sfp_data;
        dma_addr_t      sfp_data_dma;
 
-       uint8_t         *edc_data;
-       dma_addr_t      edc_data_dma;
-       uint16_t        edc_data_len;
-
 #define XGMAC_DATA_SIZE        4096
        void            *xgmac_data;
        dma_addr_t      xgmac_data_dma;
index a8de6a3..ffa3488 100644 (file)
@@ -3233,9 +3233,6 @@ qla2x00_mem_free(struct qla_hw_data *ha)
        if (ha->sfp_data)
                dma_pool_free(ha->s_dma_pool, ha->sfp_data, ha->sfp_data_dma);
 
-       if (ha->edc_data)
-               dma_pool_free(ha->s_dma_pool, ha->edc_data, ha->edc_data_dma);
-
        if (ha->ms_iocb)
                dma_pool_free(ha->s_dma_pool, ha->ms_iocb, ha->ms_iocb_dma);