Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 80bc9b31 authored by Linux Build Service Account's avatar Linux Build Service Account Committed by Gerrit - the friendly Code Review server
Browse files

Merge "input: synaptics_dsx: change permission for sysfs secure_touch_enable"

parents 60102c3d a9e20f6d
Loading
Loading
Loading
Loading
+4 −1
Original line number Diff line number Diff line
@@ -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
@@ -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;
+1 −1
Original line number Diff line number Diff line
@@ -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);
+11 −1
Original line number Diff line number Diff line
@@ -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;
@@ -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);

+411 −89

File changed.

Preview size limit exceeded, changes collapsed.

+22 −3
Original line number Diff line number Diff line
@@ -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
@@ -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)
@@ -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
@@ -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 {