mirror of
https://mirrors.bfsu.edu.cn/git/linux.git
synced 2024-11-11 12:28:41 +08:00
iio: Add channel for Position Relative
Add new channel type for relative position on a pad. These type of analog sensor offers the position of a pen on a touchpad, and is represented as a voltage, which can be converted to a position on X and Y axis on the pad. The channel will hand the relative position on the pad in both directions. The channel can then be consumed by a touchscreen driver or read as-is for a raw indication of the touchpen on a touchpad. Signed-off-by: Eugen Hristev <eugen.hristev@microchip.com> Signed-off-by: Jonathan Cameron <Jonathan.Cameron@huawei.com>
This commit is contained in:
parent
d22cd4dd66
commit
3055a6cfa0
@ -197,6 +197,18 @@ Description:
|
|||||||
Angle of rotation. Units after application of scale and offset
|
Angle of rotation. Units after application of scale and offset
|
||||||
are radians.
|
are radians.
|
||||||
|
|
||||||
|
What: /sys/bus/iio/devices/iio:deviceX/in_positionrelative_x_raw
|
||||||
|
What: /sys/bus/iio/devices/iio:deviceX/in_positionrelative_y_raw
|
||||||
|
KernelVersion: 4.18
|
||||||
|
Contact: linux-iio@vger.kernel.org
|
||||||
|
Description:
|
||||||
|
Relative position in direction x or y on a pad (may be
|
||||||
|
arbitrarily assigned but should match other such assignments on
|
||||||
|
device).
|
||||||
|
Units after application of scale and offset are milli percents
|
||||||
|
from the pad's size in both directions. Should be calibrated by
|
||||||
|
the consumer.
|
||||||
|
|
||||||
What: /sys/bus/iio/devices/iio:deviceX/in_anglvel_x_raw
|
What: /sys/bus/iio/devices/iio:deviceX/in_anglvel_x_raw
|
||||||
What: /sys/bus/iio/devices/iio:deviceX/in_anglvel_y_raw
|
What: /sys/bus/iio/devices/iio:deviceX/in_anglvel_y_raw
|
||||||
What: /sys/bus/iio/devices/iio:deviceX/in_anglvel_z_raw
|
What: /sys/bus/iio/devices/iio:deviceX/in_anglvel_z_raw
|
||||||
|
@ -85,6 +85,7 @@ static const char * const iio_chan_type_name_spec[] = {
|
|||||||
[IIO_COUNT] = "count",
|
[IIO_COUNT] = "count",
|
||||||
[IIO_INDEX] = "index",
|
[IIO_INDEX] = "index",
|
||||||
[IIO_GRAVITY] = "gravity",
|
[IIO_GRAVITY] = "gravity",
|
||||||
|
[IIO_POSITIONRELATIVE] = "positionrelative",
|
||||||
};
|
};
|
||||||
|
|
||||||
static const char * const iio_modifier_names[] = {
|
static const char * const iio_modifier_names[] = {
|
||||||
|
@ -44,6 +44,7 @@ enum iio_chan_type {
|
|||||||
IIO_COUNT,
|
IIO_COUNT,
|
||||||
IIO_INDEX,
|
IIO_INDEX,
|
||||||
IIO_GRAVITY,
|
IIO_GRAVITY,
|
||||||
|
IIO_POSITIONRELATIVE,
|
||||||
};
|
};
|
||||||
|
|
||||||
enum iio_modifier {
|
enum iio_modifier {
|
||||||
|
@ -58,6 +58,7 @@ static const char * const iio_chan_type_name_spec[] = {
|
|||||||
[IIO_PH] = "ph",
|
[IIO_PH] = "ph",
|
||||||
[IIO_UVINDEX] = "uvindex",
|
[IIO_UVINDEX] = "uvindex",
|
||||||
[IIO_GRAVITY] = "gravity",
|
[IIO_GRAVITY] = "gravity",
|
||||||
|
[IIO_POSITIONRELATIVE] = "positionrelative",
|
||||||
};
|
};
|
||||||
|
|
||||||
static const char * const iio_ev_type_text[] = {
|
static const char * const iio_ev_type_text[] = {
|
||||||
@ -151,6 +152,7 @@ static bool event_is_known(struct iio_event_data *event)
|
|||||||
case IIO_PH:
|
case IIO_PH:
|
||||||
case IIO_UVINDEX:
|
case IIO_UVINDEX:
|
||||||
case IIO_GRAVITY:
|
case IIO_GRAVITY:
|
||||||
|
case IIO_POSITIONRELATIVE:
|
||||||
break;
|
break;
|
||||||
default:
|
default:
|
||||||
return false;
|
return false;
|
||||||
|
Loading…
Reference in New Issue
Block a user