[PATCH v2 42/49] Input: Atmel: Improve error handling in mxt_initialize_input_device()

From: Jiada Wang
Date: Tue Aug 27 2019 - 02:31:29 EST


From: Deepak Das <deepak_das@xxxxxxxxxx>

Currently Driver probe continues with a warning message when it fails to
get the proper multitouch object configurations like TouchScreen resolution.
But Driver probe should fail in case of above scneario because it will not behave
as expected without the proper touchscreen configurations.

This commit modifies mxt_initialize_input_device() to return error when it fails
to get the proper touch screen configurations.

Signed-off-by: Deepak Das <deepak_das@xxxxxxxxxx>
Signed-off-by: Dean Jenkins <Dean_Jenkins@xxxxxxxxxx>
Signed-off-by: George G. Davis <george_davis@xxxxxxxxxx>
Signed-off-by: Jiada Wang <jiada_wang@xxxxxxxxxx>
---
drivers/input/touchscreen/atmel_mxt_ts.c | 12 ++++++++----
1 file changed, 8 insertions(+), 4 deletions(-)

diff --git a/drivers/input/touchscreen/atmel_mxt_ts.c b/drivers/input/touchscreen/atmel_mxt_ts.c
index 716b91e6fd66..41d92d765aa2 100644
--- a/drivers/input/touchscreen/atmel_mxt_ts.c
+++ b/drivers/input/touchscreen/atmel_mxt_ts.c
@@ -2759,15 +2759,19 @@ static int mxt_initialize_input_device(struct mxt_data *data)
case MXT_TOUCH_MULTI_T9:
num_mt_slots = data->T9_reportid_max - data->T9_reportid_min + 1;
error = mxt_read_t9_resolution(data);
- if (error)
- dev_warn(dev, "Failed to initialize T9 resolution\n");
+ if (error) {
+ dev_err(dev, "Failed to initialize T9 resolution\n");
+ return error;
+ }
break;

case MXT_TOUCH_MULTITOUCHSCREEN_T100:
num_mt_slots = data->num_touchids;
error = mxt_read_t100_config(data);
- if (error)
- dev_warn(dev, "Failed to read T100 config\n");
+ if (error) {
+ dev_err(dev, "Failed to read T100 config\n");
+ return error;
+ }
break;

default:
--
2.19.2