From: Andy Shevchenko <[email protected]>
Change own implementation of atoi() by simple_strtol(x, NULL, 10).
Signed-off-by: Andy Shevchenko <[email protected]>
---
drivers/media/video/pwc/pwc-if.c | 13 +++----------
1 files changed, 3 insertions(+), 10 deletions(-)
diff --git a/drivers/media/video/pwc/pwc-if.c b/drivers/media/video/pwc/pwc-if.c
index f976df4..cb995c6 100644
--- a/drivers/media/video/pwc/pwc-if.c
+++ b/drivers/media/video/pwc/pwc-if.c
@@ -68,6 +68,7 @@
#endif
#include <linux/vmalloc.h>
#include <asm/io.h>
+#include <linux/kernel.h> /* simple_strtol() */
#include "pwc.h"
#include "pwc-kiara.h"
@@ -1916,17 +1917,9 @@ disconnect_out:
unlock_kernel();
}
-/* *grunt* We have to do atoi ourselves :-( */
-static int pwc_atoi(const char *s)
+static inline int pwc_atoi(const char *s)
{
- int k = 0;
-
- k = 0;
- while (*s != '\0' && *s >= '0' && *s <= '9') {
- k = 10 * k + (*s - '0');
- s++;
- }
- return k;
+ return (int)simple_strtol(s, NULL, 10);
}
--
1.5.6.5
On 259, 09 16, 2009 at 02:42:27PM +0300, Andy Shevchenko wrote:
> From: Andy Shevchenko <[email protected]>
>
> Change own implementation of atoi() by simple_strtol(x, NULL, 10).
Why did you keep the wrapper itself then ?
> Signed-off-by: Andy Shevchenko <[email protected]>
> ---
> drivers/media/video/pwc/pwc-if.c | 13 +++----------
> 1 files changed, 3 insertions(+), 10 deletions(-)
>
> diff --git a/drivers/media/video/pwc/pwc-if.c b/drivers/media/video/pwc/pwc-if.c
> index f976df4..cb995c6 100644
> --- a/drivers/media/video/pwc/pwc-if.c
> +++ b/drivers/media/video/pwc/pwc-if.c
> @@ -68,6 +68,7 @@
> #endif
> #include <linux/vmalloc.h>
> #include <asm/io.h>
> +#include <linux/kernel.h> /* simple_strtol() */
>
> #include "pwc.h"
> #include "pwc-kiara.h"
> @@ -1916,17 +1917,9 @@ disconnect_out:
> unlock_kernel();
> }
>
> -/* *grunt* We have to do atoi ourselves :-( */
> -static int pwc_atoi(const char *s)
> +static inline int pwc_atoi(const char *s)
> {
> - int k = 0;
> -
> - k = 0;
> - while (*s != '\0' && *s >= '0' && *s <= '9') {
> - k = 10 * k + (*s - '0');
> - s++;
> - }
> - return k;
> + return (int)simple_strtol(s, NULL, 10);
> }
On Wed, Sep 16, 2009 at 3:05 PM, Andrey Panin <[email protected]> wrote:
>> Change own implementation of atoi() by simple_strtol(x, NULL, 10).
> Why did you keep the wrapper itself then ?
I could change in all places, but it's only tiny inline function.
--
With Best Regards,
Andy Shevchenko
From: Andy Shevchenko <[email protected]>
Change own implementation of pwc_atoi() by simple_strtol(x, NULL, 10).
Signed-off-by: Andy Shevchenko <[email protected]>
---
drivers/media/video/pwc/pwc-if.c | 20 ++++----------------
1 files changed, 4 insertions(+), 16 deletions(-)
diff --git a/drivers/media/video/pwc/pwc-if.c b/drivers/media/video/pwc/pwc-if.c
index f976df4..0037a8c 100644
--- a/drivers/media/video/pwc/pwc-if.c
+++ b/drivers/media/video/pwc/pwc-if.c
@@ -68,6 +68,7 @@
#endif
#include <linux/vmalloc.h>
#include <asm/io.h>
+#include <linux/kernel.h> /* simple_strtol() */
#include "pwc.h"
#include "pwc-kiara.h"
@@ -1916,19 +1917,6 @@ disconnect_out:
unlock_kernel();
}
-/* *grunt* We have to do atoi ourselves :-( */
-static int pwc_atoi(const char *s)
-{
- int k = 0;
-
- k = 0;
- while (*s != '\0' && *s >= '0' && *s <= '9') {
- k = 10 * k + (*s - '0');
- s++;
- }
- return k;
-}
-
/*
* Initialization code & module stuff
@@ -2078,13 +2066,13 @@ static int __init usb_pwc_init(void)
}
else {
/* No type or serial number specified, just a number. */
- device_hint[i].device_node = pwc_atoi(s);
+ device_hint[i].device_node = (int)simple_strtol(s, NULL, 10);
}
}
else {
/* There's a colon, so we have at least a type and a device node */
- device_hint[i].type = pwc_atoi(s);
- device_hint[i].device_node = pwc_atoi(colon + 1);
+ device_hint[i].type = (int)simple_strtol(s, NULL, 10);
+ device_hint[i].device_node = (int)simple_strtol(colon + 1, NULL, 10);
if (*dot != '\0') {
/* There's a serial number as well */
int k;
--
1.5.6.5
On Wed, Sep 16, 2009 at 3:26 PM, Andy Shevchenko
<[email protected]> wrote:
> @@ -2078,13 +2066,13 @@ static int __init usb_pwc_init(void)
> ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?}
> ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?else {
> ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?/* No type or serial number specified, just a number. */
> - ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? device_hint[i].device_node = pwc_atoi(s);
> + ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? device_hint[i].device_node = (int)simple_strtol(s, NULL, 10);
What's with all the casting to int?
From: Andy Shevchenko <[email protected]>
Change own implementation of pwc_atoi() by simple_strtol(x, NULL, 10).
Signed-off-by: Andy Shevchenko <[email protected]>
---
drivers/media/video/pwc/pwc-if.c | 23 +++++++----------------
1 files changed, 7 insertions(+), 16 deletions(-)
diff --git a/drivers/media/video/pwc/pwc-if.c b/drivers/media/video/pwc/pwc-if.c
index f976df4..89b620f 100644
--- a/drivers/media/video/pwc/pwc-if.c
+++ b/drivers/media/video/pwc/pwc-if.c
@@ -68,6 +68,7 @@
#endif
#include <linux/vmalloc.h>
#include <asm/io.h>
+#include <linux/kernel.h> /* simple_strtol() */
#include "pwc.h"
#include "pwc-kiara.h"
@@ -1916,19 +1917,6 @@ disconnect_out:
unlock_kernel();
}
-/* *grunt* We have to do atoi ourselves :-( */
-static int pwc_atoi(const char *s)
-{
- int k = 0;
-
- k = 0;
- while (*s != '\0' && *s >= '0' && *s <= '9') {
- k = 10 * k + (*s - '0');
- s++;
- }
- return k;
-}
-
/*
* Initialization code & module stuff
@@ -2078,13 +2066,16 @@ static int __init usb_pwc_init(void)
}
else {
/* No type or serial number specified, just a number. */
- device_hint[i].device_node = pwc_atoi(s);
+ device_hint[i].device_node =
+ simple_strtol(s, NULL, 10);
}
}
else {
/* There's a colon, so we have at least a type and a device node */
- device_hint[i].type = pwc_atoi(s);
- device_hint[i].device_node = pwc_atoi(colon + 1);
+ device_hint[i].type =
+ simple_strtol(s, NULL, 10);
+ device_hint[i].device_node =
+ simple_strtol(colon + 1, NULL, 10);
if (*dot != '\0') {
/* There's a serial number as well */
int k;
--
1.5.6.5
On Wed, Sep 16, 2009 at 3:43 PM, Pekka Enberg <[email protected]> wrote:
> What's with all the casting to int?
Yeah, you are right, they are redundant. See next iteration of the patch :-)
--
With Best Regards,
Andy Shevchenko
Andy Shevchenko wrote:
> From: Andy Shevchenko <[email protected]>
>
> Change own implementation of pwc_atoi() by simple_strtol(x, NULL, 10).
>
> Signed-off-by: Andy Shevchenko <[email protected]>
Looks good to me, FWIW,
Acked-by: Pekka Enberg <[email protected]>
Pekka