linux-iio.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* [PATCH] iio: adc: ti-ads1015: fix comparator polarity setting
@ 2017-08-24  0:22 Akinobu Mita
  2017-09-03 16:50 ` Jonathan Cameron
  0 siblings, 1 reply; 2+ messages in thread
From: Akinobu Mita @ 2017-08-24  0:22 UTC (permalink / raw)
  To: linux-iio; +Cc: Akinobu Mita, Daniel Baluta, Jonathan Cameron

The comparator polarity field in config register is not correctly
initialized as per the interrupt trigger setting.  Because the bitfield
definision is wrong and bit shifting is missed.

Fixes: d9f39babd8ba ("iio: adc: ti-ads1015: add threshold event support")
Cc: Daniel Baluta <daniel.baluta@gmail.com>
Cc: Jonathan Cameron <jic23@kernel.org>
Signed-off-by: Akinobu Mita <akinobu.mita@gmail.com>
---
 drivers/iio/adc/ti-ads1015.c | 8 +++++---
 1 file changed, 5 insertions(+), 3 deletions(-)

diff --git a/drivers/iio/adc/ti-ads1015.c b/drivers/iio/adc/ti-ads1015.c
index 36078bfc..1dad9f0 100644
--- a/drivers/iio/adc/ti-ads1015.c
+++ b/drivers/iio/adc/ti-ads1015.c
@@ -52,7 +52,7 @@
 
 #define ADS1015_CFG_COMP_QUE_MASK	GENMASK(1, 0)
 #define ADS1015_CFG_COMP_LAT_MASK	BIT(2)
-#define ADS1015_CFG_COMP_POL_MASK	BIT(2)
+#define ADS1015_CFG_COMP_POL_MASK	BIT(3)
 #define ADS1015_CFG_COMP_MODE_MASK	BIT(4)
 #define ADS1015_CFG_DR_MASK	GENMASK(7, 5)
 #define ADS1015_CFG_MOD_MASK	BIT(8)
@@ -1017,10 +1017,12 @@ static int ads1015_probe(struct i2c_client *client,
 
 		switch (irq_trig) {
 		case IRQF_TRIGGER_LOW:
-			cfg_comp |= ADS1015_CFG_COMP_POL_LOW;
+			cfg_comp |= ADS1015_CFG_COMP_POL_LOW <<
+					ADS1015_CFG_COMP_POL_SHIFT;
 			break;
 		case IRQF_TRIGGER_HIGH:
-			cfg_comp |= ADS1015_CFG_COMP_POL_HIGH;
+			cfg_comp |= ADS1015_CFG_COMP_POL_HIGH <<
+					ADS1015_CFG_COMP_POL_SHIFT;
 			break;
 		default:
 			return -EINVAL;
-- 
2.7.4

^ permalink raw reply related	[flat|nested] 2+ messages in thread

* Re: [PATCH] iio: adc: ti-ads1015: fix comparator polarity setting
  2017-08-24  0:22 [PATCH] iio: adc: ti-ads1015: fix comparator polarity setting Akinobu Mita
@ 2017-09-03 16:50 ` Jonathan Cameron
  0 siblings, 0 replies; 2+ messages in thread
From: Jonathan Cameron @ 2017-09-03 16:50 UTC (permalink / raw)
  To: Akinobu Mita; +Cc: linux-iio, Daniel Baluta

On Thu, 24 Aug 2017 09:22:57 +0900
Akinobu Mita <akinobu.mita@gmail.com> wrote:

> The comparator polarity field in config register is not correctly
> initialized as per the interrupt trigger setting.  Because the bitfield
> definision is wrong and bit shifting is missed.
> 
> Fixes: d9f39babd8ba ("iio: adc: ti-ads1015: add threshold event support")
> Cc: Daniel Baluta <daniel.baluta@gmail.com>
> Cc: Jonathan Cameron <jic23@kernel.org>
> Signed-off-by: Akinobu Mita <akinobu.mita@gmail.com>

Hmm.. This one is dependent on a patch queued up for the coming merge window.

I've created a new branch based on Greg's next tree called
fixes-togreg-post-rc1. Hopefully I won't forget to send a pull request for
it after rc1, but if it looks like I have - please do give me a poke.

Applied to the fixes-togreg-post-rc1 branch of iio.git.

Thanks,

Jonathan

> ---
>  drivers/iio/adc/ti-ads1015.c | 8 +++++---
>  1 file changed, 5 insertions(+), 3 deletions(-)
> 
> diff --git a/drivers/iio/adc/ti-ads1015.c b/drivers/iio/adc/ti-ads1015.c
> index 36078bfc..1dad9f0 100644
> --- a/drivers/iio/adc/ti-ads1015.c
> +++ b/drivers/iio/adc/ti-ads1015.c
> @@ -52,7 +52,7 @@
>  
>  #define ADS1015_CFG_COMP_QUE_MASK	GENMASK(1, 0)
>  #define ADS1015_CFG_COMP_LAT_MASK	BIT(2)
> -#define ADS1015_CFG_COMP_POL_MASK	BIT(2)
> +#define ADS1015_CFG_COMP_POL_MASK	BIT(3)
>  #define ADS1015_CFG_COMP_MODE_MASK	BIT(4)
>  #define ADS1015_CFG_DR_MASK	GENMASK(7, 5)
>  #define ADS1015_CFG_MOD_MASK	BIT(8)
> @@ -1017,10 +1017,12 @@ static int ads1015_probe(struct i2c_client *client,
>  
>  		switch (irq_trig) {
>  		case IRQF_TRIGGER_LOW:
> -			cfg_comp |= ADS1015_CFG_COMP_POL_LOW;
> +			cfg_comp |= ADS1015_CFG_COMP_POL_LOW <<
> +					ADS1015_CFG_COMP_POL_SHIFT;
>  			break;
>  		case IRQF_TRIGGER_HIGH:
> -			cfg_comp |= ADS1015_CFG_COMP_POL_HIGH;
> +			cfg_comp |= ADS1015_CFG_COMP_POL_HIGH <<
> +					ADS1015_CFG_COMP_POL_SHIFT;
>  			break;
>  		default:
>  			return -EINVAL;


^ permalink raw reply	[flat|nested] 2+ messages in thread

end of thread, other threads:[~2017-09-03 16:50 UTC | newest]

Thread overview: 2+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2017-08-24  0:22 [PATCH] iio: adc: ti-ads1015: fix comparator polarity setting Akinobu Mita
2017-09-03 16:50 ` Jonathan Cameron

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).