linux/drivers/s390/block
Jan Höppner 3b1bea0127 s390/dasd: Improve parameter list parsing
The function dasd_busid() still uses simple_strtoul() to convert a
string to an integer value. This function is obsolete for quite some
time already and should be replaced.

The whole parameter parsing semantic still relies somewhat on the fact,
that simple_strtoul() parses a string containing literals without
complains and just returns the parsed integer value plus the residual
string. kstrtoint(), however, would return -EINVAL in such a case.
Since we want to get rid of simple_strtoul() and now have a nice dasd[]
containing only single elements, we can clean up and simplify a few
things.

Replace simple_strtoul() with kstrtouint(), improve and simplify the
overall parameter parsing by the following:
- instead of residual strings return proper error codes
- remove dasd_parse_next_element() and decide directly what sort of
  element is being parsed
- if we parse a device or a range of devices, split that element into
  separate bits with a new function
- remove warning about invalid ending as it doesn't apply anymore
- annotate all parsing functions and data that can be freed after
  initialisation with __init and __initdata respectively
- clean up bits and pieces while at it

Reviewed-by: Stefan Haberland <sth@linux.vnet.ibm.com>
Reviewed-by: Sebastian Ott <sebott@linux.vnet.ibm.com>
Signed-off-by: Jan Höppner <hoeppner@linux.vnet.ibm.com>
Signed-off-by: Martin Schwidefsky <schwidefsky@de.ibm.com>
2017-01-31 10:46:32 +01:00
..
dasd_3990_erp.c s390/dasd: fix typos in DASD error messages 2016-12-14 16:33:40 +01:00
dasd_alias.c s390/dasd: reorder lcu and device lock 2016-03-17 13:18:25 +01:00
dasd_devmap.c s390/dasd: Improve parameter list parsing 2017-01-31 10:46:32 +01:00
dasd_diag.c Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/s390/linux 2016-03-16 10:47:45 -07:00
dasd_diag.h s390: remove 31 bit support 2015-03-25 11:49:33 +01:00
dasd_eckd.c Replace <asm/uaccess.h> with <linux/uaccess.h> globally 2016-12-24 11:46:01 -08:00
dasd_eckd.h s390/dasd: channel path aware error recovery 2016-12-12 12:05:03 +01:00
dasd_eer.c Replace <asm/uaccess.h> with <linux/uaccess.h> globally 2016-12-24 11:46:01 -08:00
dasd_erp.c Replace <asm/uaccess.h> with <linux/uaccess.h> globally 2016-12-24 11:46:01 -08:00
dasd_fba.c s390/dasd: extend dasd path handling 2016-12-12 12:04:37 +01:00
dasd_fba.h
dasd_genhd.c Replace <asm/uaccess.h> with <linux/uaccess.h> globally 2016-12-24 11:46:01 -08:00
dasd_int.h s390/dasd: Improve parameter list parsing 2017-01-31 10:46:32 +01:00
dasd_ioctl.c Replace <asm/uaccess.h> with <linux/uaccess.h> globally 2016-12-24 11:46:01 -08:00
dasd_proc.c Replace <asm/uaccess.h> with <linux/uaccess.h> globally 2016-12-24 11:46:01 -08:00
dasd.c s390/dasd: channel path aware error recovery 2016-12-12 12:05:03 +01:00
dcssblk.c libnvdimm for 4.8 2016-07-28 17:38:16 -07:00
Kconfig
Makefile
scm_blk_cluster.c s390/scm_block: fix off by one during cluster reservation 2015-02-26 09:24:47 +01:00
scm_blk.c block: convert to device_add_disk() 2016-06-27 12:26:08 -07:00
scm_blk.h s390/scm_block: make the number of reqs per HW req configurable 2014-12-08 09:42:47 +01:00
scm_drv.c
xpram.c Replace <asm/uaccess.h> with <linux/uaccess.h> globally 2016-12-24 11:46:01 -08:00