summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--goodix_ts_core.c17
-rw-r--r--touch_apis.c6
-rw-r--r--touch_apis.h2
3 files changed, 23 insertions, 2 deletions
diff --git a/goodix_ts_core.c b/goodix_ts_core.c
index 759a981..ed7e444 100644
--- a/goodix_ts_core.c
+++ b/goodix_ts_core.c
@@ -828,6 +828,8 @@ int set_sensing_enabled(struct device *dev, bool enabled)
return 0;
}
+#if IS_ENABLED(CONFIG_GOOG_TOUCH_INTERFACE)
+#if IS_ENABLED(CONFIG_GTI_PM)
bool get_wake_lock_state(struct device *dev, enum gti_pm_wakelock_type type)
{
struct goodix_ts_core *cd = dev_get_drvdata(dev);
@@ -846,8 +848,8 @@ int set_wake_lock_state(
ret = goog_pm_wake_unlock(cd->gti, type);
return ret;
}
+#endif
-#if IS_ENABLED(CONFIG_GOOG_TOUCH_INTERFACE)
static int gti_default_handler(void *private_data, enum gti_cmd_type cmd_type,
struct gti_union_cmd_data *cmd)
{
@@ -1634,7 +1636,9 @@ void goodix_ts_report_status(struct goodix_ts_core *core_data,
u8 checksum = 0;
int len = sizeof(ts_event->status_data);
u8 *data = (u8 *)st;
+#if IS_ENABLED(CONFIG_GOOG_TOUCH_INTERFACE)
struct gti_fw_status_data status_data = { 0 };
+#endif
for (i = 0; i < len - 1; i++)
checksum += data[i];
@@ -1651,7 +1655,7 @@ void goodix_ts_report_status(struct goodix_ts_core *core_data,
st->water_sta, st->before_factorA, st->after_factorA,
st->base_update_type, st->soft_reset_type, st->palm_sta,
st->noise_lv, st->grip_type);
-
+#if IS_ENABLED(CONFIG_GOOG_TOUCH_INTERFACE)
if (st->soft_reset)
goog_notify_fw_status_changed(core_data->gti, GTI_FW_STATUE_RESET,
&status_data);
@@ -1673,6 +1677,7 @@ void goodix_ts_report_status(struct goodix_ts_core *core_data,
goog_notify_fw_status_changed(core_data->gti, GTI_FW_STATUE_NOISE_MODE,
&status_data);
}
+#endif
}
/**
@@ -1774,7 +1779,11 @@ static int goodix_ts_irq_setup(struct goodix_ts_core *core_data)
}
ts_info("IRQ:%u,flags:%d", core_data->irq, (int)ts_bdata->irq_flags);
+#if IS_ENABLED(CONFIG_GOOG_TOUCH_INTERFACE)
ret = goog_devm_request_threaded_irq(core_data->gti,
+#else
+ ret = devm_request_threaded_irq(
+#endif
&core_data->pdev->dev, core_data->irq,
goodix_ts_isr, goodix_ts_threadirq_func,
ts_bdata->irq_flags | IRQF_ONESHOT, GOODIX_CORE_DRIVER_NAME,
@@ -2600,7 +2609,9 @@ int goodix_ts_stage2_init(struct goodix_ts_core *cd)
misc->fw_log_len + sizeof(struct goodix_mutual_data) +
mutual_size + sizeof(struct goodix_self_sensing_data) +
self_sensing_size;
+#if IS_ENABLED(CONFIG_GOOG_TOUCH_INTERFACE)
struct gti_optional_configuration *options;
+#endif
/* alloc/config/register input device */
ret = goodix_ts_input_dev_config(cd);
@@ -2648,8 +2659,10 @@ int goodix_ts_stage2_init(struct goodix_ts_core *cd)
cd->apis_data.hardware_reset = hardware_reset;
cd->apis_data.set_scan_mode = set_scan_mode;
cd->apis_data.set_sensing_enabled = set_sensing_enabled;
+#if IS_ENABLED(CONFIG_GTI_PM)
cd->apis_data.get_wake_lock_state = get_wake_lock_state;
cd->apis_data.set_wake_lock_state = set_wake_lock_state;
+#endif
#if IS_ENABLED(CONFIG_TOUCHSCREEN_MOTION_FILTER)
cd->apis_data.tmf = &cd->tmf;
#endif
diff --git a/touch_apis.c b/touch_apis.c
index 8caa94d..b4fe602 100644
--- a/touch_apis.c
+++ b/touch_apis.c
@@ -293,6 +293,7 @@ static ssize_t sensing_enabled_store(struct device *dev,
return count;
}
+#if IS_ENABLED(CONFIG_GTI_PM)
static ssize_t wake_lock_show(
struct device *dev, struct device_attribute *attr, char *buf)
{
@@ -336,6 +337,7 @@ static ssize_t wake_lock_store(struct device *dev,
}
return count;
}
+#endif
static DEVICE_ATTR_RO(fw_ver);
static DEVICE_ATTR_RO(help);
@@ -348,7 +350,9 @@ static DEVICE_ATTR_RO(ping);
static DEVICE_ATTR_RW(reset);
static DEVICE_ATTR_RW(scan_mode);
static DEVICE_ATTR_RW(sensing_enabled);
+#if IS_ENABLED(CONFIG_GTI_PM)
static DEVICE_ATTR_RW(wake_lock);
+#endif
static struct attribute *sysfs_attrs[] = {
&dev_attr_fw_ver.attr,
@@ -362,7 +366,9 @@ static struct attribute *sysfs_attrs[] = {
&dev_attr_reset.attr,
&dev_attr_scan_mode.attr,
&dev_attr_sensing_enabled.attr,
+#if IS_ENABLED(CONFIG_GTI_PM)
&dev_attr_wake_lock.attr,
+#endif
NULL,
};
diff --git a/touch_apis.h b/touch_apis.h
index 1633211..c7aa20d 100644
--- a/touch_apis.h
+++ b/touch_apis.h
@@ -48,10 +48,12 @@ struct touch_apis_data {
int (*software_reset)(struct device *dev);
int (*set_scan_mode)(struct device *dev, enum scan_mode mode);
int (*set_sensing_enabled)(struct device *dev, bool enabled);
+#if IS_ENABLED(CONFIG_GTI_PM)
bool (*get_wake_lock_state)(
struct device *dev, enum gti_pm_wakelock_type type);
int (*set_wake_lock_state)(
struct device *dev, enum gti_pm_wakelock_type type, bool locked);
+#endif
};
extern int touch_apis_init(struct device *dev, struct touch_apis_data *data);