linux-iio.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
From: Jonathan Cameron <jic23@kernel.org>
To: Peter Meerwald <pmeerw@pmeerw.net>, linux-iio@vger.kernel.org
Subject: Re: [PATCH v2 06/15] staging:iio:hmc5843: Introduce helper functions to show/check list of int pairs
Date: Tue, 01 Oct 2013 10:58:11 +0100	[thread overview]
Message-ID: <524A9CB3.2050400@kernel.org> (raw)
In-Reply-To: <524A9C24.5090805@kernel.org>

On 10/01/13 10:55, Jonathan Cameron wrote:
> On 09/19/13 20:35, Peter Meerwald wrote:
>> Signed-off-by: Peter Meerwald <pmeerw@pmeerw.net>
> Applied, thanks
Little premature.  I had slightly different alignment of some
code in one of the patches I had merged, so this needed a bit of hand
editting as well.  Result is the same after both those patches are applied
though!


>> ---
>>  drivers/staging/iio/magnetometer/hmc5843.c | 56 ++++++++++++++++++------------
>>  1 file changed, 34 insertions(+), 22 deletions(-)
>>
>> diff --git a/drivers/staging/iio/magnetometer/hmc5843.c b/drivers/staging/iio/magnetometer/hmc5843.c
>> index 2d89549..71f26de 100644
>> --- a/drivers/staging/iio/magnetometer/hmc5843.c
>> +++ b/drivers/staging/iio/magnetometer/hmc5843.c
>> @@ -356,24 +356,42 @@ static IIO_DEVICE_ATTR(meas_conf,
>>  			hmc5843_set_measurement_configuration,
>>  			0);
>>  
>> -static ssize_t hmc5843_show_samp_freq_avail(struct device *dev,
>> -				struct device_attribute *attr, char *buf)
>> +static ssize_t hmc5843_show_int_plus_micros(char *buf,
>> +	const int (*vals)[2], int n)
>>  {
>> -	struct hmc5843_data *data = iio_priv(dev_to_iio_dev(dev));
>> -	ssize_t total_n = 0;
>> +	size_t len = 0;
>>  	int i;
>>  
>> -	for (i = 0; i < HMC5843_RATE_NOT_USED; i++) {
>> -		ssize_t n = sprintf(buf, "%d.%d ",
>> -			data->variant->regval_to_samp_freq[i][0],
>> -			data->variant->regval_to_samp_freq[i][1]);
>> -		buf += n;
>> -		total_n += n;
>> -	}
>> +	for (i = 0; i < n; i++)
>> +		len += scnprintf(buf + len, PAGE_SIZE - len,
>> +			"%d.%d ", vals[i][0], vals[i][1]);
>> +
>>  	/* replace trailing space by newline */
>> -	buf[-1] = '\n';
>> +	buf[len - 1] = '\n';
>> +
>> +	return len;
>> +}
>>  
>> -	return total_n;
>> +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);
>> @@ -389,15 +407,9 @@ static s32 hmc5843_set_rate(struct hmc5843_data *data, u8 rate)
>>  static int hmc5843_check_samp_freq(struct hmc5843_data *data,
>>  	int val, int 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;
>> +	return hmc5843_check_int_plus_micros(
>> +		data->variant->regval_to_samp_freq, HMC5843_RATE_NOT_USED,
>> +		val, val2);
>>  }
>>  
>>  static ssize_t hmc5843_show_range_gain(struct device *dev,
>>
> --
> To unsubscribe from this list: send the line "unsubscribe linux-iio" in
> the body of a message to majordomo@vger.kernel.org
> More majordomo info at  http://vger.kernel.org/majordomo-info.html
> 

  reply	other threads:[~2013-10-01  8:57 UTC|newest]

Thread overview: 29+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2013-09-19 19:35 [PATCH v2 00/15] staging:iio:hmc5843 cleanup Peter Meerwald
2013-09-19 19:35 ` [PATCH v2 01/15] staging:iio:hmc5843: Add pointer to i2c client to data struct Peter Meerwald
2013-09-21 10:46   ` Jonathan Cameron
2013-10-01  9:40     ` Jonathan Cameron
2013-10-01  8:44       ` Peter Meerwald
2013-10-01 10:10         ` Jonathan Cameron
2013-09-19 19:35 ` [PATCH v2 02/15] staging:iio:hmc5843: Rewrite init function Peter Meerwald
2013-10-01  9:41   ` Jonathan Cameron
2013-09-19 19:35 ` [PATCH v2 03/15] staging:iio:hmc5843: Use INFO_SAMP_FREQ Peter Meerwald
2013-10-01  9:44   ` Jonathan Cameron
2013-09-19 19:35 ` [PATCH v2 04/15] staging:iio:hmc5843: Remove unused LSB register #defines Peter Meerwald
2013-10-01  9:55   ` Jonathan Cameron
2013-09-19 19:35 ` [PATCH v2 05/15] staging:iio:hmc5843: Tighten comments Peter Meerwald
2013-09-19 19:35 ` [PATCH v2 06/15] staging:iio:hmc5843: Introduce helper functions to show/check list of int pairs Peter Meerwald
2013-10-01  9:55   ` Jonathan Cameron
2013-10-01  9:58     ` Jonathan Cameron [this message]
2013-09-19 19:35 ` [PATCH v2 07/15] staging:iio:hmc5843: Use CALIBSCALE instead of magn_range Peter Meerwald
2013-09-20 19:57   ` Jonathan Cameron
2013-09-20 20:12     ` Peter Meerwald
2013-09-20 21:54       ` Jonathan Cameron
2013-09-19 19:35 ` [PATCH v2 08/15] staging:iio:hmc5843: Always read all channels values otherwise no updates Peter Meerwald
2013-09-19 19:35 ` [PATCH v2 09/15] staging:iio:hmc5843: Add trigger handling Peter Meerwald
2013-09-19 19:35 ` [PATCH v2 10/15] staging:iio:hmc5843: Remove ability to change operating mode Peter Meerwald
2013-09-19 19:35 ` [PATCH v2 11/15] staging:iio:hmc5843: Rename _configure() to _set_mode() Peter Meerwald
2013-09-19 19:35 ` [PATCH v2 12/15] staging:iio:hmc5843: Reorganize _set_meas_conf() Peter Meerwald
2013-09-19 19:35 ` [PATCH v2 13/15] staging:iio:hmc5843: Rename _set_rate() to _set_samp_freq() Peter Meerwald
2013-09-19 19:35 ` [PATCH v2 14/15] staging:iio:hmc5843: Introduce _set_range_gain() Peter Meerwald
2013-09-19 19:36 ` [PATCH v2 15/15] staging:iio:hmc5843: Check initialization and chip identifier Peter Meerwald
2013-09-20 20:05 ` [PATCH v2 00/15] staging:iio:hmc5843 cleanup Jonathan Cameron

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=524A9CB3.2050400@kernel.org \
    --to=jic23@kernel.org \
    --cc=linux-iio@vger.kernel.org \
    --cc=pmeerw@pmeerw.net \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).