Compare commits
6 Commits
lineage-23
...
bka
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
60900f18f0 | ||
|
|
38f5ab5930 | ||
|
|
5c9f4df943 | ||
|
|
5200aeec61 | ||
|
|
563dac970e | ||
|
|
01ba999ffa |
@@ -692,6 +692,7 @@
|
||||
00 00 0a 0a
|
||||
00 00 8a 8a];
|
||||
qcom,platform-regulator-settings = [1d 1d 1d 1d 1d];
|
||||
qcom,panel-allow-phy-poweroff;
|
||||
qcom,phy-supply-entries {
|
||||
#address-cells = <1>;
|
||||
#size-cells = <0>;
|
||||
|
||||
@@ -533,6 +533,22 @@ static struct tp_common_ops double_tap_ops = {
|
||||
.show = double_tap_show,
|
||||
.store = double_tap_store,
|
||||
};
|
||||
|
||||
#ifdef CONFIG_TOUCHSCREEN_FOD
|
||||
static ssize_t fp_state_show(struct kobject *kobj,
|
||||
struct kobj_attribute *attr, char *buf)
|
||||
{
|
||||
if (!fts_info)
|
||||
return -EINVAL;
|
||||
|
||||
return sprintf(buf, "%d,%d,%d\n", fts_info->fod_pressed_x, fts_info->fod_pressed_y,
|
||||
fts_info->fod_pressed);
|
||||
}
|
||||
|
||||
static struct tp_common_ops fp_state_ops = {
|
||||
.show = fp_state_show,
|
||||
};
|
||||
#endif
|
||||
#endif
|
||||
|
||||
#ifdef GRIP_MODE
|
||||
@@ -4303,6 +4319,10 @@ static void fts_gesture_event_handler(struct fts_ts_info *info,
|
||||
needCoords = 1;
|
||||
#ifdef CONFIG_TOUCHSCREEN_FOD
|
||||
if (event[2] == GEST_ID_LONG_PRESS) {
|
||||
info->fod_pressed = true;
|
||||
info->fod_pressed_x = x;
|
||||
info->fod_pressed_y = y;
|
||||
tp_common_notify_fp_state();
|
||||
if (!info->fod_down &&
|
||||
(info->fod_status == 1 || info->fod_status == 2)) {
|
||||
MI_TOUCH_LOGI(1, "%s %s: FOD Down\n", tag,
|
||||
@@ -4327,7 +4347,6 @@ static void fts_gesture_event_handler(struct fts_ts_info *info,
|
||||
if ((info->sensor_sleep &&
|
||||
!info->sleep_finger) ||
|
||||
!info->sensor_sleep) {
|
||||
info->fod_pressed = true;
|
||||
input_report_key(info->input_dev,
|
||||
BTN_INFO, 1);
|
||||
input_sync(info->input_dev);
|
||||
@@ -4422,6 +4441,9 @@ static void fts_gesture_event_handler(struct fts_ts_info *info,
|
||||
info->sleep_finger = 0;
|
||||
info->fod_overlap = 0;
|
||||
info->fod_pressed = false;
|
||||
info->fod_pressed_x = 0;
|
||||
info->fod_pressed_y = 0;
|
||||
tp_common_notify_fp_state();
|
||||
goto gesture_done;
|
||||
}
|
||||
#endif
|
||||
@@ -8241,6 +8263,7 @@ static int fts_probe(struct spi_device *client)
|
||||
tp_common_set_double_tap_ops(&double_tap_ops);
|
||||
#ifdef CONFIG_TOUCHSCREEN_FOD
|
||||
tp_common_set_fod_status_ops(&fod_status_ops);
|
||||
tp_common_set_fp_state_ops(&fp_state_ops);
|
||||
#endif
|
||||
#endif
|
||||
|
||||
|
||||
@@ -387,6 +387,8 @@ struct fts_ts_info {
|
||||
unsigned long fod_id;
|
||||
unsigned long fod_x;
|
||||
unsigned long fod_y;
|
||||
unsigned long fod_pressed_x;
|
||||
unsigned long fod_pressed_y;
|
||||
struct mutex fod_mutex;
|
||||
struct mutex cmd_update_mutex;
|
||||
bool fod_coordinate_update;
|
||||
|
||||
@@ -13,10 +13,18 @@ struct kobject *touchpanel_kobj;
|
||||
return sysfs_create_file(touchpanel_kobj, &kattr.attr); \
|
||||
}
|
||||
|
||||
#define TS_ENABLE_NOTIFY(type) \
|
||||
void tp_common_notify_##type(void) \
|
||||
{ \
|
||||
sysfs_notify(touchpanel_kobj, NULL, __stringify(type)); \
|
||||
}
|
||||
|
||||
TS_ENABLE_FOPS(capacitive_keys)
|
||||
TS_ENABLE_FOPS(double_tap)
|
||||
TS_ENABLE_FOPS(fod_status)
|
||||
TS_ENABLE_FOPS(fp_state)
|
||||
TS_ENABLE_FOPS(reversed_keys)
|
||||
TS_ENABLE_NOTIFY(fp_state)
|
||||
|
||||
static int __init tp_common_init(void)
|
||||
{
|
||||
|
||||
@@ -387,10 +387,7 @@ static bool pd_get_bms_digest_verified(struct usbpd_pm *pdpm)
|
||||
|
||||
pr_err("pval.intval: %d\n", pval.intval);
|
||||
|
||||
if (pval.intval == 1)
|
||||
return true;
|
||||
else
|
||||
return false;
|
||||
}
|
||||
|
||||
/* get bq27z561 chip ok*/
|
||||
|
||||
@@ -10,7 +10,9 @@ struct tp_common_ops {
|
||||
const char *buf, size_t count);
|
||||
};
|
||||
|
||||
void tp_common_notify_fp_state(void);
|
||||
int tp_common_set_capacitive_keys_ops(struct tp_common_ops *ops);
|
||||
int tp_common_set_double_tap_ops(struct tp_common_ops *ops);
|
||||
int tp_common_set_fod_status_ops(struct tp_common_ops *ops);
|
||||
int tp_common_set_fp_state_ops(struct tp_common_ops *ops);
|
||||
int tp_common_set_reversed_keys_ops(struct tp_common_ops *ops);
|
||||
|
||||
@@ -325,8 +325,12 @@ static int dsi_phy_settings_init(struct platform_device *pdev,
|
||||
/* Actual timing values are dependent on panel */
|
||||
timing->count_per_lane = phy->ver_info->timing_cfg_count;
|
||||
|
||||
#ifndef CONFIG_MACH_XIAOMI_UMI
|
||||
phy->allow_phy_power_off = of_property_read_bool(pdev->dev.of_node,
|
||||
"qcom,panel-allow-phy-poweroff");
|
||||
#else
|
||||
phy->allow_phy_power_off = false;
|
||||
#endif
|
||||
|
||||
of_property_read_u32(pdev->dev.of_node,
|
||||
"qcom,dsi-phy-regulator-min-datarate-bps",
|
||||
|
||||
Reference in New Issue
Block a user