Merge tag 's390-6.4-1' of git://git.kernel.org/pub/scm/linux/kernel/git/s390/linux
[linux-block.git] / drivers / s390 / crypto / zcrypt_api.c
index cff2eea88f98dee58d9816941c07007f109c1e07..444ef95d3f598ad4c6f2953da0113fda17983916 100644 (file)
@@ -159,25 +159,20 @@ static ssize_t ioctlmask_show(struct device *dev,
                              struct device_attribute *attr,
                              char *buf)
 {
-       int i, rc;
        struct zcdn_device *zcdndev = to_zcdn_dev(dev);
+       int i, n;
 
        if (mutex_lock_interruptible(&ap_perms_mutex))
                return -ERESTARTSYS;
 
-       buf[0] = '0';
-       buf[1] = 'x';
+       n = sysfs_emit(buf, "0x");
        for (i = 0; i < sizeof(zcdndev->perms.ioctlm) / sizeof(long); i++)
-               snprintf(buf + 2 + 2 * i * sizeof(long),
-                        PAGE_SIZE - 2 - 2 * i * sizeof(long),
-                        "%016lx", zcdndev->perms.ioctlm[i]);
-       buf[2 + 2 * i * sizeof(long)] = '\n';
-       buf[2 + 2 * i * sizeof(long) + 1] = '\0';
-       rc = 2 + 2 * i * sizeof(long) + 1;
+               n += sysfs_emit_at(buf, n, "%016lx", zcdndev->perms.ioctlm[i]);
+       n += sysfs_emit_at(buf, n, "\n");
 
        mutex_unlock(&ap_perms_mutex);
 
-       return rc;
+       return n;
 }
 
 static ssize_t ioctlmask_store(struct device *dev,
@@ -201,25 +196,20 @@ static ssize_t apmask_show(struct device *dev,
                           struct device_attribute *attr,
                           char *buf)
 {
-       int i, rc;
        struct zcdn_device *zcdndev = to_zcdn_dev(dev);
+       int i, n;
 
        if (mutex_lock_interruptible(&ap_perms_mutex))
                return -ERESTARTSYS;
 
-       buf[0] = '0';
-       buf[1] = 'x';
+       n = sysfs_emit(buf, "0x");
        for (i = 0; i < sizeof(zcdndev->perms.apm) / sizeof(long); i++)
-               snprintf(buf + 2 + 2 * i * sizeof(long),
-                        PAGE_SIZE - 2 - 2 * i * sizeof(long),
-                        "%016lx", zcdndev->perms.apm[i]);
-       buf[2 + 2 * i * sizeof(long)] = '\n';
-       buf[2 + 2 * i * sizeof(long) + 1] = '\0';
-       rc = 2 + 2 * i * sizeof(long) + 1;
+               n += sysfs_emit_at(buf, n, "%016lx", zcdndev->perms.apm[i]);
+       n += sysfs_emit_at(buf, n, "\n");
 
        mutex_unlock(&ap_perms_mutex);
 
-       return rc;
+       return n;
 }
 
 static ssize_t apmask_store(struct device *dev,
@@ -243,25 +233,20 @@ static ssize_t aqmask_show(struct device *dev,
                           struct device_attribute *attr,
                           char *buf)
 {
-       int i, rc;
        struct zcdn_device *zcdndev = to_zcdn_dev(dev);
+       int i, n;
 
        if (mutex_lock_interruptible(&ap_perms_mutex))
                return -ERESTARTSYS;
 
-       buf[0] = '0';
-       buf[1] = 'x';
+       n = sysfs_emit(buf, "0x");
        for (i = 0; i < sizeof(zcdndev->perms.aqm) / sizeof(long); i++)
-               snprintf(buf + 2 + 2 * i * sizeof(long),
-                        PAGE_SIZE - 2 - 2 * i * sizeof(long),
-                        "%016lx", zcdndev->perms.aqm[i]);
-       buf[2 + 2 * i * sizeof(long)] = '\n';
-       buf[2 + 2 * i * sizeof(long) + 1] = '\0';
-       rc = 2 + 2 * i * sizeof(long) + 1;
+               n += sysfs_emit_at(buf, n, "%016lx", zcdndev->perms.aqm[i]);
+       n += sysfs_emit_at(buf, n, "\n");
 
        mutex_unlock(&ap_perms_mutex);
 
-       return rc;
+       return n;
 }
 
 static ssize_t aqmask_store(struct device *dev,
@@ -285,25 +270,20 @@ static ssize_t admask_show(struct device *dev,
                           struct device_attribute *attr,
                           char *buf)
 {
-       int i, rc;
        struct zcdn_device *zcdndev = to_zcdn_dev(dev);
+       int i, n;
 
        if (mutex_lock_interruptible(&ap_perms_mutex))
                return -ERESTARTSYS;
 
-       buf[0] = '0';
-       buf[1] = 'x';
+       n = sysfs_emit(buf, "0x");
        for (i = 0; i < sizeof(zcdndev->perms.adm) / sizeof(long); i++)
-               snprintf(buf + 2 + 2 * i * sizeof(long),
-                        PAGE_SIZE - 2 - 2 * i * sizeof(long),
-                        "%016lx", zcdndev->perms.adm[i]);
-       buf[2 + 2 * i * sizeof(long)] = '\n';
-       buf[2 + 2 * i * sizeof(long) + 1] = '\0';
-       rc = 2 + 2 * i * sizeof(long) + 1;
+               n += sysfs_emit_at(buf, n, "%016lx", zcdndev->perms.adm[i]);
+       n += sysfs_emit_at(buf, n, "\n");
 
        mutex_unlock(&ap_perms_mutex);
 
-       return rc;
+       return n;
 }
 
 static ssize_t admask_store(struct device *dev,