diff options
-rw-r--r-- | goodix_ts_core.c | 17 | ||||
-rw-r--r-- | touch_apis.c | 6 | ||||
-rw-r--r-- | touch_apis.h | 2 |
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); |