summaryrefslogtreecommitdiff
path: root/drivers
diff options
context:
space:
mode:
authorLinux Build Service Account <lnxbuild@localhost>2018-03-15 05:42:55 -0700
committerGerrit - the friendly Code Review server <code-review@localhost>2018-03-15 05:42:55 -0700
commit4a12fa6291ddc99b8e53274defe41ab4b2cbcd22 (patch)
treeda6a90fbd634553e871fb5788771d50d9db14187 /drivers
parentf6a96c6a85e9ab7e2d6ee4fc1b942b1516354735 (diff)
parent741edf0dd64b31459f777588be7d620d226672fc (diff)
Merge "input: touchscreen: Fix uninitialized variable usage in Atmel driver"
Diffstat (limited to 'drivers')
-rw-r--r--drivers/input/touchscreen/atmel_maxtouch_ts.c41
1 files changed, 25 insertions, 16 deletions
diff --git a/drivers/input/touchscreen/atmel_maxtouch_ts.c b/drivers/input/touchscreen/atmel_maxtouch_ts.c
index f58fc8555156..712a278c9d1e 100644
--- a/drivers/input/touchscreen/atmel_maxtouch_ts.c
+++ b/drivers/input/touchscreen/atmel_maxtouch_ts.c
@@ -1,7 +1,7 @@
/*
* Atmel maXTouch Touchscreen driver
*
- * Copyright (c) 2014-2015, The Linux Foundation. All rights reserved.
+ * Copyright (c) 2014-2015, 2018 The Linux Foundation. All rights reserved.
*
* Linux foundation chooses to take subject only to the GPLv2 license terms,
* and distributes only under these terms.
@@ -529,6 +529,8 @@ static ssize_t mxt_debug_msg_read(struct file *filp, struct kobject *kobj,
static int mxt_debug_msg_init(struct mxt_data *data)
{
+ int ret;
+
sysfs_bin_attr_init(&data->debug_msg_attr);
data->debug_msg_attr.attr.name = "debug_msg";
data->debug_msg_attr.attr.mode = 0666;
@@ -536,11 +538,20 @@ static int mxt_debug_msg_init(struct mxt_data *data)
data->debug_msg_attr.write = mxt_debug_msg_write;
data->debug_msg_attr.size = data->T5_msg_size * DEBUG_MSG_MAX;
- if (sysfs_create_bin_file(&data->client->dev.kobj,
- &data->debug_msg_attr) < 0)
- dev_info(&data->client->dev, "Debugfs already exists\n");
+ ret = sysfs_create_bin_file(&data->client->dev.kobj,
+ &data->debug_msg_attr);
+ if (ret < 0) {
+ if (ret == -EEXIST) {
+ dev_info(&data->client->dev,
+ "Debugfs already exists\n");
+ ret = 0;
+ } else {
+ dev_err(&data->client->dev,
+ "Failed to create 'debug_msg' file\n");
+ }
+ }
- return 0;
+ return ret;
}
static void mxt_debug_msg_remove(struct mxt_data *data)
@@ -1462,7 +1473,7 @@ static int mxt_t6_command(struct mxt_data *data, u16 cmd_offset,
u8 value, bool wait)
{
u16 reg;
- u8 command_register;
+ u8 command_register = 0;
int timeout_counter = 0;
int ret;
@@ -1567,7 +1578,7 @@ static int mxt_check_retrigen(struct mxt_data *data)
{
struct i2c_client *client = data->client;
int error;
- int val;
+ int val = 0;
if (data->pdata->irqflags & IRQF_TRIGGER_LOW)
return 0;
@@ -1612,9 +1623,11 @@ static int mxt_update_t100_resolution(struct mxt_data *data)
struct i2c_client *client = data->client;
int error;
struct mxt_object *object;
- u16 range_x, range_y, temp;
- u8 cfg, tchaux;
- u8 aux;
+ u16 range_x = 0;
+ u16 range_y = 0;
+ u16 temp;
+ u8 cfg = 0;
+ u8 tchaux, aux;
bool update = false;
object = mxt_get_object(data, MXT_TOUCH_MULTITOUCHSCREEN_T100);
@@ -1653,10 +1666,6 @@ static int mxt_update_t100_resolution(struct mxt_data *data)
if (range_x == 0)
range_x = 1023;
- /* Handle default values */
- if (range_x == 0)
- range_x = 1023;
-
if (range_y == 0)
range_y = 1023;
@@ -1728,8 +1737,8 @@ static int mxt_update_t9_resolution(struct mxt_data *data)
{
struct i2c_client *client = data->client;
int error;
- struct t9_range range;
- unsigned char orient;
+ struct t9_range range = {0};
+ unsigned char orient = 0;
struct mxt_object *object;
u16 temp;
bool update = false;