mirror of
https://github.com/BobTheBlinker/android_kernel_motorola_sm6375.git
synced 2026-10-14 00:24:41 -04:00
Kiev: Add usb detection based on touchscreen class
TP: Add support for USB detection based on touchscreen class in ft8756. NO_PROP_NEEDED: <only needed for kiev in bo branch> Change-Id: I94198558444620977ee90914347ffdb3c3360a01 Reviewed-on: https://gerrit.mot.com/1654275 SLTApproved: Slta Waiver SME-Granted: SME Approvals Granted Tested-by: Jira Key Reviewed-by: Jichao Zou <zoujc@motorola.com> Reviewed-by: Jun Weng <wengjun1@motorola.com> Reviewed-by: Jianqi Yang <yangj@motorola.com> Submit-Approved: Jira Key
This commit is contained in:
parent
40eb7e6dd7
commit
4e4042d824
3 changed files with 26 additions and 5 deletions
|
|
@ -68,9 +68,6 @@ extern void fts_mmi_dev_unregister(struct fts_ts_data *ts_data);
|
|||
#define FTS_DRIVER_NAME "fts_ts"
|
||||
#define INTERVAL_READ_REG 200 /* unit:ms */
|
||||
#define TIMEOUT_READ_REG 1000 /* unit:ms */
|
||||
#if FTS_USB_DETECT_EN
|
||||
bool FTS_USB_detect_flag;
|
||||
#endif
|
||||
#if FTS_POWER_SOURCE_CUST_EN
|
||||
#define FTS_VTG_MIN_UV 2800000
|
||||
#define FTS_VTG_MAX_UV 3300000
|
||||
|
|
@ -852,7 +849,7 @@ void fts_cable_detect_func(bool force_renew)
|
|||
{
|
||||
struct fts_ts_data *ts_data = fts_data;
|
||||
uint8_t connect_status = 0;
|
||||
connect_status = FTS_USB_detect_flag;
|
||||
connect_status = ts_data->usb_detect_flag;
|
||||
|
||||
if ((connect_status != ts_data->usb_connected) || force_renew) {
|
||||
if (connect_status) {
|
||||
|
|
@ -1944,6 +1941,7 @@ static void fts_ts_late_resume(struct early_suspend *handler)
|
|||
#endif
|
||||
#endif
|
||||
|
||||
#ifndef CONFIG_INPUT_TOUCHSCREEN_MMI
|
||||
#if FTS_USB_DETECT_EN
|
||||
static int fts_charger_notifier_callback(struct notifier_block *nb,
|
||||
unsigned long val, void *v) {
|
||||
|
|
@ -1964,7 +1962,7 @@ static int fts_charger_notifier_callback(struct notifier_block *nb,
|
|||
FTS_ERROR("Couldn't get POWER_SUPPLY_PROP_ONLINE rc=%d\n", ret);
|
||||
return ret;
|
||||
} else {
|
||||
FTS_USB_detect_flag = prop.intval;
|
||||
ts->usb_detect_flag = prop.intval;
|
||||
//FTS_ERROR("usb prop.intval =%d\n", prop.intval);
|
||||
}
|
||||
}
|
||||
|
|
@ -1972,6 +1970,7 @@ static int fts_charger_notifier_callback(struct notifier_block *nb,
|
|||
return 0;
|
||||
}
|
||||
#endif
|
||||
#endif
|
||||
|
||||
static int fts_ts_probe_entry(struct fts_ts_data *ts_data)
|
||||
{
|
||||
|
|
@ -2181,6 +2180,7 @@ static int fts_ts_probe_entry(struct fts_ts_data *ts_data)
|
|||
#endif
|
||||
#endif
|
||||
|
||||
#ifndef CONFIG_INPUT_TOUCHSCREEN_MMI
|
||||
#if FTS_USB_DETECT_EN
|
||||
ts_data->usb_connected = 0x00;
|
||||
ts_data->charger_notif.notifier_call = fts_charger_notifier_callback;
|
||||
|
|
@ -2190,6 +2190,7 @@ static int fts_ts_probe_entry(struct fts_ts_data *ts_data)
|
|||
goto err_register_charger_notify_failed;
|
||||
}
|
||||
#endif
|
||||
#endif
|
||||
|
||||
#ifdef CONFIG_INPUT_TOUCHSCREEN_MMI
|
||||
fts_mmi_dev_register(ts_data);
|
||||
|
|
@ -2198,11 +2199,13 @@ static int fts_ts_probe_entry(struct fts_ts_data *ts_data)
|
|||
FTS_FUNC_EXIT();
|
||||
return 0;
|
||||
|
||||
#ifndef CONFIG_INPUT_TOUCHSCREEN_MMI
|
||||
#if FTS_USB_DETECT_EN
|
||||
err_register_charger_notify_failed:
|
||||
if (ts_data->charger_notif.notifier_call)
|
||||
power_supply_unreg_notifier(&ts_data->charger_notif);
|
||||
#endif
|
||||
#endif
|
||||
|
||||
err_irq_req:
|
||||
#if FTS_POWER_SOURCE_CUST_EN
|
||||
|
|
@ -2238,10 +2241,12 @@ static int fts_ts_remove_entry(struct fts_ts_data *ts_data)
|
|||
fts_mmi_dev_unregister(ts_data);
|
||||
#endif
|
||||
|
||||
#ifndef CONFIG_INPUT_TOUCHSCREEN_MMI
|
||||
#if FTS_USB_DETECT_EN
|
||||
if (ts_data->charger_notif.notifier_call)
|
||||
power_supply_unreg_notifier(&ts_data->charger_notif);
|
||||
#endif
|
||||
#endif
|
||||
|
||||
#if FTS_POINT_REPORT_CHECK_EN
|
||||
fts_point_report_check_exit(ts_data);
|
||||
|
|
|
|||
|
|
@ -240,6 +240,7 @@ struct fts_ts_data {
|
|||
#endif
|
||||
|
||||
#if FTS_USB_DETECT_EN
|
||||
bool usb_detect_flag;
|
||||
uint8_t usb_connected;
|
||||
struct notifier_block charger_notif;
|
||||
#endif
|
||||
|
|
|
|||
|
|
@ -191,6 +191,18 @@ static int fts_mmi_firmware_update(struct device *dev, char *fwname)
|
|||
return 0;
|
||||
}
|
||||
|
||||
#if FTS_USB_DETECT_EN
|
||||
static int fts_mmi_charger_mode(struct device *dev, int mode)
|
||||
{
|
||||
struct fts_ts_data *ts_data;
|
||||
|
||||
GET_TS_DATA(dev);
|
||||
ts_data->usb_detect_flag = !!mode;
|
||||
|
||||
return 0;
|
||||
}
|
||||
#endif
|
||||
|
||||
static int fts_mmi_panel_state(struct device *dev,
|
||||
enum ts_mmi_pm_mode from, enum ts_mmi_pm_mode to)
|
||||
{
|
||||
|
|
@ -385,6 +397,9 @@ static struct ts_mmi_methods fts_mmi_methods = {
|
|||
.drv_irq = fts_mmi_methods_drv_irq,
|
||||
#if FTS_POWER_SOURCE_CUST_EN
|
||||
.power = fts_mmi_methods_power,
|
||||
#endif
|
||||
#if FTS_USB_DETECT_EN
|
||||
.charger_mode = fts_mmi_charger_mode,
|
||||
#endif
|
||||
/* Firmware */
|
||||
.firmware_update = fts_mmi_firmware_update,
|
||||
|
|
|
|||
Loading…
Reference in a new issue