From: Jonathan Cameron <jic23@kernel.org>
To: Peter Meerwald <pmeerw@pmeerw.net>
Cc: linux-iio@vger.kernel.org, lars@metafoo.de
Subject: Re: [PATCH 4/8] iio: rework sampling rate setting in hmc5843
Date: Thu, 10 May 2012 13:13:15 +0100 [thread overview]
Message-ID: <4FABB0DB.1070100@kernel.org> (raw)
In-Reply-To: <1336515606-12364-5-git-send-email-pmeerw@pmeerw.net>
On 5/8/2012 11:20 PM, Peter Meerwald wrote:
> From: Peter Meerwald<p.meerwald@bct-electronic.com>
>
> Signed-off-by: Peter Meerwald<pmeerw@pmeerw.net>
Acked-by: Jonathan Cameron <jic23@kernel.org>
> ---
> drivers/staging/iio/magnetometer/hmc5843.c | 51 +++++++++++++---------------
> 1 files changed, 24 insertions(+), 27 deletions(-)
>
> diff --git a/drivers/staging/iio/magnetometer/hmc5843.c b/drivers/staging/iio/magnetometer/hmc5843.c
> index 1318f7d..6888e04 100644
> --- a/drivers/staging/iio/magnetometer/hmc5843.c
> +++ b/drivers/staging/iio/magnetometer/hmc5843.c
> @@ -85,14 +85,6 @@
> */
> #define HMC5843_RATE_OFFSET 0x02
> #define HMC5843_RATE_BITMASK 0x1C
> -#define RATE_5 0x00
> -#define RATE_10 0x01
> -#define RATE_20 0x02
> -#define RATE_50 0x03
> -#define RATE_100 0x04
> -#define RATE_200 0x05
> -#define RATE_500 0x06
> -
> #define HMC5843_RATE_NOT_USED 0x07
>
> /*
> @@ -342,6 +334,21 @@ static s32 hmc5843_set_rate(struct i2c_client *client,
> return i2c_smbus_write_byte_data(client, HMC5843_CONFIG_REG_A, reg_val);
> }
>
> +static int hmc5843_check_sampling_frequency(struct hmc5843_data *data,
> + const char *buf)
> +{
> + const char * const *samp_freq = regval_to_samp_freq;
> + int i;
> +
> + for (i = 0; i< HMC5843_RATE_NOT_USED; i++) {
> + if (strncmp(buf, samp_freq[i],
> + strlen(samp_freq[i])) == 0)
> + return i;
> + }
> +
> + return -EINVAL;
> +}
> +
> static ssize_t set_sampling_frequency(struct device *dev,
> struct device_attribute *attr,
> const char *buf, size_t count)
> @@ -350,27 +357,17 @@ static ssize_t set_sampling_frequency(struct device *dev,
> struct iio_dev *indio_dev = dev_get_drvdata(dev);
> struct i2c_client *client = to_i2c_client(indio_dev->dev.parent);
> struct hmc5843_data *data = iio_priv(indio_dev);
> - unsigned long rate = 0;
> -
> - if (strncmp(buf, "0.5" , 3) == 0)
> - rate = RATE_5;
> - else if (strncmp(buf, "1" , 1) == 0)
> - rate = RATE_10;
> - else if (strncmp(buf, "2", 1) == 0)
> - rate = RATE_20;
> - else if (strncmp(buf, "5", 1) == 0)
> - rate = RATE_50;
> - else if (strncmp(buf, "10", 2) == 0)
> - rate = RATE_100;
> - else if (strncmp(buf, "20" , 2) == 0)
> - rate = RATE_200;
> - else if (strncmp(buf, "50" , 2) == 0)
> - rate = RATE_500;
> - else
> - return -EINVAL;
> + int rate;
> +
> + rate = hmc5843_check_sampling_frequency(data, buf);
> + if (rate< 0) {
> + dev_err(&client->dev,
> + "sampling frequency is not supported\n");
> + return rate;
> + }
>
> mutex_lock(&data->lock);
> - dev_dbg(dev, "set rate to %lu\n", rate);
> + dev_dbg(dev, "set rate to %d\n", rate);
> if (hmc5843_set_rate(client, rate)) {
> count = -EINVAL;
> goto exit;
next prev parent reply other threads:[~2012-05-10 12:13 UTC|newest]
Thread overview: 23+ messages / expand[flat|nested] mbox.gz Atom feed top
2012-05-08 22:19 iio: v2, add support for HMC5883/HMC5883L to HMC5843 driver Peter Meerwald
2012-05-08 22:19 ` [PATCH 1/8] iio: fix access to hmc5843 private data Peter Meerwald
2012-05-09 9:59 ` Shubhrajyoti Datta
2012-05-10 14:19 ` Shubhrajyoti Datta
2012-05-10 9:10 ` Jonathan Cameron
2012-05-10 13:18 ` Peter Meerwald
2012-05-08 22:20 ` [PATCH 2/8] iio: change strict_strtoul() to kstrtoul() in hmc5843 Peter Meerwald
2012-05-10 9:11 ` Jonathan Cameron
2012-05-08 22:20 ` [PATCH 3/8] iio: rename and prefix CONSTANTs to distinguish between HMC5843 and HMC5883 Peter Meerwald
2012-05-10 12:11 ` Jonathan Cameron
2012-05-08 22:20 ` [PATCH 4/8] iio: rework sampling rate setting in hmc5843 Peter Meerwald
2012-05-10 12:13 ` Jonathan Cameron [this message]
2012-05-08 22:20 ` [PATCH 5/8] iio: add check for measurement configuration value passed to hmc5843 Peter Meerwald
2012-05-10 12:15 ` Jonathan Cameron
2012-05-08 22:20 ` [PATCH 6/8] iio: cleanup and move comments in hmc5843 Peter Meerwald
2012-05-10 12:18 ` Jonathan Cameron
2012-05-08 22:20 ` [PATCH 7/8] iio: rename function/data to consistently start with hmc5843_ Peter Meerwald
2012-05-10 12:18 ` Jonathan Cameron
2012-05-08 22:20 ` [PATCH 8/8] iio: add support for hmc5883/hmc5883l to hmc5843 magnetometer driver Peter Meerwald
2012-05-10 12:29 ` Jonathan Cameron
2012-05-09 9:55 ` iio: v2, add support for HMC5883/HMC5883L to HMC5843 driver Shubhrajyoti Datta
2012-05-09 13:33 ` Peter Meerwald
2012-05-09 14:20 ` 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=4FABB0DB.1070100@kernel.org \
--to=jic23@kernel.org \
--cc=lars@metafoo.de \
--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 an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.