On 10/16/13 23:19, Peter Meerwald wrote: > and drop/inline helper functions _check_int_plus_micros() and > _show_int_plus_micros() > > Signed-off-by: Peter Meerwald <pmeerw@xxxxxxxxxx> Applied to the togreg branch of iio.git Technically this is addressing two different things so should really have been two patches. > --- > drivers/staging/iio/magnetometer/hmc5843.c | 47 ++++++++++-------------------- > 1 file changed, 16 insertions(+), 31 deletions(-) > > diff --git a/drivers/staging/iio/magnetometer/hmc5843.c b/drivers/staging/iio/magnetometer/hmc5843.c > index c56db41..749b0b6 100644 > --- a/drivers/staging/iio/magnetometer/hmc5843.c > +++ b/drivers/staging/iio/magnetometer/hmc5843.c > @@ -309,15 +309,17 @@ static IIO_DEVICE_ATTR(meas_conf, > hmc5843_set_measurement_configuration, > 0); > > -static ssize_t hmc5843_show_int_plus_micros(char *buf, > - const int (*vals)[2], int n) > +static ssize_t hmc5843_show_samp_freq_avail(struct device *dev, > + struct device_attribute *attr, char *buf) > { > + struct hmc5843_data *data = iio_priv(dev_to_iio_dev(dev)); > size_t len = 0; > int i; > > - for (i = 0; i < n; i++) > + for (i = 0; i < HMC5843_RATE_NOT_USED; i++) > len += scnprintf(buf + len, PAGE_SIZE - len, > - "%d.%d ", vals[i][0], vals[i][1]); > + "%d.%d ", data->variant->regval_to_samp_freq[i][0], > + data->variant->regval_to_samp_freq[i][1]); > > /* replace trailing space by newline */ > buf[len - 1] = '\n'; > @@ -325,28 +327,6 @@ static ssize_t hmc5843_show_int_plus_micros(char *buf, > return len; > } > > -static int hmc5843_check_int_plus_micros(const int (*vals)[2], int n, > - int val, int val2) > -{ > - int i; > - > - for (i = 0; i < n; i++) { > - if (val == vals[i][0] && val2 == vals[i][1]) > - return i; > - } > - > - return -EINVAL; > -} > - > -static ssize_t hmc5843_show_samp_freq_avail(struct device *dev, > - struct device_attribute *attr, char *buf) > -{ > - struct hmc5843_data *data = iio_priv(dev_to_iio_dev(dev)); > - > - return hmc5843_show_int_plus_micros(buf, > - data->variant->regval_to_samp_freq, HMC5843_RATE_NOT_USED); > -} > - > static IIO_DEV_ATTR_SAMP_FREQ_AVAIL(hmc5843_show_samp_freq_avail); > > static s32 hmc5843_set_rate(struct hmc5843_data *data, u8 rate) > @@ -357,12 +337,17 @@ static s32 hmc5843_set_rate(struct hmc5843_data *data, u8 rate) > reg_val); > } > > -static int hmc5843_check_samp_freq(struct hmc5843_data *data, > +static int hmc5843_get_samp_freq_index(struct hmc5843_data *data, > int val, int val2) > { > - return hmc5843_check_int_plus_micros( > - data->variant->regval_to_samp_freq, HMC5843_RATE_NOT_USED, > - val, val2); > + int i; > + > + for (i = 0; i < HMC5843_RATE_NOT_USED; i++) > + if (val == data->variant->regval_to_samp_freq[i][0] && > + val2 == data->variant->regval_to_samp_freq[i][1]) > + return i; > + > + return -EINVAL; > } > > static ssize_t hmc5843_show_scale_avail(struct device *dev, > @@ -430,7 +415,7 @@ static int hmc5843_write_raw(struct iio_dev *indio_dev, > > switch (mask) { > case IIO_CHAN_INFO_SAMP_FREQ: > - rate = hmc5843_check_samp_freq(data, val, val2); > + rate = hmc5843_get_samp_freq_index(data, val, val2); > if (rate < 0) > return -EINVAL; > > -- To unsubscribe from this list: send the line "unsubscribe linux-iio" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html