I have read https://www.kernel.org/doc/Documentation/i2c/dev-interface I'm working on an application that uses SMBUS to query a battery fuel gauge, the TI bq20z95, from an SBC running Linux. Normally the SBC will periodically poll the chip, and I think I understand how to make that work. (I'm using the Gobot framework.) However, the bq20z95 also sometimes issues alarms. When this happens it claims bus master status and broadcasts a message. My question is how these asynchronous transmissions can be detectible from the SBC without being confused with responses to its normal device polling. More specifically, is there a way to write a non-blocking test for whether there is a broadcast message pending on I2C/SMBUS? And what would the correct API call for reading such a message be? Please be forgiving if I'm misunderstanding the theory here, I'm new to working with these interconnect methods. -- <a href="http://www.catb.org/~esr/">Eric S. Raymond</a> What is a magician but a practicing theorist? -- Obi-Wan Kenobi, 'Return of the Jedi'