[PATCH 0/1] iio: accel: kxcjk1013: Add tablet_mode sysfs file for exercising the KIOX010A ACPI DSM

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

 



Hi All,

This builds on top of the recently merged commit e5b1032a656e ("iio: accel:
kxcjk1013: Add support for KIOX010A ACPI DSM for setting tablet-mode"):
https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/commit/?id=e5b1032a656e9aa4c7a4df77cb9156a2a651a5f9

As explained in that commit: "Some 360 degree hinges (yoga) style 2-in-1
devices use 2 KXCJ91008-s to allow the OS to determine the angle between
the display and the base of the device, so that the OS can determine if
the 2-in-1 is in laptop or in tablet-mode.

On Windows both accelerometers are read by a special HingeAngleService
process; and this process calls a DSM (Device Specific Method) on the
ACPI KIOX010A device node for the sensor in the display, to let the
embedded-controller (EC) know about the mode so that it can disable the
kbd and touchpad to avoid spurious input while folded into tablet-mode."

Currently the kxcjk1013 driver calls the DSM for this once at probe time
to ensure that the builtin kbd and touchpad work.

This commit adds a tablet_mode sysfs file to the i2c_client device
(not to the iio-device so outside of the iio namespace!) which allows
userspace to call the DSM to toggle between laptop/tablet-mode by
writing this file.

I guess this might be a bit controversial, butI would still like to
see this patch go upstream.

The user reporting the initial kbd / touchpad not working issue has
requested for the functionality offered by the DSM (silence kbd and
touchpad) to be made available to userspace; and I already wrote
this patch before then because I would like users to be able to
exercise the DSM to be able to observe what influence it has on
these systems.

Regards,

Hans




[Index of Archives]     [Linux USB Devel]     [Video for Linux]     [Linux Audio Users]     [Yosemite News]     [Linux Input]     [Linux Kernel]     [Linux SCSI]     [X.org]

  Powered by Linux