linux-iio.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* regmap and i2c_smbus_write_byte question
@ 2016-11-05 11:38 Brian Masney
  2016-11-05 12:53 ` Jonathan Cameron
  0 siblings, 1 reply; 3+ messages in thread
From: Brian Masney @ 2016-11-05 11:38 UTC (permalink / raw)
  To: linux-iio

I am investigating converting the tsl2583 staging driver over to use
the regmap API. I ran into an issue converting the following call to
i2c_smbus_write_byte() over to the regmap API:

struct tsl2583_chip {
        struct i2c_client *client;
        ...
}

/*
 * clear status, really interrupt status (interrupts are off), but
 * we use the bit anyway - don't forget 0x80 - this is a command
 */      
ret = i2c_smbus_write_byte(chip->client,
                           (TSL258X_CMD_REG | TSL258X_CMD_SPL_FN |
                            TSL258X_CMD_ALS_INT_CLR));

I don't see a way to do this in the regmap API.  
drivers/input/touchscreen/tsc2004.c has this same issue and that code
directly calls i2c_smbus_write_byte() along with the regmap API. Am I
missing something? This doesn't feel right to me to bypass the regmap
API and directly access the i2c client.

The data sheet for the tsl2583 sensor is available here:
http://media.digikey.com/PDF/Data%20Sheets/Austriamicrosystems%20PDFs/TSL2581,83.pdf
Page 10 has the table that describes clearing the interrupt bit. The
sensor will not take additional readings until that bit is cleared
(even though interrupts are off).

Thanks,

Brian


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

end of thread, other threads:[~2016-11-05 14:29 UTC | newest]

Thread overview: 3+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2016-11-05 11:38 regmap and i2c_smbus_write_byte question Brian Masney
2016-11-05 12:53 ` Jonathan Cameron
2016-11-05 14:29   ` Brian Masney

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