aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMarek Belisko <[email protected]>2010-10-14 14:14:33 +0200
committerGreg Kroah-Hartman <[email protected]>2010-10-14 12:11:25 -0700
commitf9d173736b4419cb87a18c200b79ed5828bc3880 (patch)
treeb751c56b7d761c2443349c79efcd32c225512361
parent83cb1926e0f55d0fd4d3064d1b9bef56bac7fe85 (diff)
staging: ft1000: Get rid of using atoi.
Signed-off-by: Marek Belisko <[email protected]> Signed-off-by: Greg Kroah-Hartman <[email protected]>
-rw-r--r--drivers/staging/ft1000/ft1000-usb/ft1000_hw.c36
1 files changed, 13 insertions, 23 deletions
diff --git a/drivers/staging/ft1000/ft1000-usb/ft1000_hw.c b/drivers/staging/ft1000/ft1000-usb/ft1000_hw.c
index d0637c326974..2fd9a849e9ae 100644
--- a/drivers/staging/ft1000/ft1000-usb/ft1000_hw.c
+++ b/drivers/staging/ft1000/ft1000-usb/ft1000_hw.c
@@ -55,28 +55,10 @@ static const struct net_device_ops ft1000net_ops = {
//Jim
static u8 tempbuffer[1600];
-static int gCardIndex;
+static unsigned long gCardIndex;
#define MAX_RCV_LOOP 100
-
-static int atoi(const char *s)
-{
- int k = 0;
- int cnt;
-
- k = 0;
- cnt = 0;
- while (*s != '\0' && *s >= '0' && *s <= '9') {
- k = 10 * k + (*s - '0');
- s++;
- // Let's put a limit on this while loop to avoid deadlock scenario
- if (cnt > 100)
- break;
- cnt++;
- }
- return k;
-}
/****************************************************************
* ft1000_control_complete
****************************************************************/
@@ -988,8 +970,9 @@ u16 init_ft1000_netdev(struct ft1000_device *ft1000dev)
struct net_device *netdev;
FT1000_INFO *pInfo = NULL;
PDPRAM_BLK pdpram_blk;
- int i;
+ int i, ret_val;
struct list_head *cur, *tmp;
+ char card_nr[2];
gCardIndex=0; //mbelian
@@ -1017,9 +1000,16 @@ u16 init_ft1000_netdev(struct ft1000_device *ft1000dev)
{
DEBUG("init_ft1000_netdev: network device name is %s\n", netdev->name);
- if ( strncmp(netdev->name,"eth", 3) == 0) {
- //pInfo->CardNumber = atoi(&netdev->name[3]);
- gCardIndex = atoi(&netdev->name[3]);
+ if ( strncmp(netdev->name,"eth", 3) == 0) {
+ card_nr[0] = netdev->name[3];
+ card_nr[1] = '\0';
+ ret_val = strict_strtoul(card_nr, 10, &gCardIndex);
+ if (ret_val) {
+ printk(KERN_ERR "Can't parse netdev\n");
+ free_netdev(netdev);
+ return STATUS_FAILURE;
+ }
+
pInfo->CardNumber = gCardIndex;
DEBUG("card number = %d\n", pInfo->CardNumber);
}