input: misc: hbtp_input: snapshot of driver from msm-4.9
Driver snapshot from msm-4.9 to msm-next 0f798a0 input: misc: hbtp_input: allow read access to display_pwr sysfs 5532c00 input: misc: hbtp_input: Support for Region of Interest/sensors 61fbcdc6 input: misc: hbtp_input: Release mutex in error cases in sysfs cb dc0b965 input: misc: hbtp_input: Add sysfs for suspend/resume bafe727 input: misc: hbtp_input: snapshot of driver from msm-4.4 Use character device instead of miscellaneous device since hbtp_input driver is an input device which can be classified under character device. Misc devices are now deprecated. Change-Id: I11a7384b66bf3e74a9d63215be3fdb1a402d990c Signed-off-by: Alex Sarraf <asarraf@codeaurora.org> Signed-off-by: Ashok Raj D <adeenada@codeaurora.org> Signed-off-by: Chetan C R <cchinnad@codeaurora.org>
This commit is contained in:
parent
e3e20132c3
commit
e5c544f8bc
7 changed files with 1714 additions and 0 deletions
|
@ -117,6 +117,17 @@ config INPUT_E3X0_BUTTON
|
|||
To compile this driver as a module, choose M here: the
|
||||
module will be called e3x0_button.
|
||||
|
||||
config INPUT_HBTP_INPUT
|
||||
tristate "HBTP input driver support"
|
||||
help
|
||||
This option enables an input driver for the host based touch
|
||||
processing.
|
||||
|
||||
Say Y to enable HBTP input driver.
|
||||
|
||||
To compile this driver as a module, choose M here: the
|
||||
module will be called hbtp_input.
|
||||
|
||||
config INPUT_PCSPKR
|
||||
tristate "PC Speaker support"
|
||||
depends on PCSPKR_PLATFORM
|
||||
|
|
|
@ -38,6 +38,7 @@ obj-$(CONFIG_INPUT_GPIO_BEEPER) += gpio-beeper.o
|
|||
obj-$(CONFIG_INPUT_GPIO_DECODER) += gpio_decoder.o
|
||||
obj-$(CONFIG_INPUT_GPIO) += gpio_event.o gpio_matrix.o gpio_input.o gpio_output.o gpio_axis.o
|
||||
obj-$(CONFIG_INPUT_HISI_POWERKEY) += hisi_powerkey.o
|
||||
obj-$(CONFIG_INPUT_HBTP_INPUT) += hbtp_input.o
|
||||
obj-$(CONFIG_HP_SDC_RTC) += hp_sdc_rtc.o
|
||||
obj-$(CONFIG_INPUT_IMS_PCU) += ims-pcu.o
|
||||
obj-$(CONFIG_INPUT_IXP4XX_BEEPER) += ixp4xx-beeper.o
|
||||
|
|
1615
drivers/input/misc/hbtp_input.c
Normal file
1615
drivers/input/misc/hbtp_input.c
Normal file
File diff suppressed because it is too large
Load diff
|
@ -246,6 +246,7 @@ gen_headers_out_arm = [
|
|||
"linux/gsmmux.h",
|
||||
"linux/gtp.h",
|
||||
"linux/hash_info.h",
|
||||
"linux/hbtp_input.h",
|
||||
"linux/hdlc.h",
|
||||
"linux/hdlcdrv.h",
|
||||
"linux/hdreg.h",
|
||||
|
|
|
@ -241,6 +241,7 @@ gen_headers_out_arm64 = [
|
|||
"linux/gsmmux.h",
|
||||
"linux/gtp.h",
|
||||
"linux/hash_info.h",
|
||||
"linux/hbtp_input.h",
|
||||
"linux/hdlc.h",
|
||||
"linux/hdlcdrv.h",
|
||||
"linux/hdreg.h",
|
||||
|
|
|
@ -4,6 +4,8 @@ ifeq ($(wildcard $(srctree)/arch/$(SRCARCH)/include/uapi/asm/a.out.h),)
|
|||
no-export-headers += a.out.h
|
||||
endif
|
||||
|
||||
header-y += hbtp_input.h
|
||||
|
||||
ifeq ($(wildcard $(srctree)/arch/$(SRCARCH)/include/uapi/asm/kvm.h),)
|
||||
no-export-headers += kvm.h
|
||||
endif
|
||||
|
|
83
include/uapi/linux/hbtp_input.h
Normal file
83
include/uapi/linux/hbtp_input.h
Normal file
|
@ -0,0 +1,83 @@
|
|||
/* SPDX-License-Identifier: GPL-2.0-only WITH Linux-syscall-note */
|
||||
#ifndef _UAPI_HBTP_INPUT_H
|
||||
#define _UAPI_HBTP_INPUT_H
|
||||
|
||||
#include <linux/input.h>
|
||||
|
||||
#define HBTP_MAX_FINGER 20
|
||||
#define HBTP_ABS_MT_FIRST ABS_MT_TOUCH_MAJOR
|
||||
#define HBTP_ABS_MT_LAST ABS_MT_TOOL_Y
|
||||
#define MAX_ROI_SIZE 144
|
||||
#define MAX_ACCEL_SIZE 128
|
||||
|
||||
#define HBTP_EVENT_TYPE_DISPLAY "EVENT_TYPE=HBTP_DISPLAY"
|
||||
|
||||
struct hbtp_input_touch {
|
||||
bool active;
|
||||
__s32 tool;
|
||||
__s32 x;
|
||||
__s32 y;
|
||||
__s32 pressure;
|
||||
__s32 major;
|
||||
__s32 minor;
|
||||
__s32 orientation;
|
||||
};
|
||||
|
||||
struct hbtp_sensor_data {
|
||||
__s16 accelBuffer[MAX_ACCEL_SIZE];
|
||||
__s16 ROI[MAX_ROI_SIZE];
|
||||
};
|
||||
|
||||
struct hbtp_input_mt {
|
||||
__s32 num_touches;
|
||||
struct hbtp_input_touch touches[HBTP_MAX_FINGER];
|
||||
struct timeval time_val;
|
||||
};
|
||||
|
||||
struct hbtp_input_absinfo {
|
||||
bool active;
|
||||
__u16 code;
|
||||
__s32 minimum;
|
||||
__s32 maximum;
|
||||
};
|
||||
|
||||
enum hbtp_afe_power_cmd {
|
||||
HBTP_AFE_POWER_ON,
|
||||
HBTP_AFE_POWER_OFF,
|
||||
};
|
||||
|
||||
struct hbtp_input_key {
|
||||
__u32 code;
|
||||
__s32 value;
|
||||
};
|
||||
|
||||
enum hbtp_afe_signal {
|
||||
HBTP_AFE_SIGNAL_ON_RESUME,
|
||||
HBTP_AFE_SIGNAL_ON_SUSPEND,
|
||||
};
|
||||
|
||||
enum hbtp_afe_power_ctrl {
|
||||
HBTP_AFE_POWER_ENABLE_SYNC,
|
||||
HBTP_AFE_POWER_ENABLE_SYNC_SIGNAL,
|
||||
};
|
||||
|
||||
|
||||
/* ioctl */
|
||||
#define HBTP_INPUT_IOCTL_BASE 'T'
|
||||
#define HBTP_SET_ABSPARAM _IOW(HBTP_INPUT_IOCTL_BASE, 201, \
|
||||
struct hbtp_input_absinfo *)
|
||||
#define HBTP_SET_TOUCHDATA _IOW(HBTP_INPUT_IOCTL_BASE, 202, \
|
||||
struct hbtp_input_mt)
|
||||
#define HBTP_SET_POWERSTATE _IOW(HBTP_INPUT_IOCTL_BASE, 203, \
|
||||
enum hbtp_afe_power_cmd)
|
||||
#define HBTP_SET_KEYDATA _IOW(HBTP_INPUT_IOCTL_BASE, 204, \
|
||||
struct hbtp_input_key)
|
||||
#define HBTP_SET_SYNCSIGNAL _IOW(HBTP_INPUT_IOCTL_BASE, 205, \
|
||||
enum hbtp_afe_signal)
|
||||
#define HBTP_SET_POWER_CTRL _IOW(HBTP_INPUT_IOCTL_BASE, 206, \
|
||||
enum hbtp_afe_power_ctrl)
|
||||
#define HBTP_SET_SENSORDATA _IOW(HBTP_INPUT_IOCTL_BASE, 207, \
|
||||
struct hbtp_sensor_data)
|
||||
|
||||
#endif /* _UAPI_HBTP_INPUT_H */
|
||||
|
Loading…
Reference in a new issue