Re: [PATCH 00/19] platform/x86: lenovo-yogabook: Modify to also work on Android version

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

 



On Sat, Apr 29, 2023 at 08:15:32PM +0200, Hans de Goede wrote:
> Hi All,
> 
> The Lenovo Yoga Book (yb1-x9*) is a yoga 2-in-1 where the keyboard
> half has a touch keyboard (with a backlit fixed key layout) to make
> it extra thin and light. The keyboard half can also be switched to
> an alternative wacom digitizer mode where it instead can be used
> to draw on. The backlight + switching is handled by
> the lenovo-yogabook driver.
> 
> There are both Windows and Android versions with different BIOS-es /
> ACPI tables. This series extends the current Windows model only driver
> to also support the Android model.
> 
> On the Android yb1-x90f/l models there is not ACPI method to control
> the keyboard backlight brightness. Instead the second PWM controller
> is exposed directly to the OS there.
> 
> This requires adding a pwm_lookup table and the lenovo-yogabook code
> can (and typically is) build as a module. So the first patch in
> this series exports pwm_add_table() and pwm_remove_table() for use
> in modules.
> 
> I believe that it is easiest to just merge the entire series through
> the drivers/platform/x86 tree. Thierry, may I have your ack for
> patch 1/19 to merge it through the pdx86 tree ?

Wow, great! I thought about ACPI table substitution by one taken from the Windows
tablet but didn't try this. I'm glad if this works because ACPI tables
in Android version looks like as a placeholder from the Intel's SDK, not
a real thing.

There is instruction how to install Windows on Android version, maybe it
will be useful for you:
https://web.archive.org/web/20220516142318/https://www.poz1.com/windows-on-android-lenovo-yogabook/

> 
> Regards,
> 
> Hans
> 
> 
> Hans de Goede (19):
>   pwm: Export pwm_add_table() / pwm_remove_table()
>   platform/x86: lenovo-yogabook: Fix work race on remove()
>   platform/x86: lenovo-yogabook: Reprobe devices on remove()
>   platform/x86: lenovo-yogabook: Set default keyboard backligh
>     brightness on probe()
>   platform/x86: lenovo-yogabook: Simplify gpio lookup table cleanup
>   platform/x86: lenovo-yogabook: Switch to DEFINE_SIMPLE_DEV_PM_OPS()
>   platform/x86: lenovo-yogabook: Store dev instead of wdev in drvdata
>     struct
>   platform/x86: lenovo-yogabook: Add dev local variable to probe()
>   platform/x86: lenovo-yogabook: Use PMIC LED driver for pen icon LED
>     control
>   platform/x86: lenovo-yogabook: Split probe() into generic and WMI
>     specific parts
>   platform/x86: lenovo-yogabook: Stop checking adev->power.state
>   platform/x86: lenovo-yogabook: Abstract kbd backlight setting
>   platform/x86: lenovo-yogabook: Add a yogabook_toggle_digitizer_mode()
>     helper function
>   platform/x86: lenovo-yogabook: Drop _wmi_ from remaining generic
>     symbols
>   platform/x86: lenovo-yogabook: Group WMI specific code together
>   platform/x86: lenovo-yogabook: Add YB_KBD_BL_MAX define
>   platform/x86: lenovo-yogabook: Add platform driver support
>   platform/x86: lenovo-yogabook: Add keyboard backlight control to
>     platform driver
>   platform/x86: lenovo-yogabook: Rename lenovo-yogabook-wmi to
>     lenovo-yogabook
> 
>  drivers/platform/x86/Kconfig               |   6 +-
>  drivers/platform/x86/Makefile              |   2 +-
>  drivers/platform/x86/lenovo-yogabook-wmi.c | 408 --------------
>  drivers/platform/x86/lenovo-yogabook.c     | 587 +++++++++++++++++++++
>  drivers/pwm/core.c                         |   2 +
>  5 files changed, 593 insertions(+), 412 deletions(-)
>  delete mode 100644 drivers/platform/x86/lenovo-yogabook-wmi.c
>  create mode 100644 drivers/platform/x86/lenovo-yogabook.c
> 
> -- 
> 2.39.2
> 

-- 
Yauhen Kharuzhy



[Index of Archives]     [Linux Kernel Development]     [Linux USB Devel]     [Video for Linux]     [Linux Audio Users]     [Yosemite News]     [Linux Kernel]     [Linux SCSI]

  Powered by Linux