On 08/20/13 03:31, Jingoo Han wrote: > The usage of strict_strto*() is not preferred, because > strict_strto*() is obsolete. Thus, kstrto*() should be > used. > > Previously, there were only strict_strtol(), strict_strtoul(), > strict_strtoull(), and strict_strtoll(). Thus, when converting > to the variables, only long, unsigned long, unsigned long long, > and long long can be used. > > However, kstrto*() provides various functions handling all types > of variables. Therefore, the types of variables can be changed > properly. > > Signed-off-by: Jingoo Han <jg1.han@xxxxxxxxxxx> Applied to the togreg branch of iio.git Thanks, > --- > Changes since v2: > - Fixed the type of variables suggested by Jonathan Cameron > > drivers/staging/iio/accel/sca3000_core.c | 8 ++--- > drivers/staging/iio/accel/sca3000_ring.c | 4 +-- > drivers/staging/iio/addac/adt7316.c | 38 ++++++++++---------- > drivers/staging/iio/frequency/ad9832.c | 4 +-- > drivers/staging/iio/frequency/ad9834.c | 4 +-- > drivers/staging/iio/impedance-analyzer/ad5933.c | 12 +++---- > drivers/staging/iio/light/isl29018.c | 18 +++++----- > drivers/staging/iio/light/tsl2583.c | 24 ++++++------- > drivers/staging/iio/meter/ade7753.c | 12 +++---- > drivers/staging/iio/meter/ade7754.c | 12 +++---- > drivers/staging/iio/meter/ade7758_core.c | 12 +++---- > drivers/staging/iio/meter/ade7759.c | 12 +++---- > drivers/staging/iio/meter/ade7854.c | 16 ++++----- > drivers/staging/iio/resolver/ad2s1210.c | 20 +++++------ > drivers/staging/iio/trigger/iio-trig-bfin-timer.c | 23 +++++------- > .../staging/iio/trigger/iio-trig-periodic-rtc.c | 4 +-- > 16 files changed, 109 insertions(+), 114 deletions(-) > > diff --git a/drivers/staging/iio/accel/sca3000_core.c b/drivers/staging/iio/accel/sca3000_core.c > index 32950ad..5e99975 100644 > --- a/drivers/staging/iio/accel/sca3000_core.c > +++ b/drivers/staging/iio/accel/sca3000_core.c > @@ -624,9 +624,9 @@ static ssize_t sca3000_set_frequency(struct device *dev, > struct sca3000_state *st = iio_priv(indio_dev); > int ret, base_freq = 0; > int ctrlval; > - long val; > + int val; > > - ret = strict_strtol(buf, 10, &val); > + ret = kstrtoint(buf, 10, &val); > if (ret) > return ret; > > @@ -931,12 +931,12 @@ static ssize_t sca3000_set_free_fall_mode(struct device *dev, > { > struct iio_dev *indio_dev = dev_to_iio_dev(dev); > struct sca3000_state *st = iio_priv(indio_dev); > - long val; > + u8 val; > int ret; > u8 protect_mask = SCA3000_FREE_FALL_DETECT; > > mutex_lock(&st->lock); > - ret = strict_strtol(buf, 10, &val); > + ret = kstrtou8(buf, 10, &val); > if (ret) > goto error_ret; > > diff --git a/drivers/staging/iio/accel/sca3000_ring.c b/drivers/staging/iio/accel/sca3000_ring.c > index 3e5e860..0f2ee33 100644 > --- a/drivers/staging/iio/accel/sca3000_ring.c > +++ b/drivers/staging/iio/accel/sca3000_ring.c > @@ -177,11 +177,11 @@ static ssize_t sca3000_set_ring_int(struct device *dev, > struct iio_dev *indio_dev = dev_to_iio_dev(dev); > struct sca3000_state *st = iio_priv(indio_dev); > struct iio_dev_attr *this_attr = to_iio_dev_attr(attr); > - long val; > + u8 val; > int ret; > > mutex_lock(&st->lock); > - ret = strict_strtol(buf, 10, &val); > + ret = kstrtou8(buf, 10, &val); > if (ret) > goto error_ret; > ret = sca3000_read_data_short(st, SCA3000_REG_ADDR_INT_MASK, 1); > diff --git a/drivers/staging/iio/addac/adt7316.c b/drivers/staging/iio/addac/adt7316.c > index 1e13568..47e482f 100644 > --- a/drivers/staging/iio/addac/adt7316.c > +++ b/drivers/staging/iio/addac/adt7316.c > @@ -412,13 +412,13 @@ static ssize_t adt7316_store_ad_channel(struct device *dev, > struct iio_dev *dev_info = dev_to_iio_dev(dev); > struct adt7316_chip_info *chip = iio_priv(dev_info); > u8 config2; > - unsigned long data = 0; > + u8 data; > int ret; > > if (!(chip->config2 & ADT7316_AD_SINGLE_CH_MODE)) > return -EPERM; > > - ret = strict_strtoul(buf, 10, &data); > + ret = kstrtou8(buf, 10, &data); > if (ret) > return -EINVAL; > > @@ -823,10 +823,10 @@ static ssize_t adt7316_store_DAC_2Vref_ch_mask(struct device *dev, > struct iio_dev *dev_info = dev_to_iio_dev(dev); > struct adt7316_chip_info *chip = iio_priv(dev_info); > u8 dac_config; > - unsigned long data = 0; > + u8 data; > int ret; > > - ret = strict_strtoul(buf, 16, &data); > + ret = kstrtou8(buf, 16, &data); > if (ret || data > ADT7316_DA_2VREF_CH_MASK) > return -EINVAL; > > @@ -878,13 +878,13 @@ static ssize_t adt7316_store_DAC_update_mode(struct device *dev, > struct iio_dev *dev_info = dev_to_iio_dev(dev); > struct adt7316_chip_info *chip = iio_priv(dev_info); > u8 dac_config; > - unsigned long data; > + u8 data; > int ret; > > if (!(chip->config3 & ADT7316_DA_EN_VIA_DAC_LDCA)) > return -EPERM; > > - ret = strict_strtoul(buf, 10, &data); > + ret = kstrtou8(buf, 10, &data); > if (ret || data > ADT7316_DA_EN_MODE_MASK) > return -EINVAL; > > @@ -933,7 +933,7 @@ static ssize_t adt7316_store_update_DAC(struct device *dev, > struct iio_dev *dev_info = dev_to_iio_dev(dev); > struct adt7316_chip_info *chip = iio_priv(dev_info); > u8 ldac_config; > - unsigned long data; > + u8 data; > int ret; > > if (chip->config3 & ADT7316_DA_EN_VIA_DAC_LDCA) { > @@ -941,7 +941,7 @@ static ssize_t adt7316_store_update_DAC(struct device *dev, > ADT7316_DA_EN_MODE_LDAC) > return -EPERM; > > - ret = strict_strtoul(buf, 16, &data); > + ret = kstrtou8(buf, 16, &data); > if (ret || data > ADT7316_LDAC_EN_DA_MASK) > return -EINVAL; > > @@ -1079,11 +1079,11 @@ static ssize_t adt7316_store_DAC_internal_Vref(struct device *dev, > struct iio_dev *dev_info = dev_to_iio_dev(dev); > struct adt7316_chip_info *chip = iio_priv(dev_info); > u8 ldac_config; > - unsigned long data; > + u8 data; > int ret; > > if ((chip->id & ID_FAMILY_MASK) == ID_ADT75XX) { > - ret = strict_strtoul(buf, 16, &data); > + ret = kstrtou8(buf, 16, &data); > if (ret || data > 3) > return -EINVAL; > > @@ -1093,7 +1093,7 @@ static ssize_t adt7316_store_DAC_internal_Vref(struct device *dev, > else if (data & 0x2) > ldac_config |= ADT7516_DAC_CD_IN_VREF; > } else { > - ret = strict_strtoul(buf, 16, &data); > + ret = kstrtou8(buf, 16, &data); > if (ret) > return -EINVAL; > > @@ -1281,11 +1281,11 @@ static ssize_t adt7316_show_temp_offset(struct adt7316_chip_info *chip, > static ssize_t adt7316_store_temp_offset(struct adt7316_chip_info *chip, > int offset_addr, const char *buf, size_t len) > { > - long data; > + int data; > u8 val; > int ret; > > - ret = strict_strtol(buf, 10, &data); > + ret = kstrtoint(buf, 10, &data); > if (ret || data > 127 || data < -128) > return -EINVAL; > > @@ -1442,7 +1442,7 @@ static ssize_t adt7316_store_DAC(struct adt7316_chip_info *chip, > int channel, const char *buf, size_t len) > { > u8 msb, lsb, offset; > - unsigned long data; > + u16 data; > int ret; > > if (channel >= ADT7316_DA_MSB_DATA_REGS || > @@ -1454,7 +1454,7 @@ static ssize_t adt7316_store_DAC(struct adt7316_chip_info *chip, > > offset = chip->dac_bits - 8; > > - ret = strict_strtoul(buf, 10, &data); > + ret = kstrtou16(buf, 10, &data); > if (ret || data >= (1 << chip->dac_bits)) > return -EINVAL; > > @@ -1830,11 +1830,11 @@ static ssize_t adt7316_set_int_mask(struct device *dev, > { > struct iio_dev *dev_info = dev_to_iio_dev(dev); > struct adt7316_chip_info *chip = iio_priv(dev_info); > - unsigned long data; > + u16 data; > int ret; > u8 mask; > > - ret = strict_strtoul(buf, 16, &data); > + ret = kstrtou16(buf, 16, &data); > if (ret || data >= ADT7316_VDD_INT_MASK + 1) > return -EINVAL; > > @@ -1901,7 +1901,7 @@ static inline ssize_t adt7316_set_ad_bound(struct device *dev, > struct iio_dev_attr *this_attr = to_iio_dev_attr(attr); > struct iio_dev *dev_info = dev_to_iio_dev(dev); > struct adt7316_chip_info *chip = iio_priv(dev_info); > - long data; > + int data; > u8 val; > int ret; > > @@ -1909,7 +1909,7 @@ static inline ssize_t adt7316_set_ad_bound(struct device *dev, > this_attr->address > ADT7316_EX_TEMP_LOW) > return -EPERM; > > - ret = strict_strtol(buf, 10, &data); > + ret = kstrtoint(buf, 10, &data); > if (ret) > return -EINVAL; > > diff --git a/drivers/staging/iio/frequency/ad9832.c b/drivers/staging/iio/frequency/ad9832.c > index 4e18380..944fb52 100644 > --- a/drivers/staging/iio/frequency/ad9832.c > +++ b/drivers/staging/iio/frequency/ad9832.c > @@ -81,9 +81,9 @@ static ssize_t ad9832_write(struct device *dev, > struct ad9832_state *st = iio_priv(indio_dev); > struct iio_dev_attr *this_attr = to_iio_dev_attr(attr); > int ret; > - long val; > + unsigned long val; > > - ret = strict_strtoul(buf, 10, &val); > + ret = kstrtoul(buf, 10, &val); > if (ret) > goto error_ret; > > diff --git a/drivers/staging/iio/frequency/ad9834.c b/drivers/staging/iio/frequency/ad9834.c > index 5cba3c0..155abed 100644 > --- a/drivers/staging/iio/frequency/ad9834.c > +++ b/drivers/staging/iio/frequency/ad9834.c > @@ -70,9 +70,9 @@ static ssize_t ad9834_write(struct device *dev, > struct ad9834_state *st = iio_priv(indio_dev); > struct iio_dev_attr *this_attr = to_iio_dev_attr(attr); > int ret; > - long val; > + unsigned long val; > > - ret = strict_strtoul(buf, 10, &val); > + ret = kstrtoul(buf, 10, &val); > if (ret) > goto error_ret; > > diff --git a/drivers/staging/iio/impedance-analyzer/ad5933.c b/drivers/staging/iio/impedance-analyzer/ad5933.c > index 6330af6..8f2ff53 100644 > --- a/drivers/staging/iio/impedance-analyzer/ad5933.c > +++ b/drivers/staging/iio/impedance-analyzer/ad5933.c > @@ -323,10 +323,10 @@ static ssize_t ad5933_store_frequency(struct device *dev, > struct iio_dev *indio_dev = dev_to_iio_dev(dev); > struct ad5933_state *st = iio_priv(indio_dev); > struct iio_dev_attr *this_attr = to_iio_dev_attr(attr); > - long val; > + unsigned long val; > int ret; > > - ret = strict_strtoul(buf, 10, &val); > + ret = kstrtoul(buf, 10, &val); > if (ret) > return ret; > > @@ -400,12 +400,12 @@ static ssize_t ad5933_store(struct device *dev, > struct iio_dev *indio_dev = dev_to_iio_dev(dev); > struct ad5933_state *st = iio_priv(indio_dev); > struct iio_dev_attr *this_attr = to_iio_dev_attr(attr); > - long val; > + u16 val; > int i, ret = 0; > unsigned short dat; > > if (this_attr->address != AD5933_IN_PGA_GAIN) { > - ret = strict_strtol(buf, 10, &val); > + ret = kstrtou16(buf, 10, &val); > if (ret) > return ret; > } > @@ -434,7 +434,7 @@ static ssize_t ad5933_store(struct device *dev, > ret = ad5933_cmd(st, 0); > break; > case AD5933_OUT_SETTLING_CYCLES: > - val = clamp(val, 0L, 0x7FFL); > + val = clamp(val, (u16)0, (u16)0x7FF); > st->settling_cycles = val; > > /* 2x, 4x handling, see datasheet */ > @@ -448,7 +448,7 @@ static ssize_t ad5933_store(struct device *dev, > AD5933_REG_SETTLING_CYCLES, 2, (u8 *)&dat); > break; > case AD5933_FREQ_POINTS: > - val = clamp(val, 0L, 511L); > + val = clamp(val, (u16)0, (u16)511); > st->freq_points = val; > > dat = cpu_to_be16(val); > diff --git a/drivers/staging/iio/light/isl29018.c b/drivers/staging/iio/light/isl29018.c > index 351936c..e314d7e 100644 > --- a/drivers/staging/iio/light/isl29018.c > +++ b/drivers/staging/iio/light/isl29018.c > @@ -240,7 +240,7 @@ static ssize_t store_range(struct device *dev, > unsigned long lval; > unsigned int new_range; > > - if (strict_strtoul(buf, 10, &lval)) > + if (kstrtoul(buf, 10, &lval)) > return -EINVAL; > > if (!(lval == 1000UL || lval == 4000UL || > @@ -279,18 +279,18 @@ static ssize_t store_resolution(struct device *dev, > struct iio_dev *indio_dev = dev_to_iio_dev(dev); > struct isl29018_chip *chip = iio_priv(indio_dev); > int status; > - unsigned long lval; > + unsigned int val; > unsigned int new_adc_bit; > > - if (strict_strtoul(buf, 10, &lval)) > + if (kstrtouint(buf, 10, &val)) > return -EINVAL; > - if (!(lval == 4 || lval == 8 || lval == 12 || lval == 16)) { > + if (!(val == 4 || val == 8 || val == 12 || val == 16)) { > dev_err(dev, "The resolution is not supported\n"); > return -EINVAL; > } > > mutex_lock(&chip->lock); > - status = isl29018_set_resolution(chip, lval, &new_adc_bit); > + status = isl29018_set_resolution(chip, val, &new_adc_bit); > if (status < 0) { > mutex_unlock(&chip->lock); > dev_err(dev, "Error in setting resolution\n"); > @@ -319,11 +319,11 @@ static ssize_t store_prox_infrared_suppression(struct device *dev, > { > struct iio_dev *indio_dev = dev_to_iio_dev(dev); > struct isl29018_chip *chip = iio_priv(indio_dev); > - unsigned long lval; > + int val; > > - if (strict_strtoul(buf, 10, &lval)) > + if (kstrtoint(buf, 10, &val)) > return -EINVAL; > - if (!(lval == 0UL || lval == 1UL)) { > + if (!(val == 0 || val == 1)) { > dev_err(dev, "The mode is not supported\n"); > return -EINVAL; > } > @@ -331,7 +331,7 @@ static ssize_t store_prox_infrared_suppression(struct device *dev, > /* get the "proximity scheme" i.e. if the chip does on chip > infrared suppression (1 means perform on chip suppression) */ > mutex_lock(&chip->lock); > - chip->prox_scheme = (int)lval; > + chip->prox_scheme = val; > mutex_unlock(&chip->lock); > > return count; > diff --git a/drivers/staging/iio/light/tsl2583.c b/drivers/staging/iio/light/tsl2583.c > index b377dd3..44d00a9 100644 > --- a/drivers/staging/iio/light/tsl2583.c > +++ b/drivers/staging/iio/light/tsl2583.c > @@ -493,9 +493,9 @@ static ssize_t taos_power_state_store(struct device *dev, > struct device_attribute *attr, const char *buf, size_t len) > { > struct iio_dev *indio_dev = dev_to_iio_dev(dev); > - unsigned long value; > + int value; > > - if (strict_strtoul(buf, 0, &value)) > + if (kstrtoint(buf, 0, &value)) > return -EINVAL; > > if (value == 0) > @@ -536,9 +536,9 @@ static ssize_t taos_gain_store(struct device *dev, > { > struct iio_dev *indio_dev = dev_to_iio_dev(dev); > struct tsl2583_chip *chip = iio_priv(indio_dev); > - unsigned long value; > + int value; > > - if (strict_strtoul(buf, 0, &value)) > + if (kstrtoint(buf, 0, &value)) > return -EINVAL; > > switch (value) { > @@ -582,9 +582,9 @@ static ssize_t taos_als_time_store(struct device *dev, > { > struct iio_dev *indio_dev = dev_to_iio_dev(dev); > struct tsl2583_chip *chip = iio_priv(indio_dev); > - unsigned long value; > + int value; > > - if (strict_strtoul(buf, 0, &value)) > + if (kstrtoint(buf, 0, &value)) > return -EINVAL; > > if ((value < 50) || (value > 650)) > @@ -619,9 +619,9 @@ static ssize_t taos_als_trim_store(struct device *dev, > { > struct iio_dev *indio_dev = dev_to_iio_dev(dev); > struct tsl2583_chip *chip = iio_priv(indio_dev); > - unsigned long value; > + int value; > > - if (strict_strtoul(buf, 0, &value)) > + if (kstrtoint(buf, 0, &value)) > return -EINVAL; > > if (value) > @@ -644,9 +644,9 @@ static ssize_t taos_als_cal_target_store(struct device *dev, > { > struct iio_dev *indio_dev = dev_to_iio_dev(dev); > struct tsl2583_chip *chip = iio_priv(indio_dev); > - unsigned long value; > + int value; > > - if (strict_strtoul(buf, 0, &value)) > + if (kstrtoint(buf, 0, &value)) > return -EINVAL; > > if (value) > @@ -671,9 +671,9 @@ static ssize_t taos_do_calibrate(struct device *dev, > struct device_attribute *attr, const char *buf, size_t len) > { > struct iio_dev *indio_dev = dev_to_iio_dev(dev); > - unsigned long value; > + int value; > > - if (strict_strtoul(buf, 0, &value)) > + if (kstrtoint(buf, 0, &value)) > return -EINVAL; > > if (value == 1) > diff --git a/drivers/staging/iio/meter/ade7753.c b/drivers/staging/iio/meter/ade7753.c > index 74025fb..f0bba33 100644 > --- a/drivers/staging/iio/meter/ade7753.c > +++ b/drivers/staging/iio/meter/ade7753.c > @@ -186,9 +186,9 @@ static ssize_t ade7753_write_8bit(struct device *dev, > { > struct iio_dev_attr *this_attr = to_iio_dev_attr(attr); > int ret; > - long val; > + u8 val; > > - ret = strict_strtol(buf, 10, &val); > + ret = kstrtou8(buf, 10, &val); > if (ret) > goto error_ret; > ret = ade7753_spi_write_reg_8(dev, this_attr->address, val); > @@ -204,9 +204,9 @@ static ssize_t ade7753_write_16bit(struct device *dev, > { > struct iio_dev_attr *this_attr = to_iio_dev_attr(attr); > int ret; > - long val; > + u16 val; > > - ret = strict_strtol(buf, 10, &val); > + ret = kstrtou16(buf, 10, &val); > if (ret) > goto error_ret; > ret = ade7753_spi_write_reg_16(dev, this_attr->address, val); > @@ -399,11 +399,11 @@ static ssize_t ade7753_write_frequency(struct device *dev, > { > struct iio_dev *indio_dev = dev_to_iio_dev(dev); > struct ade7753_state *st = iio_priv(indio_dev); > - unsigned long val; > + u16 val; > int ret; > u16 reg, t; > > - ret = strict_strtol(buf, 10, &val); > + ret = kstrtou16(buf, 10, &val); > if (ret) > return ret; > if (val == 0) > diff --git a/drivers/staging/iio/meter/ade7754.c b/drivers/staging/iio/meter/ade7754.c > index f649ebe..63a6ad1c 100644 > --- a/drivers/staging/iio/meter/ade7754.c > +++ b/drivers/staging/iio/meter/ade7754.c > @@ -186,9 +186,9 @@ static ssize_t ade7754_write_8bit(struct device *dev, > { > struct iio_dev_attr *this_attr = to_iio_dev_attr(attr); > int ret; > - long val; > + u8 val; > > - ret = strict_strtol(buf, 10, &val); > + ret = kstrtou8(buf, 10, &val); > if (ret) > goto error_ret; > ret = ade7754_spi_write_reg_8(dev, this_attr->address, val); > @@ -204,9 +204,9 @@ static ssize_t ade7754_write_16bit(struct device *dev, > { > struct iio_dev_attr *this_attr = to_iio_dev_attr(attr); > int ret; > - long val; > + u16 val; > > - ret = strict_strtol(buf, 10, &val); > + ret = kstrtou16(buf, 10, &val); > if (ret) > goto error_ret; > ret = ade7754_spi_write_reg_16(dev, this_attr->address, val); > @@ -419,11 +419,11 @@ static ssize_t ade7754_write_frequency(struct device *dev, > { > struct iio_dev *indio_dev = dev_to_iio_dev(dev); > struct ade7754_state *st = iio_priv(indio_dev); > - unsigned long val; > + u16 val; > int ret; > u8 reg, t; > > - ret = strict_strtol(buf, 10, &val); > + ret = kstrtou16(buf, 10, &val); > if (ret) > return ret; > if (val == 0) > diff --git a/drivers/staging/iio/meter/ade7758_core.c b/drivers/staging/iio/meter/ade7758_core.c > index 6005d4a..6a62751 100644 > --- a/drivers/staging/iio/meter/ade7758_core.c > +++ b/drivers/staging/iio/meter/ade7758_core.c > @@ -269,9 +269,9 @@ static ssize_t ade7758_write_8bit(struct device *dev, > { > struct iio_dev_attr *this_attr = to_iio_dev_attr(attr); > int ret; > - long val; > + u8 val; > > - ret = strict_strtol(buf, 10, &val); > + ret = kstrtou8(buf, 10, &val); > if (ret) > goto error_ret; > ret = ade7758_spi_write_reg_8(dev, this_attr->address, val); > @@ -287,9 +287,9 @@ static ssize_t ade7758_write_16bit(struct device *dev, > { > struct iio_dev_attr *this_attr = to_iio_dev_attr(attr); > int ret; > - long val; > + u16 val; > > - ret = strict_strtol(buf, 10, &val); > + ret = kstrtou16(buf, 10, &val); > if (ret) > goto error_ret; > ret = ade7758_spi_write_reg_16(dev, this_attr->address, val); > @@ -502,11 +502,11 @@ static ssize_t ade7758_write_frequency(struct device *dev, > size_t len) > { > struct iio_dev *indio_dev = dev_to_iio_dev(dev); > - unsigned long val; > + u16 val; > int ret; > u8 reg, t; > > - ret = strict_strtol(buf, 10, &val); > + ret = kstrtou16(buf, 10, &val); > if (ret) > return ret; > > diff --git a/drivers/staging/iio/meter/ade7759.c b/drivers/staging/iio/meter/ade7759.c > index d214ac4..c1a3a5d 100644 > --- a/drivers/staging/iio/meter/ade7759.c > +++ b/drivers/staging/iio/meter/ade7759.c > @@ -185,9 +185,9 @@ static ssize_t ade7759_write_8bit(struct device *dev, > { > struct iio_dev_attr *this_attr = to_iio_dev_attr(attr); > int ret; > - long val; > + u8 val; > > - ret = strict_strtol(buf, 10, &val); > + ret = kstrtou8(buf, 10, &val); > if (ret) > goto error_ret; > ret = ade7759_spi_write_reg_8(dev, this_attr->address, val); > @@ -203,9 +203,9 @@ static ssize_t ade7759_write_16bit(struct device *dev, > { > struct iio_dev_attr *this_attr = to_iio_dev_attr(attr); > int ret; > - long val; > + u16 val; > > - ret = strict_strtol(buf, 10, &val); > + ret = kstrtou16(buf, 10, &val); > if (ret) > goto error_ret; > ret = ade7759_spi_write_reg_16(dev, this_attr->address, val); > @@ -360,11 +360,11 @@ static ssize_t ade7759_write_frequency(struct device *dev, > { > struct iio_dev *indio_dev = dev_to_iio_dev(dev); > struct ade7759_state *st = iio_priv(indio_dev); > - unsigned long val; > + u16 val; > int ret; > u16 reg, t; > > - ret = strict_strtol(buf, 10, &val); > + ret = kstrtou16(buf, 10, &val); > if (ret) > return ret; > if (val == 0) > diff --git a/drivers/staging/iio/meter/ade7854.c b/drivers/staging/iio/meter/ade7854.c > index e8379c0..8e068ab 100644 > --- a/drivers/staging/iio/meter/ade7854.c > +++ b/drivers/staging/iio/meter/ade7854.c > @@ -100,9 +100,9 @@ static ssize_t ade7854_write_8bit(struct device *dev, > struct ade7854_state *st = iio_priv(indio_dev); > > int ret; > - long val; > + u8 val; > > - ret = strict_strtol(buf, 10, &val); > + ret = kstrtou8(buf, 10, &val); > if (ret) > goto error_ret; > ret = st->write_reg_8(dev, this_attr->address, val); > @@ -121,9 +121,9 @@ static ssize_t ade7854_write_16bit(struct device *dev, > struct ade7854_state *st = iio_priv(indio_dev); > > int ret; > - long val; > + u16 val; > > - ret = strict_strtol(buf, 10, &val); > + ret = kstrtou16(buf, 10, &val); > if (ret) > goto error_ret; > ret = st->write_reg_16(dev, this_attr->address, val); > @@ -142,9 +142,9 @@ static ssize_t ade7854_write_24bit(struct device *dev, > struct ade7854_state *st = iio_priv(indio_dev); > > int ret; > - long val; > + u32 val; > > - ret = strict_strtol(buf, 10, &val); > + ret = kstrtou32(buf, 10, &val); > if (ret) > goto error_ret; > ret = st->write_reg_24(dev, this_attr->address, val); > @@ -163,9 +163,9 @@ static ssize_t ade7854_write_32bit(struct device *dev, > struct ade7854_state *st = iio_priv(indio_dev); > > int ret; > - long val; > + u32 val; > > - ret = strict_strtol(buf, 10, &val); > + ret = kstrtou32(buf, 10, &val); > if (ret) > goto error_ret; > ret = st->write_reg_32(dev, this_attr->address, val); > diff --git a/drivers/staging/iio/resolver/ad2s1210.c b/drivers/staging/iio/resolver/ad2s1210.c > index dcdadbb..2b0c8e5 100644 > --- a/drivers/staging/iio/resolver/ad2s1210.c > +++ b/drivers/staging/iio/resolver/ad2s1210.c > @@ -206,10 +206,10 @@ static ssize_t ad2s1210_store_fclkin(struct device *dev, > size_t len) > { > struct ad2s1210_state *st = iio_priv(dev_to_iio_dev(dev)); > - unsigned long fclkin; > + unsigned int fclkin; > int ret; > > - ret = strict_strtoul(buf, 10, &fclkin); > + ret = kstrtouint(buf, 10, &fclkin); > if (ret) > return ret; > if (fclkin < AD2S1210_MIN_CLKIN || fclkin > AD2S1210_MAX_CLKIN) { > @@ -243,10 +243,10 @@ static ssize_t ad2s1210_store_fexcit(struct device *dev, > const char *buf, size_t len) > { > struct ad2s1210_state *st = iio_priv(dev_to_iio_dev(dev)); > - unsigned long fexcit; > + unsigned int fexcit; > int ret; > > - ret = strict_strtoul(buf, 10, &fexcit); > + ret = kstrtouint(buf, 10, &fexcit); > if (ret < 0) > return ret; > if (fexcit < AD2S1210_MIN_EXCIT || fexcit > AD2S1210_MAX_EXCIT) { > @@ -282,11 +282,11 @@ static ssize_t ad2s1210_store_control(struct device *dev, > const char *buf, size_t len) > { > struct ad2s1210_state *st = iio_priv(dev_to_iio_dev(dev)); > - unsigned long udata; > + unsigned char udata; > unsigned char data; > int ret; > > - ret = strict_strtoul(buf, 16, &udata); > + ret = kstrtou8(buf, 16, &udata); > if (ret) > return -EINVAL; > > @@ -337,10 +337,10 @@ static ssize_t ad2s1210_store_resolution(struct device *dev, > { > struct ad2s1210_state *st = iio_priv(dev_to_iio_dev(dev)); > unsigned char data; > - unsigned long udata; > + unsigned char udata; > int ret; > > - ret = strict_strtoul(buf, 10, &udata); > + ret = kstrtou8(buf, 10, &udata); > if (ret || udata < 10 || udata > 16) { > pr_err("ad2s1210: resolution out of range\n"); > return -EINVAL; > @@ -438,11 +438,11 @@ static ssize_t ad2s1210_store_reg(struct device *dev, > struct device_attribute *attr, const char *buf, size_t len) > { > struct ad2s1210_state *st = iio_priv(dev_to_iio_dev(dev)); > - unsigned long data; > + unsigned char data; > int ret; > struct iio_dev_attr *iattr = to_iio_dev_attr(attr); > > - ret = strict_strtoul(buf, 10, &data); > + ret = kstrtou8(buf, 10, &data); > if (ret) > return -EINVAL; > mutex_lock(&st->lock); > diff --git a/drivers/staging/iio/trigger/iio-trig-bfin-timer.c b/drivers/staging/iio/trigger/iio-trig-bfin-timer.c > index 38a158b..ebb189c 100644 > --- a/drivers/staging/iio/trigger/iio-trig-bfin-timer.c > +++ b/drivers/staging/iio/trigger/iio-trig-bfin-timer.c > @@ -83,32 +83,28 @@ static ssize_t iio_bfin_tmr_frequency_store(struct device *dev, > { > struct iio_trigger *trig = to_iio_trigger(dev); > struct bfin_tmr_state *st = iio_trigger_get_drvdata(trig); > - unsigned long val; > + unsigned int val; > bool enabled; > int ret; > > - ret = strict_strtoul(buf, 10, &val); > + ret = kstrtouint(buf, 10, &val); > if (ret) > - goto error_ret; > + return ret; > > if (val > 100000) { > - ret = -EINVAL; > - goto error_ret; > - } > + return -EINVAL; > > enabled = get_enabled_gptimers() & st->t->bit; > > if (enabled) > disable_gptimers(st->t->bit); > > - if (!val) > - goto error_ret; > + if (val == 0) > + return count; > > val = get_sclk() / val; > - if (val <= 4 || val <= st->duty) { > - ret = -EINVAL; > - goto error_ret; > - } > + if (val <= 4 || val <= st->duty) > + return -EINVAL; > > set_gptimer_period(st->t->id, val); > set_gptimer_pwidth(st->t->id, val - st->duty); > @@ -116,8 +112,7 @@ static ssize_t iio_bfin_tmr_frequency_store(struct device *dev, > if (enabled) > enable_gptimers(st->t->bit); > > -error_ret: > - return ret ? ret : count; > + return count; > } > > static ssize_t iio_bfin_tmr_frequency_show(struct device *dev, > diff --git a/drivers/staging/iio/trigger/iio-trig-periodic-rtc.c b/drivers/staging/iio/trigger/iio-trig-periodic-rtc.c > index 7969597..48a6afa 100644 > --- a/drivers/staging/iio/trigger/iio-trig-periodic-rtc.c > +++ b/drivers/staging/iio/trigger/iio-trig-periodic-rtc.c > @@ -53,10 +53,10 @@ static ssize_t iio_trig_periodic_write_freq(struct device *dev, > { > struct iio_trigger *trig = to_iio_trigger(dev); > struct iio_prtc_trigger_info *trig_info = iio_trigger_get_drvdata(trig); > - unsigned long val; > + int val; > int ret; > > - ret = strict_strtoul(buf, 10, &val); > + ret = kstrtoint(buf, 10, &val); > if (ret) > goto error_ret; > > _______________________________________________ devel mailing list devel@xxxxxxxxxxxxxxxxxxxxxx http://driverdev.linuxdriverproject.org/mailman/listinfo/driverdev-devel