]> pilppa.org Git - linux-2.6-omap-h63xx.git/blobdiff - drivers/scsi/qla2xxx/qla_dfs.c
Merge branch 'omap-clks3' into devel
[linux-2.6-omap-h63xx.git] / drivers / scsi / qla2xxx / qla_dfs.c
index 561a4411719d2a7791bc62ff9a0ce99f1820145a..c66036da7d2b75b5439ff743fef001c35fef886e 100644 (file)
@@ -15,10 +15,11 @@ static atomic_t qla2x00_dfs_root_count;
 static int
 qla2x00_dfs_fce_show(struct seq_file *s, void *unused)
 {
-       scsi_qla_host_t *ha = s->private;
+       scsi_qla_host_t *vha = s->private;
        uint32_t cnt;
        uint32_t *fce;
        uint64_t fce_start;
+       struct qla_hw_data *ha = vha->hw;
 
        mutex_lock(&ha->fce_mutex);
 
@@ -51,7 +52,8 @@ qla2x00_dfs_fce_show(struct seq_file *s, void *unused)
 static int
 qla2x00_dfs_fce_open(struct inode *inode, struct file *file)
 {
-       scsi_qla_host_t *ha = inode->i_private;
+       scsi_qla_host_t *vha = inode->i_private;
+       struct qla_hw_data *ha = vha->hw;
        int rval;
 
        if (!ha->flags.fce_enabled)
@@ -60,7 +62,7 @@ qla2x00_dfs_fce_open(struct inode *inode, struct file *file)
        mutex_lock(&ha->fce_mutex);
 
        /* Pause tracing to flush FCE buffers. */
-       rval = qla2x00_disable_fce_trace(ha, &ha->fce_wr, &ha->fce_rd);
+       rval = qla2x00_disable_fce_trace(vha, &ha->fce_wr, &ha->fce_rd);
        if (rval)
                qla_printk(KERN_WARNING, ha,
                    "DebugFS: Unable to disable FCE (%d).\n", rval);
@@ -75,7 +77,8 @@ out:
 static int
 qla2x00_dfs_fce_release(struct inode *inode, struct file *file)
 {
-       scsi_qla_host_t *ha = inode->i_private;
+       scsi_qla_host_t *vha = inode->i_private;
+       struct qla_hw_data *ha = vha->hw;
        int rval;
 
        if (ha->flags.fce_enabled)
@@ -86,7 +89,7 @@ qla2x00_dfs_fce_release(struct inode *inode, struct file *file)
        /* Re-enable FCE tracing. */
        ha->flags.fce_enabled = 1;
        memset(ha->fce, 0, fce_calc_size(ha->fce_bufs));
-       rval = qla2x00_enable_fce_trace(ha, ha->fce_dma, ha->fce_bufs,
+       rval = qla2x00_enable_fce_trace(vha, ha->fce_dma, ha->fce_bufs,
            ha->fce_mb, &ha->fce_bufs);
        if (rval) {
                qla_printk(KERN_WARNING, ha,
@@ -107,9 +110,11 @@ static const struct file_operations dfs_fce_ops = {
 };
 
 int
-qla2x00_dfs_setup(scsi_qla_host_t *ha)
+qla2x00_dfs_setup(scsi_qla_host_t *vha)
 {
-       if (!IS_QLA25XX(ha))
+       struct qla_hw_data *ha = vha->hw;
+
+       if (!IS_QLA25XX(ha) && !IS_QLA81XX(ha))
                goto out;
        if (!ha->fce)
                goto out;
@@ -130,7 +135,7 @@ create_dir:
                goto create_nodes;
 
        mutex_init(&ha->fce_mutex);
-       ha->dfs_dir = debugfs_create_dir(ha->host_str, qla2x00_dfs_root);
+       ha->dfs_dir = debugfs_create_dir(vha->host_str, qla2x00_dfs_root);
        if (!ha->dfs_dir) {
                qla_printk(KERN_NOTICE, ha,
                    "DebugFS: Unable to create ha directory.\n");
@@ -152,8 +157,9 @@ out:
 }
 
 int
-qla2x00_dfs_remove(scsi_qla_host_t *ha)
+qla2x00_dfs_remove(scsi_qla_host_t *vha)
 {
+       struct qla_hw_data *ha = vha->hw;
        if (ha->dfs_fce) {
                debugfs_remove(ha->dfs_fce);
                ha->dfs_fce = NULL;