* Grygorii Strashko <grygorii.strashko@xxxxxx> [190410 18:17]: > I'm very sorry, but what was the regression exactly? > Can't enter RTC+DDR state? some crash? AFAIK fails to enter RTC+DDR suspend because of conditional PM runtime handling. > We have in driver: > irqc->parent_device = dev; > > which means: > request_threaded_irq() > irq_chip_pm_get() > if (IS_ENABLED(CONFIG_PM) && data->chip->parent_device) { > retval = pm_runtime_get_sync(data->chip->parent_device); > > and power.usage_count will be incremented every time GPIO irq is requested. > > only in free_irq() (or in case of error) power.usage_count is decremented. > > Now above change will introduce just another incrementation of power.usage_count > How is it helping? Oh OK, that means we can simplify things further and drop those changes then. I'll post v2 version shortly with updated subject and description. Regards, Tony