On 03/06/2025 21:43, Michal Wilczynski wrote: >>> + * and resets. Otherwise, we fall back to managing them ourselves. >>> + */ >>> + pvr_dev->pwrseq = devm_pwrseq_get(dev, "gpu-power"); >>> + if (IS_ERR(pvr_dev->pwrseq)) { >>> + int pwrseq_err = PTR_ERR(pvr_dev->pwrseq); >>> + >>> + /* >>> + * If the error is -EPROBE_DEFER, it's because the >>> + * optional sequencer provider is not present >>> + * and it's safe to fall back on manual power-up. >> >> It is safe but why it is desirable? The rule is rather to defer the >> probe, assuming this is probe path. > > Yeah this is probe path. > > The GPU node will depend on the AON node, which will be the sole > provider for the 'gpu-power' sequencer (based on the discussion in patch > 1). > > Therefore, if the AON/pwrseq driver has already completed its probe, and > devm_pwrseq_get() in the GPU driver subsequently returns -EPROBE_DEFER > (because pwrseq_get found 'no match' on the bus for 'gpu-power'), the > interpretation is that the AON driver did not register this optional > sequencer. Since AON is the only anticipated source, it implies the > sequencer won't become available later from its designated provider.
I don't understand why you made this assumption. AON could be a module and this driver built-in. AON will likely probe later. Best regards, Krzysztof