> After this happens we try to shutdown the PMIC that interact over I2C. > I2C writes will need I2C interrupts to be enabled but in an interrupt > disabled context if shutting PMIC is the last thing in the sequence > which needs I2C writes is there an already existing solution to this > scenario? Any pointers would help. No existing solution. Long standing, known problem. IIRC the latest design we discussed is to add a new callback to struct i2c_algorithm like 'master_xfer_irqless' and teach the I2C core when to call which callback. Which might not be so super straightforward because for most drivers (except PMICs probably) using I2C when interrupts are disabled is a bug and we also shouldn't hide that by providing a generic fallback. That's my version of the current status. If there is more or I mixed something up, I'd like to hear about it...
Attachment:
signature.asc
Description: PGP signature