Hmm, an interesting proposal… I don’t like the amount of throughput required on the I2C bus to do interrupt polling, but I suppose setting an upper limit to how fast the polling is done would alleviate that.
Perhaps a different option could be added to specify an interrupt polling interval and it could be constrain to a min/max value. This would allow normal polling and interrupt polling to be used together.
And a setting to specify an interrupt pin for event based interrupts would complete it. Both the polling and event interrupts could use the same code to read and check the INTF register and publish changed states.
I like it!