• Jan Höppner's avatar
    s390/dasd: Improve parameter list parsing · 3b1bea01
    Jan Höppner authored
    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: default avatarStefan Haberland <sth@linux.vnet.ibm.com>
    Reviewed-by: default avatarSebastian Ott <sebott@linux.vnet.ibm.com>
    Signed-off-by: default avatarJan Höppner <hoeppner@linux.vnet.ibm.com>
    Signed-off-by: default avatarMartin Schwidefsky <schwidefsky@de.ibm.com>
    3b1bea01
dasd_int.h 37.6 KB