On 11/25/2014 09:12 AM, Mike Looijmans wrote:
After this commit: iio:adc:ad799x: Write default config on probe and reset alert status on probe writing ALERT_EN and BUSY_ALERT to the chip config register clears pending alerts, BUSY_ALERT is cleared when reading back the register The AD7999 on our board no longer functions, reading the in_voltage*_raw sysfiles always returns "255" after this. I reverted the commit, and that fixed the problem for me.
I suspect that there is something going wrong when reading back the config register, can you check the attached patch and see what the output is?
Thanks, - Lars
diff --git a/drivers/iio/adc/ad799x.c b/drivers/iio/adc/ad799x.c index e37412d..babbdde 100644 --- a/drivers/iio/adc/ad799x.c +++ b/drivers/iio/adc/ad799x.c @@ -816,6 +816,8 @@ static int ad799x_probe(struct i2c_client *client, if (ret < 0) goto error_disable_reg; st->config = ret; + dev_info(&client->dev, "config: %x %x\n", st->config, + st->chip_config->default_config); ret = iio_triggered_buffer_setup(indio_dev, NULL, &ad799x_trigger_handler, NULL);