On Mon, Dec 20, 2021 at 12:29:18PM -0800, Rajat Jain wrote: > Hello, > > On Mon, Dec 20, 2021 at 11:50 AM Dmitry Torokhov > <dmitry.torokhov@xxxxxxxxx> wrote: > > > > On Fri, Dec 17, 2021 at 12:28:50PM -0800, Rajat Jain wrote: > > > Add a static entry in the x86 table, to detect and wait for > > > privacy-screen on some ChromeOS platforms. > > > > > > Please note that this means that if CONFIG_CHROMEOS_PRIVACY_SCREEN is > > > enabled, and if "GOOG0010" device is found in ACPI, then the i915 probe > > > shall return EPROBE_DEFER until a platform driver actually registers the > > > privacy-screen: https://hansdegoede.livejournal.com/25948.html > > > > > > Signed-off-by: Rajat Jain <rajatja@xxxxxxxxxx> > > > --- > > > v2: * Use #if instead of #elif > > > * Reorder the patches in the series. > > > * Rebased on drm-tip > > > > > > drivers/gpu/drm/drm_privacy_screen_x86.c | 22 ++++++++++++++++++++++ > > > 1 file changed, 22 insertions(+) > > > > > > diff --git a/drivers/gpu/drm/drm_privacy_screen_x86.c b/drivers/gpu/drm/drm_privacy_screen_x86.c > > > index a2cafb294ca6..0c5699ad70a3 100644 > > > --- a/drivers/gpu/drm/drm_privacy_screen_x86.c > > > +++ b/drivers/gpu/drm/drm_privacy_screen_x86.c > > > @@ -47,6 +47,18 @@ static bool __init detect_thinkpad_privacy_screen(void) > > > } > > > #endif > > > > > > +#if IS_ENABLED(CONFIG_CHROMEOS_PRIVACY_SCREEN) > > > +static bool __init detect_chromeos_privacy_screen(void) > > > > Does marking this __init work in case there is a deferral? > > Yes, I have verified that for Chromeos case, it is a deferral. > > > Can it happen > > that privacy screen is a module and so will get loaded only after we > > discarded __init sections. > > Perhaps. But I do not think that is a problem. All the functions and > data in this file are in __init sections, and this entry is here to > ensure that the drm probe will wait for the privacy screen driver > (whenever it is loaded). Ah, OK, we are not leaking detect() pointers outside this module. > That is the reason, ideally we would want to > somehow restrict the privacy screen to be built into the kernel so as > to minimize the delay if any. I understand, but we can not code to the config we expect to use on Chrome OS, we need to make sure we cover all possibilities. Thanks. -- Dmitry