[PATCH 49/52] kstrtox: convert s390

From: Alexey Dobriyan
Date: Sat Feb 05 2011 - 09:23:18 EST



Signed-off-by: Alexey Dobriyan <adobriyan@xxxxxxxxx>
---
arch/s390/kernel/ptrace.c | 8 +++--
arch/s390/kernel/vdso.c | 5 ++-
drivers/s390/block/dasd_devmap.c | 20 +++++------
drivers/s390/char/sclp_async.c | 8 +++--
drivers/s390/cio/ccwgroup.c | 4 +-
drivers/s390/cio/cmf.c | 9 +++--
drivers/s390/cio/css.c | 4 +-
drivers/s390/cio/device.c | 6 ++--
drivers/s390/cio/qdio_debug.c | 6 ++-
drivers/s390/net/qeth_l3_sys.c | 10 ++---
drivers/s390/scsi/zfcp_aux.c | 4 +-
drivers/s390/scsi/zfcp_sysfs.c | 66 +++++++++++++++++++++++---------------
drivers/tty/hvc/hvc_iucv.c | 6 ++--
13 files changed, 88 insertions(+), 68 deletions(-)

diff --git a/arch/s390/kernel/ptrace.c b/arch/s390/kernel/ptrace.c
index ef86ad2..8d63a16 100644
--- a/arch/s390/kernel/ptrace.c
+++ b/arch/s390/kernel/ptrace.c
@@ -1143,12 +1143,14 @@ unsigned long regs_get_register(struct pt_regs *regs, unsigned int offset)

int regs_query_register_offset(const char *name)
{
- unsigned long offset;
+ unsigned int offset;
+ int rv;

if (!name || *name != 'r')
return -EINVAL;
- if (strict_strtoul(name + 1, 10, &offset))
- return -EINVAL;
+ rv = kstrtouint(name + 1, 10, &offset);
+ if (rv < 0)
+ return rv;
if (offset >= NUM_GPRS)
return -EINVAL;
return offset;
diff --git a/arch/s390/kernel/vdso.c b/arch/s390/kernel/vdso.c
index f438d74..b1f5e5a 100644
--- a/arch/s390/kernel/vdso.c
+++ b/arch/s390/kernel/vdso.c
@@ -54,7 +54,6 @@ unsigned int __read_mostly vdso_enabled = 1;

static int __init vdso_setup(char *s)
{
- unsigned long val;
int rc;

rc = 0;
@@ -63,7 +62,9 @@ static int __init vdso_setup(char *s)
else if (strncmp(s, "off", 4) == 0)
vdso_enabled = 0;
else {
- rc = strict_strtoul(s, 0, &val);
+ unsigned long val;
+
+ rc = kstrtoul(s, 0, &val);
vdso_enabled = rc ? 0 : !!val;
}
return !rc;
diff --git a/drivers/s390/block/dasd_devmap.c b/drivers/s390/block/dasd_devmap.c
index cb6a67b..5a3c4b9 100644
--- a/drivers/s390/block/dasd_devmap.c
+++ b/drivers/s390/block/dasd_devmap.c
@@ -902,7 +902,7 @@ dasd_use_raw_store(struct device *dev, struct device_attribute *attr,
if (IS_ERR(devmap))
return PTR_ERR(devmap);

- if ((strict_strtoul(buf, 10, &val) != 0) || val > 1)
+ if (kstrtoul(buf, 10, &val) != 0 || val > 1)
return -EINVAL;

spin_lock(&dasd_devmap_lock);
@@ -1159,20 +1159,18 @@ dasd_expires_store(struct device *dev, struct device_attribute *attr,
{
struct dasd_device *device;
unsigned long val;
+ int rv;
+
+ rv = kstrtoul(buf, 10, &val);
+ if (rv < 0)
+ return rv;
+ if (val == 0 || val > DASD_EXPIRES_MAX)
+ return -EINVAL;

device = dasd_device_from_cdev(to_ccwdev(dev));
if (IS_ERR(device))
return -ENODEV;
-
- if ((strict_strtoul(buf, 10, &val) != 0) ||
- (val > DASD_EXPIRES_MAX) || val == 0) {
- dasd_put_device(device);
- return -EINVAL;
- }
-
- if (val)
- device->default_expires = val;
-
+ device->default_expires = val;
dasd_put_device(device);
return count;
}
diff --git a/drivers/s390/char/sclp_async.c b/drivers/s390/char/sclp_async.c
index 7ad30e7..75a58dc 100644
--- a/drivers/s390/char/sclp_async.c
+++ b/drivers/s390/char/sclp_async.c
@@ -67,7 +67,6 @@ static int proc_handler_callhome(struct ctl_table *ctl, int write,
void __user *buffer, size_t *count,
loff_t *ppos)
{
- unsigned long val;
int len, rc;
char buf[3];

@@ -81,13 +80,16 @@ static int proc_handler_callhome(struct ctl_table *ctl, int write,
if (rc != 0)
return -EFAULT;
} else {
+ int val;
+
len = *count;
rc = copy_from_user(buf, buffer, sizeof(buf));
if (rc != 0)
return -EFAULT;
buf[sizeof(buf) - 1] = '\0';
- if (strict_strtoul(buf, 0, &val) != 0)
- return -EINVAL;
+ rc = kstrtoint(buf, 0, &val);
+ if (rc < 0)
+ return rc;
if (val != 0 && val != 1)
return -EINVAL;
callhome_enabled = val;
diff --git a/drivers/s390/cio/ccwgroup.c b/drivers/s390/cio/ccwgroup.c
index 2864581..6f17efe 100644
--- a/drivers/s390/cio/ccwgroup.c
+++ b/drivers/s390/cio/ccwgroup.c
@@ -419,7 +419,7 @@ ccwgroup_online_store (struct device *dev, struct device_attribute *attr, const
{
struct ccwgroup_device *gdev;
struct ccwgroup_driver *gdrv;
- unsigned long value;
+ int value;
int ret;

if (!dev->driver)
@@ -431,7 +431,7 @@ ccwgroup_online_store (struct device *dev, struct device_attribute *attr, const
if (!try_module_get(gdrv->owner))
return -EINVAL;

- ret = strict_strtoul(buf, 0, &value);
+ ret = kstrtoint(buf, 0, &value);
if (ret)
goto out;

diff --git a/drivers/s390/cio/cmf.c b/drivers/s390/cio/cmf.c
index 2985eb4..df48ea3 100644
--- a/drivers/s390/cio/cmf.c
+++ b/drivers/s390/cio/cmf.c
@@ -1181,10 +1181,10 @@ static ssize_t cmb_enable_store(struct device *dev,
size_t c)
{
struct ccw_device *cdev;
+ int val;
int ret;
- unsigned long val;

- ret = strict_strtoul(buf, 16, &val);
+ ret = kstrtoint(buf, 16, &val);
if (ret)
return ret;

@@ -1197,8 +1197,11 @@ static ssize_t cmb_enable_store(struct device *dev,
case 1:
ret = enable_cmf(cdev);
break;
+ default:
+ ret = -EINVAL;
}
-
+ if (ret < 0)
+ return ret;
return c;
}

diff --git a/drivers/s390/cio/css.c b/drivers/s390/cio/css.c
index 24d8e97..fe92213 100644
--- a/drivers/s390/cio/css.c
+++ b/drivers/s390/cio/css.c
@@ -710,10 +710,10 @@ css_cm_enable_store(struct device *dev, struct device_attribute *attr,
const char *buf, size_t count)
{
struct channel_subsystem *css = to_css(dev);
+ int val;
int ret;
- unsigned long val;

- ret = strict_strtoul(buf, 16, &val);
+ ret = kstrtoint(buf, 16, &val);
if (ret)
return ret;
mutex_lock(&css->mutex);
diff --git a/drivers/s390/cio/device.c b/drivers/s390/cio/device.c
index b7eaff9..f2edaa8 100644
--- a/drivers/s390/cio/device.c
+++ b/drivers/s390/cio/device.c
@@ -536,8 +536,8 @@ static ssize_t online_store (struct device *dev, struct device_attribute *attr,
const char *buf, size_t count)
{
struct ccw_device *cdev = to_ccwdev(dev);
- int force, ret;
- unsigned long i;
+ int force, i;
+ int ret;

if (!dev_fsm_final_state(cdev) &&
cdev->private->state != DEV_STATE_DISCONNECTED)
@@ -555,7 +555,7 @@ static ssize_t online_store (struct device *dev, struct device_attribute *attr,
ret = 0;
} else {
force = 0;
- ret = strict_strtoul(buf, 16, &i);
+ ret = kstrtoint(buf, 16, &i);
}
if (ret)
goto out;
diff --git a/drivers/s390/cio/qdio_debug.c b/drivers/s390/cio/qdio_debug.c
index f8b03a6..ff6ca17 100644
--- a/drivers/s390/cio/qdio_debug.c
+++ b/drivers/s390/cio/qdio_debug.c
@@ -187,7 +187,7 @@ static ssize_t qperf_seq_write(struct file *file, const char __user *ubuf,
struct seq_file *seq = file->private_data;
struct qdio_irq *irq_ptr = seq->private;
struct qdio_q *q;
- unsigned long val;
+ int val;
char buf[8];
int ret, i;

@@ -199,7 +199,7 @@ static ssize_t qperf_seq_write(struct file *file, const char __user *ubuf,
return -EFAULT;
buf[count] = 0;

- ret = strict_strtoul(buf, 10, &val);
+ ret = kstrtoint(buf, 10, &val);
if (ret < 0)
return ret;

@@ -215,6 +215,8 @@ static ssize_t qperf_seq_write(struct file *file, const char __user *ubuf,
case 1:
irq_ptr->perf_stat_enabled = 1;
break;
+ default:
+ return -EINVAL;
}
return count;
}
diff --git a/drivers/s390/net/qeth_l3_sys.c b/drivers/s390/net/qeth_l3_sys.c
index 67cfa68..4e9cb7c 100644
--- a/drivers/s390/net/qeth_l3_sys.c
+++ b/drivers/s390/net/qeth_l3_sys.c
@@ -355,8 +355,8 @@ static ssize_t qeth_l3_dev_sniffer_store(struct device *dev,
struct device_attribute *attr, const char *buf, size_t count)
{
struct qeth_card *card = dev_get_drvdata(dev);
- int rc = 0;
- unsigned long i;
+ int i;
+ int rc;

if (!card)
return -EINVAL;
@@ -371,11 +371,9 @@ static ssize_t qeth_l3_dev_sniffer_store(struct device *dev,
goto out;
}

- rc = strict_strtoul(buf, 16, &i);
- if (rc) {
- rc = -EINVAL;
+ rc = kstrtoint(buf, 16, &i);
+ if (rc)
goto out;
- }
switch (i) {
case 0:
card->options.sniffer = i;
diff --git a/drivers/s390/scsi/zfcp_aux.c b/drivers/s390/scsi/zfcp_aux.c
index 51c666f..78a652a 100644
--- a/drivers/s390/scsi/zfcp_aux.c
+++ b/drivers/s390/scsi/zfcp_aux.c
@@ -102,11 +102,11 @@ static void __init zfcp_init_device_setup(char *devstr)
strncpy(busid, token, ZFCP_BUS_ID_SIZE);

token = strsep(&str, ",");
- if (!token || strict_strtoull(token, 0, (unsigned long long *) &wwpn))
+ if (!token || kstrtou64(token, 0, &wwpn))
goto err_out;

token = strsep(&str, ",");
- if (!token || strict_strtoull(token, 0, (unsigned long long *) &lun))
+ if (!token || kstrtou64(token, 0, &lun))
goto err_out;

kfree(str_saved);
diff --git a/drivers/s390/scsi/zfcp_sysfs.c b/drivers/s390/scsi/zfcp_sysfs.c
index cdc4ff7..9de9b62 100644
--- a/drivers/s390/scsi/zfcp_sysfs.c
+++ b/drivers/s390/scsi/zfcp_sysfs.c
@@ -99,9 +99,13 @@ static ssize_t zfcp_sysfs_port_failed_store(struct device *dev,
const char *buf, size_t count)
{
struct zfcp_port *port = container_of(dev, struct zfcp_port, dev);
- unsigned long val;
+ int val;
+ int rv;

- if (strict_strtoul(buf, 0, &val) || val != 0)
+ rv = kstrtoint(buf, 0, &val);
+ if (rv < 0)
+ return rv;
+ if (val != 0)
return -EINVAL;

zfcp_erp_set_port_status(port, ZFCP_STATUS_COMMON_RUNNING);
@@ -137,10 +141,14 @@ static ssize_t zfcp_sysfs_unit_failed_store(struct device *dev,
const char *buf, size_t count)
{
struct zfcp_unit *unit = container_of(dev, struct zfcp_unit, dev);
- unsigned long val;
struct scsi_device *sdev;
+ int val;
+ int rv;

- if (strict_strtoul(buf, 0, &val) || val != 0)
+ rv = kstrtoint(buf, 0, &val);
+ if (rv < 0)
+ return rv;
+ if (val != 0)
return -EINVAL;

sdev = zfcp_unit_sdev(unit);
@@ -183,23 +191,23 @@ static ssize_t zfcp_sysfs_adapter_failed_store(struct device *dev,
const char *buf, size_t count)
{
struct ccw_device *cdev = to_ccwdev(dev);
- struct zfcp_adapter *adapter = zfcp_ccw_adapter_by_cdev(cdev);
- unsigned long val;
- int retval = 0;
+ struct zfcp_adapter *adapter;
+ int val;
+ int retval;

+ retval = kstrtoint(buf, 0, &val);
+ if (retval < 0)
+ return retval;
+ if (val != 0)
+ return -EINVAL;
+
+ adapter = zfcp_ccw_adapter_by_cdev(cdev);
if (!adapter)
return -ENODEV;
-
- if (strict_strtoul(buf, 0, &val) || val != 0) {
- retval = -EINVAL;
- goto out;
- }
-
zfcp_erp_set_adapter_status(adapter, ZFCP_STATUS_COMMON_RUNNING);
zfcp_erp_adapter_reopen(adapter, ZFCP_STATUS_COMMON_ERP_FAILED,
"syafai2");
zfcp_erp_wait(adapter);
-out:
zfcp_ccw_adapter_put(adapter);
return retval ? retval : (ssize_t) count;
}
@@ -232,22 +240,24 @@ static ssize_t zfcp_sysfs_port_remove_store(struct device *dev,
const char *buf, size_t count)
{
struct ccw_device *cdev = to_ccwdev(dev);
- struct zfcp_adapter *adapter = zfcp_ccw_adapter_by_cdev(cdev);
+ struct zfcp_adapter *adapter;
struct zfcp_port *port;
u64 wwpn;
- int retval = -EINVAL;
+ int retval;
+
+ retval = kstrtou64(buf, 0, &wwpn);
+ if (retval < 0)
+ return retval;

+ adapter = zfcp_ccw_adapter_by_cdev(cdev);
if (!adapter)
return -ENODEV;

- if (strict_strtoull(buf, 0, (unsigned long long *) &wwpn))
- goto out;
-
port = zfcp_get_port_by_wwpn(adapter, wwpn);
- if (!port)
+ if (!port) {
+ retval = -EINVAL;
goto out;
- else
- retval = 0;
+ }

write_lock_irq(&adapter->port_list_lock);
list_del(&port->list);
@@ -289,9 +299,11 @@ static ssize_t zfcp_sysfs_unit_add_store(struct device *dev,
{
struct zfcp_port *port = container_of(dev, struct zfcp_port, dev);
u64 fcp_lun;
+ int rv;

- if (strict_strtoull(buf, 0, (unsigned long long *) &fcp_lun))
- return -EINVAL;
+ rv = kstrtou64(buf, 0, &fcp_lun);
+ if (rv < 0)
+ return rv;

if (zfcp_unit_add(port, fcp_lun))
return -EINVAL;
@@ -306,9 +318,11 @@ static ssize_t zfcp_sysfs_unit_remove_store(struct device *dev,
{
struct zfcp_port *port = container_of(dev, struct zfcp_port, dev);
u64 fcp_lun;
+ int rv;

- if (strict_strtoull(buf, 0, (unsigned long long *) &fcp_lun))
- return -EINVAL;
+ rv = kstrtou64(buf, 0, &fcp_lun);
+ if (rv < 0)
+ return rv;

if (zfcp_unit_remove(port, fcp_lun))
return -EINVAL;
diff --git a/drivers/tty/hvc/hvc_iucv.c b/drivers/tty/hvc/hvc_iucv.c
index c3425bb..ade3355 100644
--- a/drivers/tty/hvc/hvc_iucv.c
+++ b/drivers/tty/hvc/hvc_iucv.c
@@ -94,7 +94,7 @@ static void hvc_iucv_msg_complete(struct iucv_path *, struct iucv_message *);


/* Kernel module parameter: use one terminal device as default */
-static unsigned long hvc_iucv_devices = 1;
+static unsigned int hvc_iucv_devices = 1;

/* Array of allocated hvc iucv tty lines... */
static struct hvc_iucv_private *hvc_iucv_table[MAX_HVC_IUCV_LINES];
@@ -1227,7 +1227,7 @@ static int __init hvc_iucv_init(void)
}

if (hvc_iucv_devices > MAX_HVC_IUCV_LINES) {
- pr_err("%lu is not a valid value for the hvc_iucv= "
+ pr_err("%u is not a valid value for the hvc_iucv= "
"kernel parameter\n", hvc_iucv_devices);
rc = -EINVAL;
goto out_error;
@@ -1328,7 +1328,7 @@ out_error:
*/
static int __init hvc_iucv_config(char *val)
{
- return strict_strtoul(val, 10, &hvc_iucv_devices);
+ return kstrtouint(val, 10, &hvc_iucv_devices);
}


--
1.7.3.4

--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/