]> git.karo-electronics.de Git - mv-sheeva.git/blobdiff - drivers/s390/scsi/zfcp_sysfs.c
Merge branch 'ec' into release
[mv-sheeva.git] / drivers / s390 / scsi / zfcp_sysfs.c
index 0fe5cce818cb48ce69968734f2a90c64267ab5f6..079a8cf518a3864e72a5d8d57031cbd4c2ba224f 100644 (file)
@@ -88,7 +88,7 @@ static ssize_t zfcp_sysfs_##_feat##_failed_store(struct device *dev,         \
        unsigned long val;                                                     \
        int retval = 0;                                                        \
                                                                               \
-       down(&zfcp_data.config_sema);                                          \
+       mutex_lock(&zfcp_data.config_mutex);                                   \
        if (atomic_read(&_feat->status) & ZFCP_STATUS_COMMON_REMOVE) {         \
                retval = -EBUSY;                                               \
                goto out;                                                      \
@@ -105,7 +105,7 @@ static ssize_t zfcp_sysfs_##_feat##_failed_store(struct device *dev,               \
                                  _reopen_id, NULL);                           \
        zfcp_erp_wait(_adapter);                                               \
 out:                                                                          \
-       up(&zfcp_data.config_sema);                                            \
+       mutex_unlock(&zfcp_data.config_mutex);                                 \
        return retval ? retval : (ssize_t) count;                              \
 }                                                                             \
 static ZFCP_DEV_ATTR(_feat, failed, S_IWUSR | S_IRUGO,                        \
@@ -126,7 +126,7 @@ static ssize_t zfcp_sysfs_port_rescan_store(struct device *dev,
        if (atomic_read(&adapter->status) & ZFCP_STATUS_COMMON_REMOVE)
                return -EBUSY;
 
-       ret = zfcp_scan_ports(adapter);
+       ret = zfcp_fc_scan_ports(adapter);
        return ret ? ret : (ssize_t) count;
 }
 static ZFCP_DEV_ATTR(adapter, port_rescan, S_IWUSR, NULL,
@@ -142,7 +142,7 @@ static ssize_t zfcp_sysfs_port_remove_store(struct device *dev,
        int retval = 0;
        LIST_HEAD(port_remove_lh);
 
-       down(&zfcp_data.config_sema);
+       mutex_lock(&zfcp_data.config_mutex);
        if (atomic_read(&adapter->status) & ZFCP_STATUS_COMMON_REMOVE) {
                retval = -EBUSY;
                goto out;
@@ -173,7 +173,7 @@ static ssize_t zfcp_sysfs_port_remove_store(struct device *dev,
        zfcp_port_put(port);
        zfcp_port_dequeue(port);
  out:
-       up(&zfcp_data.config_sema);
+       mutex_unlock(&zfcp_data.config_mutex);
        return retval ? retval : (ssize_t) count;
 }
 static ZFCP_DEV_ATTR(adapter, port_remove, S_IWUSR, NULL,
@@ -207,7 +207,7 @@ static ssize_t zfcp_sysfs_unit_add_store(struct device *dev,
        u64 fcp_lun;
        int retval = -EINVAL;
 
-       down(&zfcp_data.config_sema);
+       mutex_lock(&zfcp_data.config_mutex);
        if (atomic_read(&port->status) & ZFCP_STATUS_COMMON_REMOVE) {
                retval = -EBUSY;
                goto out;
@@ -226,7 +226,7 @@ static ssize_t zfcp_sysfs_unit_add_store(struct device *dev,
        zfcp_erp_wait(unit->port->adapter);
        zfcp_unit_put(unit);
 out:
-       up(&zfcp_data.config_sema);
+       mutex_unlock(&zfcp_data.config_mutex);
        return retval ? retval : (ssize_t) count;
 }
 static DEVICE_ATTR(unit_add, S_IWUSR, NULL, zfcp_sysfs_unit_add_store);
@@ -241,7 +241,7 @@ static ssize_t zfcp_sysfs_unit_remove_store(struct device *dev,
        int retval = 0;
        LIST_HEAD(unit_remove_lh);
 
-       down(&zfcp_data.config_sema);
+       mutex_lock(&zfcp_data.config_mutex);
        if (atomic_read(&port->status) & ZFCP_STATUS_COMMON_REMOVE) {
                retval = -EBUSY;
                goto out;
@@ -282,7 +282,7 @@ static ssize_t zfcp_sysfs_unit_remove_store(struct device *dev,
        zfcp_unit_put(unit);
        zfcp_unit_dequeue(unit);
 out:
-       up(&zfcp_data.config_sema);
+       mutex_unlock(&zfcp_data.config_mutex);
        return retval ? retval : (ssize_t) count;
 }
 static DEVICE_ATTR(unit_remove, S_IWUSR, NULL, zfcp_sysfs_unit_remove_store);
@@ -425,7 +425,7 @@ static ssize_t zfcp_sysfs_adapter_util_show(struct device *dev,
        if (!qtcb_port)
                return -ENOMEM;
 
-       retval = zfcp_fsf_exchange_port_data_sync(adapter, qtcb_port);
+       retval = zfcp_fsf_exchange_port_data_sync(adapter->qdio, qtcb_port);
        if (!retval)
                retval = sprintf(buf, "%u %u %u\n", qtcb_port->cp_util,
                                 qtcb_port->cb_util, qtcb_port->a_util);
@@ -451,7 +451,7 @@ static int zfcp_sysfs_adapter_ex_config(struct device *dev,
        if (!qtcb_config)
                return -ENOMEM;
 
-       retval = zfcp_fsf_exchange_config_data_sync(adapter, qtcb_config);
+       retval = zfcp_fsf_exchange_config_data_sync(adapter->qdio, qtcb_config);
        if (!retval)
                *stat_inf = qtcb_config->stat_info;
 
@@ -492,15 +492,15 @@ static ssize_t zfcp_sysfs_adapter_q_full_show(struct device *dev,
                                              char *buf)
 {
        struct Scsi_Host *scsi_host = class_to_shost(dev);
-       struct zfcp_adapter *adapter =
-               (struct zfcp_adapter *) scsi_host->hostdata[0];
+       struct zfcp_qdio *qdio =
+               ((struct zfcp_adapter *) scsi_host->hostdata[0])->qdio;
        u64 util;
 
-       spin_lock_bh(&adapter->qdio_stat_lock);
-       util = adapter->req_q_util;
-       spin_unlock_bh(&adapter->qdio_stat_lock);
+       spin_lock_bh(&qdio->stat_lock);
+       util = qdio->req_q_util;
+       spin_unlock_bh(&qdio->stat_lock);
 
-       return sprintf(buf, "%d %llu\n", atomic_read(&adapter->qdio_outb_full),
+       return sprintf(buf, "%d %llu\n", atomic_read(&qdio->req_q_full),
                       (unsigned long long)util);
 }
 static DEVICE_ATTR(queue_full, S_IRUGO, zfcp_sysfs_adapter_q_full_show, NULL);