Loading Documentation/devicetree/bindings/input/touchscreen/synaptics_i2c_rmi4.txt +4 −1 Original line number Diff line number Diff line Loading @@ -17,6 +17,8 @@ Required properties: config defined in pin groups of interrupt and reset gpio. "pmx_ts_suspend" : Disabled configuration of pins, this should specify sleep config defined in pin groups of interrupt and reset gpio. "pmx_ts_release" : Release configuration of pins, this should specify release config defined in pin groups of interrupt and reset gpio. Optional property: - vdd-supply : Analog power supply needed to power device - vcc_i2c-supply : Power source required to pull up i2c bus Loading Loading @@ -76,9 +78,10 @@ Example: interrupts = <17 0x2>; vdd-supply = <&pm8226_l19>; vcc_i2c-supply = <&pm8226_lvs1>; pinctrl-names = "pmx_ts_active","pmx_ts_suspend"; pinctrl-names = "pmx_ts_active","pmx_ts_suspend","pmx_ts_release"; pinctrl-0 = <&ts_int_active &ts_reset_active>; pinctrl-1 = <&ts_int_suspend &ts_reset_suspend>; pinctrl-1 = <&ts_release>; synaptics,reset-gpio = <&msmgpio 16 0x00>; synaptics,irq-gpio = <&msmgpio 17 0x00>; synaptics,i2c-pull-up; Loading drivers/input/touchscreen/synaptics_dsx/synaptics_dsx_i2c.c +1 −1 Original line number Diff line number Diff line Loading @@ -215,7 +215,7 @@ static int synaptics_rmi4_i2c_get(struct synaptics_rmi4_data *rmi4_data) mutex_lock(&rmi4_data->rmi4_io_ctrl_mutex); retval = pm_runtime_get_sync(i2c->adapter->dev.parent); if (retval >= 0) { if (retval == 0) { retval = synaptics_rmi4_clk_prepare_enable(rmi4_data); if (retval) pm_runtime_put_sync(i2c->adapter->dev.parent); Loading drivers/input/touchscreen/synaptics_fw_update.c +11 −1 Original line number Diff line number Diff line Loading @@ -706,12 +706,18 @@ static enum flash_area fwu_go_nogo(void) unsigned char config_id[4]; unsigned char pkg_id[4]; char *strptr; char *imagePR = kzalloc(sizeof(MAX_FIRMWARE_ID_LEN), GFP_KERNEL); char *imagePR; enum flash_area flash_area = NONE; struct i2c_client *i2c_client = fwu->rmi4_data->i2c_client; struct f01_device_status f01_device_status; struct image_content *img = &fwu->image_content; imagePR = kzalloc(sizeof(MAX_FIRMWARE_ID_LEN), GFP_KERNEL); if (!imagePR) { flash_area = NONE; return flash_area; } if (fwu->force_update) { flash_area = UI_FIRMWARE; goto exit; Loading Loading @@ -1397,6 +1403,10 @@ static int fwu_do_read_config(void) kfree(fwu->read_config_buf); fwu->read_config_buf = kzalloc(fwu->config_size, GFP_KERNEL); if (!fwu->read_config_buf) { retval = -ENOMEM; goto exit; } block_offset[1] |= (fwu->config_area << 5); Loading drivers/input/touchscreen/synaptics_i2c_rmi4.c +411 −89 File changed.Preview size limit exceeded, changes collapsed. Show changes drivers/input/touchscreen/synaptics_i2c_rmi4.h +22 −3 Original line number Diff line number Diff line Loading @@ -5,7 +5,7 @@ * * Copyright (C) 2012 Alexandra Chin <alexandra.chin@tw.synaptics.com> * Copyright (C) 2012 Scott Lin <scott.lin@tw.synaptics.com> * Copyright (c) 2013-2014, The Linux Foundation. All rights reserved. * Copyright (c) 2013-2015, The Linux Foundation. All rights reserved. * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by Loading Loading @@ -35,6 +35,11 @@ #include <linux/earlysuspend.h> #endif #include <linux/debugfs.h> #if defined(CONFIG_SECURE_TOUCH) #include <linux/completion.h> #include <linux/atomic.h> #include <linux/clk.h> #endif #define PDT_PROPS (0x00EF) #define PDT_START (0x00E9) Loading Loading @@ -72,6 +77,10 @@ #define NAME_BUFFER_SIZE 256 #define PINCTRL_STATE_ACTIVE "pmx_ts_active" #define PINCTRL_STATE_SUSPEND "pmx_ts_suspend" #define PINCTRL_STATE_RELEASE "pmx_ts_release" /* * struct synaptics_rmi4_fn_desc - function descriptor fields in PDT * @query_base_addr: base address for query registers Loading Loading @@ -266,8 +275,18 @@ struct synaptics_rmi4_data { #endif #endif struct pinctrl *ts_pinctrl; struct pinctrl_state *gpio_state_active; struct pinctrl_state *gpio_state_suspend; struct pinctrl_state *pinctrl_state_active; struct pinctrl_state *pinctrl_state_suspend; struct pinctrl_state *pinctrl_state_release; #if defined(CONFIG_SECURE_TOUCH) atomic_t st_enabled; atomic_t st_pending_irqs; bool st_initialized; struct completion st_powerdown; struct completion st_irq_processed; struct clk *core_clk; struct clk *iface_clk; #endif }; enum exp_fn { Loading Loading
Documentation/devicetree/bindings/input/touchscreen/synaptics_i2c_rmi4.txt +4 −1 Original line number Diff line number Diff line Loading @@ -17,6 +17,8 @@ Required properties: config defined in pin groups of interrupt and reset gpio. "pmx_ts_suspend" : Disabled configuration of pins, this should specify sleep config defined in pin groups of interrupt and reset gpio. "pmx_ts_release" : Release configuration of pins, this should specify release config defined in pin groups of interrupt and reset gpio. Optional property: - vdd-supply : Analog power supply needed to power device - vcc_i2c-supply : Power source required to pull up i2c bus Loading Loading @@ -76,9 +78,10 @@ Example: interrupts = <17 0x2>; vdd-supply = <&pm8226_l19>; vcc_i2c-supply = <&pm8226_lvs1>; pinctrl-names = "pmx_ts_active","pmx_ts_suspend"; pinctrl-names = "pmx_ts_active","pmx_ts_suspend","pmx_ts_release"; pinctrl-0 = <&ts_int_active &ts_reset_active>; pinctrl-1 = <&ts_int_suspend &ts_reset_suspend>; pinctrl-1 = <&ts_release>; synaptics,reset-gpio = <&msmgpio 16 0x00>; synaptics,irq-gpio = <&msmgpio 17 0x00>; synaptics,i2c-pull-up; Loading
drivers/input/touchscreen/synaptics_dsx/synaptics_dsx_i2c.c +1 −1 Original line number Diff line number Diff line Loading @@ -215,7 +215,7 @@ static int synaptics_rmi4_i2c_get(struct synaptics_rmi4_data *rmi4_data) mutex_lock(&rmi4_data->rmi4_io_ctrl_mutex); retval = pm_runtime_get_sync(i2c->adapter->dev.parent); if (retval >= 0) { if (retval == 0) { retval = synaptics_rmi4_clk_prepare_enable(rmi4_data); if (retval) pm_runtime_put_sync(i2c->adapter->dev.parent); Loading
drivers/input/touchscreen/synaptics_fw_update.c +11 −1 Original line number Diff line number Diff line Loading @@ -706,12 +706,18 @@ static enum flash_area fwu_go_nogo(void) unsigned char config_id[4]; unsigned char pkg_id[4]; char *strptr; char *imagePR = kzalloc(sizeof(MAX_FIRMWARE_ID_LEN), GFP_KERNEL); char *imagePR; enum flash_area flash_area = NONE; struct i2c_client *i2c_client = fwu->rmi4_data->i2c_client; struct f01_device_status f01_device_status; struct image_content *img = &fwu->image_content; imagePR = kzalloc(sizeof(MAX_FIRMWARE_ID_LEN), GFP_KERNEL); if (!imagePR) { flash_area = NONE; return flash_area; } if (fwu->force_update) { flash_area = UI_FIRMWARE; goto exit; Loading Loading @@ -1397,6 +1403,10 @@ static int fwu_do_read_config(void) kfree(fwu->read_config_buf); fwu->read_config_buf = kzalloc(fwu->config_size, GFP_KERNEL); if (!fwu->read_config_buf) { retval = -ENOMEM; goto exit; } block_offset[1] |= (fwu->config_area << 5); Loading
drivers/input/touchscreen/synaptics_i2c_rmi4.c +411 −89 File changed.Preview size limit exceeded, changes collapsed. Show changes
drivers/input/touchscreen/synaptics_i2c_rmi4.h +22 −3 Original line number Diff line number Diff line Loading @@ -5,7 +5,7 @@ * * Copyright (C) 2012 Alexandra Chin <alexandra.chin@tw.synaptics.com> * Copyright (C) 2012 Scott Lin <scott.lin@tw.synaptics.com> * Copyright (c) 2013-2014, The Linux Foundation. All rights reserved. * Copyright (c) 2013-2015, The Linux Foundation. All rights reserved. * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by Loading Loading @@ -35,6 +35,11 @@ #include <linux/earlysuspend.h> #endif #include <linux/debugfs.h> #if defined(CONFIG_SECURE_TOUCH) #include <linux/completion.h> #include <linux/atomic.h> #include <linux/clk.h> #endif #define PDT_PROPS (0x00EF) #define PDT_START (0x00E9) Loading Loading @@ -72,6 +77,10 @@ #define NAME_BUFFER_SIZE 256 #define PINCTRL_STATE_ACTIVE "pmx_ts_active" #define PINCTRL_STATE_SUSPEND "pmx_ts_suspend" #define PINCTRL_STATE_RELEASE "pmx_ts_release" /* * struct synaptics_rmi4_fn_desc - function descriptor fields in PDT * @query_base_addr: base address for query registers Loading Loading @@ -266,8 +275,18 @@ struct synaptics_rmi4_data { #endif #endif struct pinctrl *ts_pinctrl; struct pinctrl_state *gpio_state_active; struct pinctrl_state *gpio_state_suspend; struct pinctrl_state *pinctrl_state_active; struct pinctrl_state *pinctrl_state_suspend; struct pinctrl_state *pinctrl_state_release; #if defined(CONFIG_SECURE_TOUCH) atomic_t st_enabled; atomic_t st_pending_irqs; bool st_initialized; struct completion st_powerdown; struct completion st_irq_processed; struct clk *core_clk; struct clk *iface_clk; #endif }; enum exp_fn { Loading