Re: [PATCH] drm/panel: simple: Initialize unprepared_time in probe

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On 7/24/23 15:49, Doug Anderson wrote:

Hi,

[...]

Maybe the EPROBE_DEFER actually happens and triggers the failure ?

I could certainly believe that EPROBE_DEFER is involved.

So no, it is not. It is difficult to set this up and access the signals, but so I did.

What happens is this:
panel_simple_probe() calls devm_regulator_get()
  -> If the regulator was ENABLED, then it is now DISABLED
  -> For regulator-fixed, this means the regulator GPIO goes HIGH->LOW

panel_simple_prepare() triggers panel_simple_resume()
  -> If this occurs too soon after devm_regulator_get() turned the
     regulator OFF and thus regulator GPIO low, then unprepare time is
     not respected => FAIL

Since there is no way to find out in which state the regulator was when devm_regulator_get() was called, we have to wait the full unprepare time before re-enabling that regulator in panel_simple_resume().



[Index of Archives]     [Linux DRI Users]     [Linux Intel Graphics]     [Linux USB Devel]     [Video for Linux]     [Linux Audio Users]     [Yosemite News]     [Linux Kernel]     [Linux SCSI]     [XFree86]     [Linux USB Devel]     [Video for Linux]     [Linux Audio Users]     [Linux Kernel]     [Linux SCSI]     [XFree86]
  Powered by Linux