提交 e72c932d 编写于 作者: L LABBE Corentin 提交者: David S. Miller

cxgb3: Convert simple_strtoul to kstrtox

the simple_strtoul function is obsolete. This patch replace it by
kstrtox.
Signed-off-by: NLABBE Corentin <clabbe.montjoie@gmail.com>
Signed-off-by: NDavid S. Miller <davem@davemloft.net>
上级 611d7df8
...@@ -701,15 +701,16 @@ static ssize_t attr_store(struct device *d, ...@@ -701,15 +701,16 @@ static ssize_t attr_store(struct device *d,
ssize_t(*set) (struct net_device *, unsigned int), ssize_t(*set) (struct net_device *, unsigned int),
unsigned int min_val, unsigned int max_val) unsigned int min_val, unsigned int max_val)
{ {
char *endp;
ssize_t ret; ssize_t ret;
unsigned int val; unsigned int val;
if (!capable(CAP_NET_ADMIN)) if (!capable(CAP_NET_ADMIN))
return -EPERM; return -EPERM;
val = simple_strtoul(buf, &endp, 0); ret = kstrtouint(buf, 0, &val);
if (endp == buf || val < min_val || val > max_val) if (ret)
return ret;
if (val < min_val || val > max_val)
return -EINVAL; return -EINVAL;
rtnl_lock(); rtnl_lock();
...@@ -829,14 +830,15 @@ static ssize_t tm_attr_store(struct device *d, ...@@ -829,14 +830,15 @@ static ssize_t tm_attr_store(struct device *d,
struct port_info *pi = netdev_priv(to_net_dev(d)); struct port_info *pi = netdev_priv(to_net_dev(d));
struct adapter *adap = pi->adapter; struct adapter *adap = pi->adapter;
unsigned int val; unsigned int val;
char *endp;
ssize_t ret; ssize_t ret;
if (!capable(CAP_NET_ADMIN)) if (!capable(CAP_NET_ADMIN))
return -EPERM; return -EPERM;
val = simple_strtoul(buf, &endp, 0); ret = kstrtouint(buf, 0, &val);
if (endp == buf || val > 10000000) if (ret)
return ret;
if (val > 10000000)
return -EINVAL; return -EINVAL;
rtnl_lock(); rtnl_lock();
......
...@@ -709,11 +709,21 @@ static int get_vpd_params(struct adapter *adapter, struct vpd_params *p) ...@@ -709,11 +709,21 @@ static int get_vpd_params(struct adapter *adapter, struct vpd_params *p)
return ret; return ret;
} }
p->cclk = simple_strtoul(vpd.cclk_data, NULL, 10); ret = kstrtouint(vpd.cclk_data, 10, &p->cclk);
p->mclk = simple_strtoul(vpd.mclk_data, NULL, 10); if (ret)
p->uclk = simple_strtoul(vpd.uclk_data, NULL, 10); return ret;
p->mdc = simple_strtoul(vpd.mdc_data, NULL, 10); ret = kstrtouint(vpd.mclk_data, 10, &p->mclk);
p->mem_timing = simple_strtoul(vpd.mt_data, NULL, 10); if (ret)
return ret;
ret = kstrtouint(vpd.uclk_data, 10, &p->uclk);
if (ret)
return ret;
ret = kstrtouint(vpd.mdc_data, 10, &p->mdc);
if (ret)
return ret;
ret = kstrtouint(vpd.mt_data, 10, &p->mem_timing);
if (ret)
return ret;
memcpy(p->sn, vpd.sn_data, SERNUM_LEN); memcpy(p->sn, vpd.sn_data, SERNUM_LEN);
/* Old eeproms didn't have port information */ /* Old eeproms didn't have port information */
...@@ -723,8 +733,12 @@ static int get_vpd_params(struct adapter *adapter, struct vpd_params *p) ...@@ -723,8 +733,12 @@ static int get_vpd_params(struct adapter *adapter, struct vpd_params *p)
} else { } else {
p->port_type[0] = hex_to_bin(vpd.port0_data[0]); p->port_type[0] = hex_to_bin(vpd.port0_data[0]);
p->port_type[1] = hex_to_bin(vpd.port1_data[0]); p->port_type[1] = hex_to_bin(vpd.port1_data[0]);
p->xauicfg[0] = simple_strtoul(vpd.xaui0cfg_data, NULL, 16); ret = kstrtou16(vpd.xaui0cfg_data, 16, &p->xauicfg[0]);
p->xauicfg[1] = simple_strtoul(vpd.xaui1cfg_data, NULL, 16); if (ret)
return ret;
ret = kstrtou16(vpd.xaui1cfg_data, 16, &p->xauicfg[1]);
if (ret)
return ret;
} }
ret = hex2bin(p->eth_base, vpd.na_data, 6); ret = hex2bin(p->eth_base, vpd.na_data, 6);
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册