drivers/gpu/drm/drm_fb_helper.c: don't use private implementation of atoi()
authorAndy Shevchenko <ext-andriy.shevchenko@nokia.com>
Tue, 2 Feb 2010 22:40:32 +0000 (14:40 -0800)
committerDave Airlie <airlied@redhat.com>
Thu, 11 Feb 2010 04:28:00 +0000 (14:28 +1000)
Kernel has simple_strtol() which would be used as atoi().

This is quite the same fix as in 2cb96f86628d6e97fcbda5fe4d8d74876239834c
("fbdev: drop custom atoi from drivers/video/modedb.c") because code in
drivers/gpu/drm/drm_fb_helper.c is based on drivers/video/modedb.c.

Signed-off-by: Andy Shevchenko <ext-andriy.shevchenko@nokia.com>
Cc: Jesse Barnes <jbarnes@virtuousgeek.org>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Dave Airlie <airlied@redhat.com>
drivers/gpu/drm/drm_fb_helper.c

index 0f9e905..989c4de 100644 (file)
@@ -27,6 +27,7 @@
  *      Dave Airlie <airlied@linux.ie>
  *      Jesse Barnes <jesse.barnes@intel.com>
  */
+#include <linux/kernel.h>
 #include <linux/sysrq.h>
 #include <linux/fb.h>
 #include "drmP.h"
@@ -50,21 +51,6 @@ int drm_fb_helper_add_connector(struct drm_connector *connector)
 }
 EXPORT_SYMBOL(drm_fb_helper_add_connector);
 
-static int my_atoi(const char *name)
-{
-       int val = 0;
-
-       for (;; name++) {
-               switch (*name) {
-               case '0' ... '9':
-                       val = 10*val+(*name-'0');
-                       break;
-               default:
-                       return val;
-               }
-       }
-}
-
 /**
  * drm_fb_helper_connector_parse_command_line - parse command line for connector
  * @connector - connector to parse line for
@@ -111,7 +97,7 @@ static bool drm_fb_helper_connector_parse_command_line(struct drm_connector *con
                        namelen = i;
                        if (!refresh_specified && !bpp_specified &&
                            !yres_specified) {
-                               refresh = my_atoi(&name[i+1]);
+                               refresh = simple_strtol(&name[i+1], NULL, 10);
                                refresh_specified = 1;
                                if (cvt || rb)
                                        cvt = 0;
@@ -121,7 +107,7 @@ static bool drm_fb_helper_connector_parse_command_line(struct drm_connector *con
                case '-':
                        namelen = i;
                        if (!bpp_specified && !yres_specified) {
-                               bpp = my_atoi(&name[i+1]);
+                               bpp = simple_strtol(&name[i+1], NULL, 10);
                                bpp_specified = 1;
                                if (cvt || rb)
                                        cvt = 0;
@@ -130,7 +116,7 @@ static bool drm_fb_helper_connector_parse_command_line(struct drm_connector *con
                        break;
                case 'x':
                        if (!yres_specified) {
-                               yres = my_atoi(&name[i+1]);
+                               yres = simple_strtol(&name[i+1], NULL, 10);
                                yres_specified = 1;
                        } else
                                goto done;
@@ -170,7 +156,7 @@ static bool drm_fb_helper_connector_parse_command_line(struct drm_connector *con
                }
        }
        if (i < 0 && yres_specified) {
-               xres = my_atoi(name);
+               xres = simple_strtol(name, NULL, 10);
                res_specified = 1;
        }
 done: