* [PATCH] staging iio adt7410: some improvements
@ 2012-07-03 9:21 Sascha Hauer
2012-07-03 9:21 ` [PATCH 1/3] staging iio adt7410: sysfs store function must return length Sascha Hauer
` (2 more replies)
0 siblings, 3 replies; 12+ messages in thread
From: Sascha Hauer @ 2012-07-03 9:21 UTC (permalink / raw)
To: linux-iio; +Cc: Jonathan Cameron, Sonic Zhang
Hi All,
The following contains some fixes/improvements to the adt7410
digital temperature sensor.
Sascha
----------------------------------------------------------------
Sascha Hauer (3):
staging iio adt7410: sysfs store function must return length
staging iio adt7410: fix 13bit mode
staging iio adt7410: make 16bit mode default
drivers/staging/iio/adc/adt7410.c | 55 ++++++++++++++++---------------------
1 file changed, 24 insertions(+), 31 deletions(-)
^ permalink raw reply [flat|nested] 12+ messages in thread* [PATCH 1/3] staging iio adt7410: sysfs store function must return length 2012-07-03 9:21 [PATCH] staging iio adt7410: some improvements Sascha Hauer @ 2012-07-03 9:21 ` Sascha Hauer 2012-07-03 10:41 ` Zhang, Sonic 2012-07-03 9:21 ` [PATCH 2/3] staging iio adt7410: fix 13bit mode Sascha Hauer 2012-07-03 9:21 ` [PATCH 3/3] staging iio adt7410: make 16bit mode default Sascha Hauer 2 siblings, 1 reply; 12+ messages in thread From: Sascha Hauer @ 2012-07-03 9:21 UTC (permalink / raw) To: linux-iio; +Cc: Jonathan Cameron, Sonic Zhang, Sascha Hauer Otherwise a write to the resolution entry never returns. Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de> --- drivers/staging/iio/adc/adt7410.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/drivers/staging/iio/adc/adt7410.c b/drivers/staging/iio/adc/adt7410.c index d7d9ad9..fa54a40 100644 --- a/drivers/staging/iio/adc/adt7410.c +++ b/drivers/staging/iio/adc/adt7410.c @@ -257,7 +257,7 @@ static ssize_t adt7410_store_resolution(struct device *dev, chip->config = config; - return ret; + return len; } static IIO_DEVICE_ATTR(resolution, S_IRUGO | S_IWUSR, -- 1.7.10 ^ permalink raw reply related [flat|nested] 12+ messages in thread
* RE: [PATCH 1/3] staging iio adt7410: sysfs store function must return length 2012-07-03 9:21 ` [PATCH 1/3] staging iio adt7410: sysfs store function must return length Sascha Hauer @ 2012-07-03 10:41 ` Zhang, Sonic 2012-07-03 20:08 ` Jonathan Cameron 0 siblings, 1 reply; 12+ messages in thread From: Zhang, Sonic @ 2012-07-03 10:41 UTC (permalink / raw) To: Sascha Hauer, linux-iio@vger.kernel.org; +Cc: Jonathan Cameron Acked-by: Sonic Zhang <sonic.zhang@analog.com> >-----Original Message----- >From: Sascha Hauer [mailto:s.hauer@pengutronix.de] >Sent: Tuesday, July 03, 2012 5:21 PM >To: linux-iio@vger.kernel.org >Cc: Jonathan Cameron; Zhang, Sonic; Sascha Hauer >Subject: [PATCH 1/3] staging iio adt7410: sysfs store function must return= length > >Otherwise a write to the resolution entry never returns. > >Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de> >--- > drivers/staging/iio/adc/adt7410.c | 2 +- > 1 file changed, 1 insertion(+), 1 deletion(-) > >diff --git a/drivers/staging/iio/adc/adt7410.c b/drivers/staging/iio/adc/a= dt7410.c >index d7d9ad9..fa54a40 100644 >--- a/drivers/staging/iio/adc/adt7410.c >+++ b/drivers/staging/iio/adc/adt7410.c >@@ -257,7 +257,7 @@ static ssize_t adt7410_store_resolution(struct device >*dev, > > chip->config =3D config; > >- return ret; >+ return len; > } > > static IIO_DEVICE_ATTR(resolution, S_IRUGO | S_IWUSR, >-- >1.7.10 > ^ permalink raw reply [flat|nested] 12+ messages in thread
* Re: [PATCH 1/3] staging iio adt7410: sysfs store function must return length 2012-07-03 10:41 ` Zhang, Sonic @ 2012-07-03 20:08 ` Jonathan Cameron 0 siblings, 0 replies; 12+ messages in thread From: Jonathan Cameron @ 2012-07-03 20:08 UTC (permalink / raw) To: Zhang, Sonic; +Cc: Sascha Hauer, linux-iio@vger.kernel.org On 07/03/2012 11:41 AM, Zhang, Sonic wrote: > Acked-by: Sonic Zhang <sonic.zhang@analog.com> > >> -----Original Message----- >> From: Sascha Hauer [mailto:s.hauer@pengutronix.de] >> Sent: Tuesday, July 03, 2012 5:21 PM >> To: linux-iio@vger.kernel.org >> Cc: Jonathan Cameron; Zhang, Sonic; Sascha Hauer >> Subject: [PATCH 1/3] staging iio adt7410: sysfs store function must return length >> >> Otherwise a write to the resolution entry never returns. >> >> Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de> merged to fixes. Thanks. >> --- >> drivers/staging/iio/adc/adt7410.c | 2 +- >> 1 file changed, 1 insertion(+), 1 deletion(-) >> >> diff --git a/drivers/staging/iio/adc/adt7410.c b/drivers/staging/iio/adc/adt7410.c >> index d7d9ad9..fa54a40 100644 >> --- a/drivers/staging/iio/adc/adt7410.c >> +++ b/drivers/staging/iio/adc/adt7410.c >> @@ -257,7 +257,7 @@ static ssize_t adt7410_store_resolution(struct device >> *dev, >> >> chip->config = config; >> >> - return ret; >> + return len; >> } >> >> static IIO_DEVICE_ATTR(resolution, S_IRUGO | S_IWUSR, >> -- >> 1.7.10 >> > > ^ permalink raw reply [flat|nested] 12+ messages in thread
* [PATCH 2/3] staging iio adt7410: fix 13bit mode 2012-07-03 9:21 [PATCH] staging iio adt7410: some improvements Sascha Hauer 2012-07-03 9:21 ` [PATCH 1/3] staging iio adt7410: sysfs store function must return length Sascha Hauer @ 2012-07-03 9:21 ` Sascha Hauer 2012-07-03 10:41 ` Zhang, Sonic 2012-07-03 9:21 ` [PATCH 3/3] staging iio adt7410: make 16bit mode default Sascha Hauer 2 siblings, 1 reply; 12+ messages in thread From: Sascha Hauer @ 2012-07-03 9:21 UTC (permalink / raw) To: linux-iio; +Cc: Jonathan Cameron, Sonic Zhang, Sascha Hauer The driver assumes that in 13bit mode the 16bit value has to be shifted to the right by 3 bits. This is not true, in both 16bit and 13bit mode the MSB is at the same position. Currently the driver returns a temperature of 194 degrees Celsius in 13bit mode and 24 degrees Celsius in 16bit mode. Fix this by using the same algorithm for 16bit and 13bit mode and by just masking out the lower three bits in 13bit mode. Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de> --- drivers/staging/iio/adc/adt7410.c | 29 ++++++++++------------------- 1 file changed, 10 insertions(+), 19 deletions(-) diff --git a/drivers/staging/iio/adc/adt7410.c b/drivers/staging/iio/adc/adt7410.c index fa54a40..f9188e5 100644 --- a/drivers/staging/iio/adc/adt7410.c +++ b/drivers/staging/iio/adc/adt7410.c @@ -293,26 +293,17 @@ static ssize_t adt7410_convert_temperature(struct adt7410_chip_info *chip, { char sign = ' '; - if (chip->config & ADT7410_RESOLUTION) { - if (data & ADT7410_T16_VALUE_SIGN) { - /* convert supplement to positive value */ - data = (u16)((ADT7410_T16_VALUE_SIGN << 1) - (u32)data); - sign = '-'; - } - return sprintf(buf, "%c%d.%.7d\n", sign, - (data >> ADT7410_T16_VALUE_FLOAT_OFFSET), - (data & ADT7410_T16_VALUE_FLOAT_MASK) * 78125); - } else { - if (data & ADT7410_T13_VALUE_SIGN) { - /* convert supplement to positive value */ - data >>= ADT7410_T13_VALUE_OFFSET; - data = (ADT7410_T13_VALUE_SIGN << 1) - data; - sign = '-'; - } - return sprintf(buf, "%c%d.%.4d\n", sign, - (data >> ADT7410_T13_VALUE_FLOAT_OFFSET), - (data & ADT7410_T13_VALUE_FLOAT_MASK) * 625); + if (!(chip->config & ADT7410_RESOLUTION)) + data &= ~0x7; + + if (data & ADT7410_T16_VALUE_SIGN) { + /* convert supplement to positive value */ + data = (u16)((ADT7410_T16_VALUE_SIGN << 1) - (u32)data); + sign = '-'; } + return sprintf(buf, "%c%d.%.7d\n", sign, + (data >> ADT7410_T16_VALUE_FLOAT_OFFSET), + (data & ADT7410_T16_VALUE_FLOAT_MASK) * 78125); } static ssize_t adt7410_show_value(struct device *dev, -- 1.7.10 ^ permalink raw reply related [flat|nested] 12+ messages in thread
* RE: [PATCH 2/3] staging iio adt7410: fix 13bit mode 2012-07-03 9:21 ` [PATCH 2/3] staging iio adt7410: fix 13bit mode Sascha Hauer @ 2012-07-03 10:41 ` Zhang, Sonic 2012-07-03 20:12 ` Jonathan Cameron 0 siblings, 1 reply; 12+ messages in thread From: Zhang, Sonic @ 2012-07-03 10:41 UTC (permalink / raw) To: Sascha Hauer, linux-iio@vger.kernel.org; +Cc: Jonathan Cameron Acked-by: Sonic Zhang <sonic.zhang@analog.com> >-----Original Message----- >From: Sascha Hauer [mailto:s.hauer@pengutronix.de] >Sent: Tuesday, July 03, 2012 5:21 PM >To: linux-iio@vger.kernel.org >Cc: Jonathan Cameron; Zhang, Sonic; Sascha Hauer >Subject: [PATCH 2/3] staging iio adt7410: fix 13bit mode > >The driver assumes that in 13bit mode the 16bit value has >to be shifted to the right by 3 bits. This is not true, in >both 16bit and 13bit mode the MSB is at the same position. >Currently the driver returns a temperature of 194 degrees >Celsius in 13bit mode and 24 degrees Celsius in 16bit mode. >Fix this by using the same algorithm for 16bit and 13bit >mode and by just masking out the lower three bits in 13bit >mode. > >Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de> >--- > drivers/staging/iio/adc/adt7410.c | 29 ++++++++++------------------- > 1 file changed, 10 insertions(+), 19 deletions(-) > >diff --git a/drivers/staging/iio/adc/adt7410.c b/drivers/staging/iio/adc/a= dt7410.c >index fa54a40..f9188e5 100644 >--- a/drivers/staging/iio/adc/adt7410.c >+++ b/drivers/staging/iio/adc/adt7410.c >@@ -293,26 +293,17 @@ static ssize_t adt7410_convert_temperature(struct >adt7410_chip_info *chip, > { > char sign =3D ' '; > >- if (chip->config & ADT7410_RESOLUTION) { >- if (data & ADT7410_T16_VALUE_SIGN) { >- /* convert supplement to positive value */ >- data =3D (u16)((ADT7410_T16_VALUE_SIGN << 1) - >(u32)data); >- sign =3D '-'; >- } >- return sprintf(buf, "%c%d.%.7d\n", sign, >- (data >> ADT7410_T16_VALUE_FLOAT_OFFSET), >- (data & ADT7410_T16_VALUE_FLOAT_MASK) * >78125); >- } else { >- if (data & ADT7410_T13_VALUE_SIGN) { >- /* convert supplement to positive value */ >- data >>=3D ADT7410_T13_VALUE_OFFSET; >- data =3D (ADT7410_T13_VALUE_SIGN << 1) - data; >- sign =3D '-'; >- } >- return sprintf(buf, "%c%d.%.4d\n", sign, >- (data >> ADT7410_T13_VALUE_FLOAT_OFFSET), >- (data & ADT7410_T13_VALUE_FLOAT_MASK) * >625); >+ if (!(chip->config & ADT7410_RESOLUTION)) >+ data &=3D ~0x7; >+ >+ if (data & ADT7410_T16_VALUE_SIGN) { >+ /* convert supplement to positive value */ >+ data =3D (u16)((ADT7410_T16_VALUE_SIGN << 1) - (u32)data); >+ sign =3D '-'; > } >+ return sprintf(buf, "%c%d.%.7d\n", sign, >+ (data >> ADT7410_T16_VALUE_FLOAT_OFFSET), >+ (data & ADT7410_T16_VALUE_FLOAT_MASK) * 78125); > } > > static ssize_t adt7410_show_value(struct device *dev, >-- >1.7.10 > ^ permalink raw reply [flat|nested] 12+ messages in thread
* Re: [PATCH 2/3] staging iio adt7410: fix 13bit mode 2012-07-03 10:41 ` Zhang, Sonic @ 2012-07-03 20:12 ` Jonathan Cameron 0 siblings, 0 replies; 12+ messages in thread From: Jonathan Cameron @ 2012-07-03 20:12 UTC (permalink / raw) To: Zhang, Sonic; +Cc: Sascha Hauer, linux-iio@vger.kernel.org, Jonathan Cameron On 07/03/2012 11:41 AM, Zhang, Sonic wrote: > Acked-by: Sonic Zhang <sonic.zhang@analog.com> merged to fixes. > >> -----Original Message----- >> From: Sascha Hauer [mailto:s.hauer@pengutronix.de] >> Sent: Tuesday, July 03, 2012 5:21 PM >> To: linux-iio@vger.kernel.org >> Cc: Jonathan Cameron; Zhang, Sonic; Sascha Hauer >> Subject: [PATCH 2/3] staging iio adt7410: fix 13bit mode >> >> The driver assumes that in 13bit mode the 16bit value has >> to be shifted to the right by 3 bits. This is not true, in >> both 16bit and 13bit mode the MSB is at the same position. >> Currently the driver returns a temperature of 194 degrees >> Celsius in 13bit mode and 24 degrees Celsius in 16bit mode. >> Fix this by using the same algorithm for 16bit and 13bit >> mode and by just masking out the lower three bits in 13bit >> mode. >> >> Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de> >> --- >> drivers/staging/iio/adc/adt7410.c | 29 ++++++++++------------------- >> 1 file changed, 10 insertions(+), 19 deletions(-) >> >> diff --git a/drivers/staging/iio/adc/adt7410.c b/drivers/staging/iio/adc/adt7410.c >> index fa54a40..f9188e5 100644 >> --- a/drivers/staging/iio/adc/adt7410.c >> +++ b/drivers/staging/iio/adc/adt7410.c >> @@ -293,26 +293,17 @@ static ssize_t adt7410_convert_temperature(struct >> adt7410_chip_info *chip, >> { >> char sign = ' '; >> >> - if (chip->config & ADT7410_RESOLUTION) { >> - if (data & ADT7410_T16_VALUE_SIGN) { >> - /* convert supplement to positive value */ >> - data = (u16)((ADT7410_T16_VALUE_SIGN << 1) - >> (u32)data); >> - sign = '-'; >> - } >> - return sprintf(buf, "%c%d.%.7d\n", sign, >> - (data >> ADT7410_T16_VALUE_FLOAT_OFFSET), >> - (data & ADT7410_T16_VALUE_FLOAT_MASK) * >> 78125); >> - } else { >> - if (data & ADT7410_T13_VALUE_SIGN) { >> - /* convert supplement to positive value */ >> - data >>= ADT7410_T13_VALUE_OFFSET; >> - data = (ADT7410_T13_VALUE_SIGN << 1) - data; >> - sign = '-'; >> - } >> - return sprintf(buf, "%c%d.%.4d\n", sign, >> - (data >> ADT7410_T13_VALUE_FLOAT_OFFSET), >> - (data & ADT7410_T13_VALUE_FLOAT_MASK) * >> 625); >> + if (!(chip->config & ADT7410_RESOLUTION)) >> + data &= ~0x7; >> + >> + if (data & ADT7410_T16_VALUE_SIGN) { >> + /* convert supplement to positive value */ >> + data = (u16)((ADT7410_T16_VALUE_SIGN << 1) - (u32)data); >> + sign = '-'; >> } >> + return sprintf(buf, "%c%d.%.7d\n", sign, >> + (data >> ADT7410_T16_VALUE_FLOAT_OFFSET), >> + (data & ADT7410_T16_VALUE_FLOAT_MASK) * 78125); >> } >> >> static ssize_t adt7410_show_value(struct device *dev, >> -- >> 1.7.10 >> > > ^ permalink raw reply [flat|nested] 12+ messages in thread
* [PATCH 3/3] staging iio adt7410: make 16bit mode default 2012-07-03 9:21 [PATCH] staging iio adt7410: some improvements Sascha Hauer 2012-07-03 9:21 ` [PATCH 1/3] staging iio adt7410: sysfs store function must return length Sascha Hauer 2012-07-03 9:21 ` [PATCH 2/3] staging iio adt7410: fix 13bit mode Sascha Hauer @ 2012-07-03 9:21 ` Sascha Hauer 2012-07-03 10:42 ` Zhang, Sonic 2 siblings, 1 reply; 12+ messages in thread From: Sascha Hauer @ 2012-07-03 9:21 UTC (permalink / raw) To: linux-iio; +Cc: Jonathan Cameron, Sonic Zhang, Sascha Hauer In 13bit mode the lower three bits of the adc value contain flags. The driver does not use these flags at all, so make 16bit mode the default. Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de> --- drivers/staging/iio/adc/adt7410.c | 24 +++++++++++++----------- 1 file changed, 13 insertions(+), 11 deletions(-) diff --git a/drivers/staging/iio/adc/adt7410.c b/drivers/staging/iio/adc/adt7410.c index f9188e5..f8dd567 100644 --- a/drivers/staging/iio/adc/adt7410.c +++ b/drivers/staging/iio/adc/adt7410.c @@ -756,13 +756,15 @@ static int __devinit adt7410_probe(struct i2c_client *client, goto error_unreg_ct_irq; } - if (client->irq && adt7410_platform_data[0]) { + ret = adt7410_i2c_read_byte(chip, ADT7410_CONFIG, &chip->config); + if (ret) { + ret = -EIO; + goto error_unreg_int_irq; + } - ret = adt7410_i2c_read_byte(chip, ADT7410_CONFIG, &chip->config); - if (ret) { - ret = -EIO; - goto error_unreg_int_irq; - } + chip->config |= ADT7410_RESOLUTION; + + if (client->irq && adt7410_platform_data[0]) { /* set irq polarity low level */ chip->config &= ~ADT7410_CT_POLARITY; @@ -771,12 +773,12 @@ static int __devinit adt7410_probe(struct i2c_client *client, chip->config |= ADT7410_INT_POLARITY; else chip->config &= ~ADT7410_INT_POLARITY; + } - ret = adt7410_i2c_write_byte(chip, ADT7410_CONFIG, chip->config); - if (ret) { - ret = -EIO; - goto error_unreg_int_irq; - } + ret = adt7410_i2c_write_byte(chip, ADT7410_CONFIG, chip->config); + if (ret) { + ret = -EIO; + goto error_unreg_int_irq; } ret = iio_device_register(indio_dev); if (ret) -- 1.7.10 ^ permalink raw reply related [flat|nested] 12+ messages in thread
* RE: [PATCH 3/3] staging iio adt7410: make 16bit mode default 2012-07-03 9:21 ` [PATCH 3/3] staging iio adt7410: make 16bit mode default Sascha Hauer @ 2012-07-03 10:42 ` Zhang, Sonic 2012-07-03 20:19 ` Jonathan Cameron 0 siblings, 1 reply; 12+ messages in thread From: Zhang, Sonic @ 2012-07-03 10:42 UTC (permalink / raw) To: Sascha Hauer, linux-iio@vger.kernel.org; +Cc: Jonathan Cameron Acked-by: Sonic Zhang <sonic.zhang@analog.com> >-----Original Message----- >From: Sascha Hauer [mailto:s.hauer@pengutronix.de] >Sent: Tuesday, July 03, 2012 5:21 PM >To: linux-iio@vger.kernel.org >Cc: Jonathan Cameron; Zhang, Sonic; Sascha Hauer >Subject: [PATCH 3/3] staging iio adt7410: make 16bit mode default > >In 13bit mode the lower three bits of the adc value contain >flags. The driver does not use these flags at all, so make 16bit >mode the default. > >Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de> >--- > drivers/staging/iio/adc/adt7410.c | 24 +++++++++++++----------- > 1 file changed, 13 insertions(+), 11 deletions(-) > >diff --git a/drivers/staging/iio/adc/adt7410.c b/drivers/staging/iio/adc/a= dt7410.c >index f9188e5..f8dd567 100644 >--- a/drivers/staging/iio/adc/adt7410.c >+++ b/drivers/staging/iio/adc/adt7410.c >@@ -756,13 +756,15 @@ static int __devinit adt7410_probe(struct i2c_client >*client, > goto error_unreg_ct_irq; > } > >- if (client->irq && adt7410_platform_data[0]) { >+ ret =3D adt7410_i2c_read_byte(chip, ADT7410_CONFIG, &chip->config); >+ if (ret) { >+ ret =3D -EIO; >+ goto error_unreg_int_irq; >+ } > >- ret =3D adt7410_i2c_read_byte(chip, ADT7410_CONFIG, &chip- >>config); >- if (ret) { >- ret =3D -EIO; >- goto error_unreg_int_irq; >- } >+ chip->config |=3D ADT7410_RESOLUTION; >+ >+ if (client->irq && adt7410_platform_data[0]) { > > /* set irq polarity low level */ > chip->config &=3D ~ADT7410_CT_POLARITY; >@@ -771,12 +773,12 @@ static int __devinit adt7410_probe(struct i2c_client >*client, > chip->config |=3D ADT7410_INT_POLARITY; > else > chip->config &=3D ~ADT7410_INT_POLARITY; >+ } > >- ret =3D adt7410_i2c_write_byte(chip, ADT7410_CONFIG, chip- >>config); >- if (ret) { >- ret =3D -EIO; >- goto error_unreg_int_irq; >- } >+ ret =3D adt7410_i2c_write_byte(chip, ADT7410_CONFIG, chip->config); >+ if (ret) { >+ ret =3D -EIO; >+ goto error_unreg_int_irq; > } > ret =3D iio_device_register(indio_dev); > if (ret) >-- >1.7.10 > ^ permalink raw reply [flat|nested] 12+ messages in thread
* Re: [PATCH 3/3] staging iio adt7410: make 16bit mode default 2012-07-03 10:42 ` Zhang, Sonic @ 2012-07-03 20:19 ` Jonathan Cameron 2012-07-04 6:27 ` Sascha Hauer 0 siblings, 1 reply; 12+ messages in thread From: Jonathan Cameron @ 2012-07-03 20:19 UTC (permalink / raw) To: Zhang, Sonic; +Cc: Sascha Hauer, linux-iio@vger.kernel.org, Jonathan Cameron On 07/03/2012 11:42 AM, Zhang, Sonic wrote: > Acked-by: Sonic Zhang <sonic.zhang@analog.com> > >> -----Original Message----- >> From: Sascha Hauer [mailto:s.hauer@pengutronix.de] >> Sent: Tuesday, July 03, 2012 5:21 PM >> To: linux-iio@vger.kernel.org >> Cc: Jonathan Cameron; Zhang, Sonic; Sascha Hauer >> Subject: [PATCH 3/3] staging iio adt7410: make 16bit mode default >> >> In 13bit mode the lower three bits of the adc value contain >> flags. The driver does not use these flags at all, so make 16bit >> mode the default. >> >> Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de> merged (for next version rather than fixes as whilst a reasonable change, it's not a fix). Anyhow, please do note that the intent is to move this driver out to hwmon. It's a long way from abi compliant for iio. I just mention this to avoid you wasting time pulling it nearer to the abi (if you were thinking of doing so of course!) >> --- >> drivers/staging/iio/adc/adt7410.c | 24 +++++++++++++----------- >> 1 file changed, 13 insertions(+), 11 deletions(-) >> >> diff --git a/drivers/staging/iio/adc/adt7410.c b/drivers/staging/iio/adc/adt7410.c >> index f9188e5..f8dd567 100644 >> --- a/drivers/staging/iio/adc/adt7410.c >> +++ b/drivers/staging/iio/adc/adt7410.c >> @@ -756,13 +756,15 @@ static int __devinit adt7410_probe(struct i2c_client >> *client, >> goto error_unreg_ct_irq; >> } >> >> - if (client->irq && adt7410_platform_data[0]) { >> + ret = adt7410_i2c_read_byte(chip, ADT7410_CONFIG, &chip->config); >> + if (ret) { >> + ret = -EIO; >> + goto error_unreg_int_irq; >> + } >> >> - ret = adt7410_i2c_read_byte(chip, ADT7410_CONFIG, &chip- >>> config); >> - if (ret) { >> - ret = -EIO; >> - goto error_unreg_int_irq; >> - } >> + chip->config |= ADT7410_RESOLUTION; >> + >> + if (client->irq && adt7410_platform_data[0]) { >> >> /* set irq polarity low level */ >> chip->config &= ~ADT7410_CT_POLARITY; >> @@ -771,12 +773,12 @@ static int __devinit adt7410_probe(struct i2c_client >> *client, >> chip->config |= ADT7410_INT_POLARITY; >> else >> chip->config &= ~ADT7410_INT_POLARITY; >> + } >> >> - ret = adt7410_i2c_write_byte(chip, ADT7410_CONFIG, chip- >>> config); >> - if (ret) { >> - ret = -EIO; >> - goto error_unreg_int_irq; >> - } >> + ret = adt7410_i2c_write_byte(chip, ADT7410_CONFIG, chip->config); >> + if (ret) { >> + ret = -EIO; >> + goto error_unreg_int_irq; >> } >> ret = iio_device_register(indio_dev); >> if (ret) >> -- >> 1.7.10 >> > > ^ permalink raw reply [flat|nested] 12+ messages in thread
* Re: [PATCH 3/3] staging iio adt7410: make 16bit mode default 2012-07-03 20:19 ` Jonathan Cameron @ 2012-07-04 6:27 ` Sascha Hauer 2012-07-04 6:59 ` Jonathan Cameron 0 siblings, 1 reply; 12+ messages in thread From: Sascha Hauer @ 2012-07-04 6:27 UTC (permalink / raw) To: Jonathan Cameron Cc: Zhang, Sonic, linux-iio@vger.kernel.org, Jonathan Cameron On Tue, Jul 03, 2012 at 09:19:19PM +0100, Jonathan Cameron wrote: > On 07/03/2012 11:42 AM, Zhang, Sonic wrote: > > Acked-by: Sonic Zhang <sonic.zhang@analog.com> > > > >> -----Original Message----- > >> From: Sascha Hauer [mailto:s.hauer@pengutronix.de] > >> Sent: Tuesday, July 03, 2012 5:21 PM > >> To: linux-iio@vger.kernel.org > >> Cc: Jonathan Cameron; Zhang, Sonic; Sascha Hauer > >> Subject: [PATCH 3/3] staging iio adt7410: make 16bit mode default > >> > >> In 13bit mode the lower three bits of the adc value contain > >> flags. The driver does not use these flags at all, so make 16bit > >> mode the default. > >> > >> Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de> > merged (for next version rather than fixes as whilst a reasonable > change, it's not a fix). > > Anyhow, please do note that the intent is to move this driver out > to hwmon. It's a long way from abi compliant for iio. I just mention > this to avoid you wasting time pulling it nearer to the abi (if > you were thinking of doing so of course!) Ok, good to know, thanks. I already wondered why this driver is in iio instead of hwmon. Right now I have no further plans for this driver. Would you recommend me to convert it to hwmon first should I have to revisit this driver? Sascha -- Pengutronix e.K. | | Industrial Linux Solutions | http://www.pengutronix.de/ | Peiner Str. 6-8, 31137 Hildesheim, Germany | Phone: +49-5121-206917-0 | Amtsgericht Hildesheim, HRA 2686 | Fax: +49-5121-206917-5555 | ^ permalink raw reply [flat|nested] 12+ messages in thread
* Re: [PATCH 3/3] staging iio adt7410: make 16bit mode default 2012-07-04 6:27 ` Sascha Hauer @ 2012-07-04 6:59 ` Jonathan Cameron 0 siblings, 0 replies; 12+ messages in thread From: Jonathan Cameron @ 2012-07-04 6:59 UTC (permalink / raw) To: Sascha Hauer, Jonathan Cameron Cc: Zhang, Sonic, linux-iio@vger.kernel.org, Jonathan Cameron Sascha Hauer <s.hauer@pengutronix.de> wrote: >On Tue, Jul 03, 2012 at 09:19:19PM +0100, Jonathan Cameron wrote: >> On 07/03/2012 11:42 AM, Zhang, Sonic wrote: >> > Acked-by: Sonic Zhang <sonic.zhang@analog.com> >> > >> >> -----Original Message----- >> >> From: Sascha Hauer [mailto:s.hauer@pengutronix.de] >> >> Sent: Tuesday, July 03, 2012 5:21 PM >> >> To: linux-iio@vger.kernel.org >> >> Cc: Jonathan Cameron; Zhang, Sonic; Sascha Hauer >> >> Subject: [PATCH 3/3] staging iio adt7410: make 16bit mode default >> >> >> >> In 13bit mode the lower three bits of the adc value contain >> >> flags. The driver does not use these flags at all, so make 16bit >> >> mode the default. >> >> >> >> Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de> >> merged (for next version rather than fixes as whilst a reasonable >> change, it's not a fix). >> >> Anyhow, please do note that the intent is to move this driver out >> to hwmon. It's a long way from abi compliant for iio. I just mention >> this to avoid you wasting time pulling it nearer to the abi (if >> you were thinking of doing so of course!) > >Ok, good to know, thanks. I already wondered why this driver is in iio >instead of hwmon. Right now I have no further plans for this driver. >Would you recommend me to convert it to hwmon first should I have to >revisit this driver? Definitely. > >Sascha > > >-- >Pengutronix e.K. | > | >Industrial Linux Solutions | http://www.pengutronix.de/ > | >Peiner Str. 6-8, 31137 Hildesheim, Germany | Phone: +49-5121-206917-0 > | >Amtsgericht Hildesheim, HRA 2686 | Fax: >+49-5121-206917-5555 | -- Sent from my Android phone with K-9 Mail. Please excuse my brevity. ^ permalink raw reply [flat|nested] 12+ messages in thread
end of thread, other threads:[~2012-07-04 6:59 UTC | newest] Thread overview: 12+ messages (download: mbox.gz follow: Atom feed -- links below jump to the message on this page -- 2012-07-03 9:21 [PATCH] staging iio adt7410: some improvements Sascha Hauer 2012-07-03 9:21 ` [PATCH 1/3] staging iio adt7410: sysfs store function must return length Sascha Hauer 2012-07-03 10:41 ` Zhang, Sonic 2012-07-03 20:08 ` Jonathan Cameron 2012-07-03 9:21 ` [PATCH 2/3] staging iio adt7410: fix 13bit mode Sascha Hauer 2012-07-03 10:41 ` Zhang, Sonic 2012-07-03 20:12 ` Jonathan Cameron 2012-07-03 9:21 ` [PATCH 3/3] staging iio adt7410: make 16bit mode default Sascha Hauer 2012-07-03 10:42 ` Zhang, Sonic 2012-07-03 20:19 ` Jonathan Cameron 2012-07-04 6:27 ` Sascha Hauer 2012-07-04 6:59 ` 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).