On 2/5/21 1:37 PM, Stanimir Varbanov wrote: > > > On 2/5/21 1:24 PM, Bryan O'Donoghue wrote: >> On 05/02/2021 08:31, Stanimir Varbanov wrote: >>> Why not just move platform_set_drvdata(pdev, core) at the end of >>> venus_probe() after we registered v4l2_dev? I think this way we will >>> avoid this v4l2_dev gymnastics. >> >> Because pm_ops->core_functionname() relies on getdrvdata. >> >> I changed that in a version of this fix which I didn't publish but also >> found that there were other dependencies in core::probe venc::probe and >> vdec::probe on drvdata. >> >> I can publish a fix for drvdata and you can take your preference > > I'd prefer this solution. Do you see a problem if we change > core_get|put|power functional pointers from pm_ops to receive a > venus_core pointer instead of core->dev? > > Wait, venus_runtime_suspend|resume also relies on that dev_get_drvdata(). Can we call v4l2_device_register() earlier in venus_probe? -- regards, Stan