RE: [External] Re: [PATCH] thinkpad_acpi: Add sysfs entry for lcdshadow feature

From: Mark Pearson
Date: Thu Feb 20 2020 - 10:14:55 EST

Hi Andy

> -----Original Message-----
> From: Andy Shevchenko <andy.shevchenko@xxxxxxxxx>
> Sent: Thursday, February 20, 2020 5:43 AM
> On Thu, Feb 20, 2020 at 9:48 AM Nitin Joshi <nitjoshi@xxxxxxxxx> wrote:
> >
> > This feature is supported on some Thinkpad products like T490s, Thinkpad
> > X1 yoga 4th Gen etc . The lcdshadow feature can be enabled and disabled
> > when user press "Fn" + "D" key. Currently, no user feedback is given for
> > this action. Adding as sysfs entry allows userspace to show an On Screen
> > Display whenever the setting changes.
> >
> > Summary of changes is mentioned below :
> >
> > - Added TP_HKEY_EV_LCDSHADOW_CHANGED for consistency inside the
> driver
> > - Added unmapped LCDSHADOW to keymap
> > - Added lcdshadow_get function to read value using ACPI
> > - Added lcdshadow_refresh function to re-read value and send notification
> > - Added sysfs group creation to tpaci_lcdshadow_init
> > - Added lcdshadow_exit to remove sysfs group again
> > - Implemented lcdshadow_enable_show/lcdshadow_enable_store
> > - Added handler to tpacpi_driver_event to update refresh lcdshadow
> > - Explicitly call tpacpi_driver_event for extended keyset
> Adding custom PrivacyGuard support to this driver was my mistake,
> There is a discussion [1] how to do this in generic way to cover other
> possible users.
> I Cc this to people from that discussion.
> [1]:
> devel/CAL_quvRknSSVvXN3q_Se0hrziw2oTNS3ENNoeHYhvciCRq9Yww@mail
Thanks for the pointer to that thread - really useful and interesting, we weren't aware there was an ongoing exercise to do this.

I work with Nitin as part of the Linux team at Lenovo. We're trying to get more directly and actively involved in the open source community to improve the Linux experience on Lenovo devices and of course want to make sure we contribute the right way. We're all still pretty new so pointers and help are very much appreciated (we've been getting some great support from the distros to get us started).

For this particular issue what is the best way to contribute and get involved? We'd like to make it so ePrivacy can be used more easily from Linux. I agree a more generic way of controlling it would be good.
I looked at the proposed patch from Rajat ( - it seems like a good solution to me. We can help with testing that on our platforms if that would be useful.

I need to understand how we connect that implementation with the ACPI controls we have (as I believe what we have are thinkpad specific and not to a drm spec; we need to confirm that). We also have the ACPI events that notify if ePrivacy was changed by the hotkeys and that seems like something that should be done in thinkpad_acpi.c and not the drm code. Not sure if the two need to be connected somehow (or if handling the event is actually not important and polling is acceptable)?

As a note Nitin has been working with the Red Hat folk and is looking at the user space aspect of this (in particularl gnome settings) as well.

Mark Pearson