*        console=<name>,0x<addr>,<options>
  *     is also accepted; the returned @iotype will be UPIO_MEM.
  *
- *     Returns 0 on success, -EINVAL or -ERANGE on failure
+ *     Returns 0 on success or -EINVAL on failure
  */
 int uart_parse_earlycon(char *p, unsigned char *iotype, resource_size_t *addr,
                        char **options)
 {
-       int ret;
-       unsigned long long tmp;
-
        if (strncmp(p, "mmio,", 5) == 0) {
                *iotype = UPIO_MEM;
                p += 5;
                return -EINVAL;
        }
 
-       ret = kstrtoull(p, 0, &tmp);
-       if (ret)
-               return ret;
-       *addr = tmp;
+       /*
+        * Before you replace it with kstrtoull(), think about options separator
+        * (',') it will not tolerate
+        */
+       *addr = simple_strtoull(p, NULL, 0);
        p = strchr(p, ',');
        if (p)
                p++;