Hi all, Right now I'm in the process of writing the DT for a board that has an EMMC with its reset signal attached to a I2C GPIO expander; the I2C GPIO controller driver can sleep while setting GPIOs. Currently the pwrseq_emmc driver expects the GPIO driver not to sleep since it makes use of gpiod_set_value() insted of gpiod_set_value_cansleep(), so I cannot use it in my scenario. I guess that it has been done on purpose.. Is it just the emergency reboot notification handler that needs this? Would it worth to check if the GPIO driver can sleep, and eventually handle only the .post_power_on() callback (I'm assuming it isn't called from atomic context, but indeed I'm not sure)? Apart from that, I cannot see any obvious way to allows the pwrseq_emmc drive to work with sleepy gpio-controller drivers. Does anyone have any advice? Finally, if not any way to handle the said situation can be found, and since AFAIK DTs are not just a Linux stuff (i.e. they can be used by u-boot and maybe others..), would it eventually worth to check for a sleepy gpio-controller in emmc_powerseq, and eventually refuse to work and maybe spit a warning? This would allow for letting the DT to describe the hardware as it is without getting kernel warnings and other troubles.. Thanks, Andrea