|
@@ -651,8 +651,9 @@ static ssize_t bh1770_power_state_store(struct device *dev,
|
|
|
unsigned long value;
|
|
|
ssize_t ret;
|
|
|
|
|
|
- if (strict_strtoul(buf, 0, &value))
|
|
|
- return -EINVAL;
|
|
|
+ ret = kstrtoul(buf, 0, &value);
|
|
|
+ if (ret)
|
|
|
+ return ret;
|
|
|
|
|
|
mutex_lock(&chip->mutex);
|
|
|
if (value) {
|
|
@@ -726,9 +727,11 @@ static ssize_t bh1770_prox_enable_store(struct device *dev,
|
|
|
{
|
|
|
struct bh1770_chip *chip = dev_get_drvdata(dev);
|
|
|
unsigned long value;
|
|
|
+ int ret;
|
|
|
|
|
|
- if (strict_strtoul(buf, 0, &value))
|
|
|
- return -EINVAL;
|
|
|
+ ret = kstrtoul(buf, 0, &value);
|
|
|
+ if (ret)
|
|
|
+ return ret;
|
|
|
|
|
|
mutex_lock(&chip->mutex);
|
|
|
/* Assume no proximity. Sensor will tell real state soon */
|
|
@@ -824,9 +827,11 @@ static ssize_t bh1770_set_prox_rate_above(struct device *dev,
|
|
|
{
|
|
|
struct bh1770_chip *chip = dev_get_drvdata(dev);
|
|
|
unsigned long value;
|
|
|
+ int ret;
|
|
|
|
|
|
- if (strict_strtoul(buf, 0, &value))
|
|
|
- return -EINVAL;
|
|
|
+ ret = kstrtoul(buf, 0, &value);
|
|
|
+ if (ret)
|
|
|
+ return ret;
|
|
|
|
|
|
mutex_lock(&chip->mutex);
|
|
|
chip->prox_rate_threshold = bh1770_prox_rate_validate(value);
|
|
@@ -840,9 +845,11 @@ static ssize_t bh1770_set_prox_rate_below(struct device *dev,
|
|
|
{
|
|
|
struct bh1770_chip *chip = dev_get_drvdata(dev);
|
|
|
unsigned long value;
|
|
|
+ int ret;
|
|
|
|
|
|
- if (strict_strtoul(buf, 0, &value))
|
|
|
- return -EINVAL;
|
|
|
+ ret = kstrtoul(buf, 0, &value);
|
|
|
+ if (ret)
|
|
|
+ return ret;
|
|
|
|
|
|
mutex_lock(&chip->mutex);
|
|
|
chip->prox_rate = bh1770_prox_rate_validate(value);
|
|
@@ -865,8 +872,10 @@ static ssize_t bh1770_set_prox_thres(struct device *dev,
|
|
|
unsigned long value;
|
|
|
int ret;
|
|
|
|
|
|
- if (strict_strtoul(buf, 0, &value))
|
|
|
- return -EINVAL;
|
|
|
+ ret = kstrtoul(buf, 0, &value);
|
|
|
+ if (ret)
|
|
|
+ return ret;
|
|
|
+
|
|
|
if (value > BH1770_PROX_RANGE)
|
|
|
return -EINVAL;
|
|
|
|
|
@@ -893,9 +902,11 @@ static ssize_t bh1770_prox_persistence_store(struct device *dev,
|
|
|
{
|
|
|
struct bh1770_chip *chip = dev_get_drvdata(dev);
|
|
|
unsigned long value;
|
|
|
+ int ret;
|
|
|
|
|
|
- if (strict_strtoul(buf, 0, &value))
|
|
|
- return -EINVAL;
|
|
|
+ ret = kstrtoul(buf, 0, &value);
|
|
|
+ if (ret)
|
|
|
+ return ret;
|
|
|
|
|
|
if (value > BH1770_PROX_MAX_PERSISTENCE)
|
|
|
return -EINVAL;
|
|
@@ -918,9 +929,11 @@ static ssize_t bh1770_prox_abs_thres_store(struct device *dev,
|
|
|
{
|
|
|
struct bh1770_chip *chip = dev_get_drvdata(dev);
|
|
|
unsigned long value;
|
|
|
+ int ret;
|
|
|
|
|
|
- if (strict_strtoul(buf, 0, &value))
|
|
|
- return -EINVAL;
|
|
|
+ ret = kstrtoul(buf, 0, &value);
|
|
|
+ if (ret)
|
|
|
+ return ret;
|
|
|
|
|
|
if (value > BH1770_PROX_RANGE)
|
|
|
return -EINVAL;
|
|
@@ -963,9 +976,11 @@ static ssize_t bh1770_lux_calib_store(struct device *dev,
|
|
|
unsigned long value;
|
|
|
u32 old_calib;
|
|
|
u32 new_corr;
|
|
|
+ int ret;
|
|
|
|
|
|
- if (strict_strtoul(buf, 0, &value))
|
|
|
- return -EINVAL;
|
|
|
+ ret = kstrtoul(buf, 0, &value);
|
|
|
+ if (ret)
|
|
|
+ return ret;
|
|
|
|
|
|
mutex_lock(&chip->mutex);
|
|
|
old_calib = chip->lux_calib;
|
|
@@ -1012,8 +1027,9 @@ static ssize_t bh1770_set_lux_rate(struct device *dev,
|
|
|
unsigned long rate_hz;
|
|
|
int ret, i;
|
|
|
|
|
|
- if (strict_strtoul(buf, 0, &rate_hz))
|
|
|
- return -EINVAL;
|
|
|
+ ret = kstrtoul(buf, 0, &rate_hz);
|
|
|
+ if (ret)
|
|
|
+ return ret;
|
|
|
|
|
|
for (i = 0; i < ARRAY_SIZE(lux_rates_hz) - 1; i++)
|
|
|
if (rate_hz >= lux_rates_hz[i])
|
|
@@ -1047,11 +1063,12 @@ static ssize_t bh1770_get_lux_thresh_below(struct device *dev,
|
|
|
static ssize_t bh1770_set_lux_thresh(struct bh1770_chip *chip, u16 *target,
|
|
|
const char *buf)
|
|
|
{
|
|
|
- int ret = 0;
|
|
|
unsigned long thresh;
|
|
|
+ int ret;
|
|
|
|
|
|
- if (strict_strtoul(buf, 0, &thresh))
|
|
|
- return -EINVAL;
|
|
|
+ ret = kstrtoul(buf, 0, &thresh);
|
|
|
+ if (ret)
|
|
|
+ return ret;
|
|
|
|
|
|
if (thresh > BH1770_LUX_RANGE)
|
|
|
return -EINVAL;
|