On 10/09/2024 12:19, Jacopo Mondi wrote:
However, I think this current patch is correct (assuming the above
reasoning on i2c sensor drivers is correct) and doesn't require
CONFIG_PM, so I would be tempted to keep this version.
I think the existence of this discussion alone proves my point that we
should only support PM-case, unless !PM is a requirement =).
But if you do want to keep !PM:
Is there a reason why not mark the device as active with
pm_runtime_set_active() after calling pispbe_runtime_resume and before
accessing the device? That feels like the most logical way to use the
function, and it would be right regardless whether the core will enable
the parents before probe() or not.
And not related to the BE or CFE drivers, but it strikes me odd that to
support PM and !PM we need to play with these tricks. I think the core
should just do the right thing if the driver does pm_runtime_get_sync()
even with !PM (although maybe the time has passed to be able to do that).
Tomi