input: touchscreen: Change late_init call to module_init

Change late_initcall usage in goodix driver to module_init.

Change-Id: I59681138448584fc7a04c95dc8af3d4c3d395ff0
CRs-fixed: 563946
Signed-off-by: Shantanu Jain <shjain@codeaurora.org>
input: touchscreen: Convert Goodix driver to dev_pm_ops

Convert Goodix driver to dev_pm_ops.
Add return type and parameters for suspend/resume for
Goodix driver.

Change-Id: I5243d9ab801f6964e675ad37c2161beda3586dfe
CRs-fixed: 567703
Signed-off-by: Shantanu Jain <shjain@codeaurora.org>
input: synaptics_fw_update: Parse the firmware_id only once

Firmware_id parsed two times. Remove the dead code and parse
the firmware_id only once.

Change-Id: I10c373332aab328c8ed6c2583194141f4182ac06
Signed-off-by: Sarada Prasanna Garnayak <c_sgarna@codeaurora.org>
input: synaptics_i2c_rmi4: Add check to avoid memory leak

Add conditions to check if fhandler already exists in the list
or not. If exists, then free the memory allocated to the new
fhandler. Otherwise add the fhandler to the list.
Change the location of INIT_LIST_HEAD() call to avoid
memory leak.

CRs-fixed: 575094
Signed-off-by: Shantanu Jain <shjain@codeaurora.org>
Change-Id: Iaf1429b911baffa53f968c0ca986fec190100ded
input: synaptics_i2c_rmi4: Properly initialize touch controller

When initializing the touch controller, set sleep mode off bit and
re-check configuration in order to save power.

Change-Id: I70cc294a536c69109a6292a671f85593ffb09e3e
Signed-off-by: Amy Maloche <amaloche@codeaurora.org>
input: synaptics: Correct sysfs permissions

Set correct permissions for write-only sysfs nodes. Show method
of such attributes is set to NULL to make CTS tests pass.

Change-Id: Ic37b2c5c67f9e68f9a2f06e379e0aed5cdb756bd
CRs-Fixed: 573711
Signed-off-by: Himanshu Aggarwal <haggarwa@codeaurora.org>
input: touchscreen: pull down reset and interrupt pin before GT9xx powerup

According to vendor's suggestion, reset pin and interrupt pin must be
pulled down before touchpanel controller power up. This is required
for all Goodix devices.

Change-Id: If16fab02967abbd0c2a6e4365fed76f9e8729bc2
Signed-off-by: Bingzhe Cai <bingzhec@codeaurora.org>
input: synaptics_i2c_rmi4: synchronize access to support_fn_list

Synchronize access to support_fn_list to avoid race conditions.

Change-Id: I13b8e99f0c4914046c745b0232a9ce3f792bba47
Signed-off-by: Himanshu Aggarwal <haggarwa@codeaurora.org>
input: touchscreen: Add threaded irq support to Goodix driver

Add threaded irq support to Goodix touchscreen driver to reduce
the time spent with interrupts diabled to a bare minimum by
pushing the processing out into the kernel thread.

CRs-fixed: 563900
Change-Id: I3ade13181957d327ad9d0266b1999a4b0f2d8d1a
Signed-off-by: Shantanu Jain <shjain@codeaurora.org>
input: synaptics_i2c_rmi4: Reinitialize list after freeing it

During firmware update and device reset through sysfs, query info
needs to be updated in support_fn_list. However, both these procedures
free the existing list before updation without setting its list head
to consistent state. Reinitialize the list head of support_fn_list
to avoid memory fault during updation.

CRs-Fixed: 589295
Change-Id: I560e2df53d258e273ff9890c7c62b90a58a423f7
Signed-off-by: c_sgarna <c_sgarna@codeaurora.org>
input: touchscreen: request threaded-only IRQs with IRQF_ONESHOT

Threaded IRQs without primary handler need to be requested with
IRQF_ONESHOT, otherwise the request will fail. This patch adds the
IRQF_ONESHOT to the focaltech touchscreen driver where it is
missing.

Change-Id: I429f48126bd5d28c6dbf6ba846175d5e643dd436
Signed-off-by: Shantanu Jain <shjain@codeaurora.org>
input: touchscreen: Fix issues in suspend path

Fix issues in suspend path in Goodix driver.

Change-Id: I280f2201c69838ad4da8eb94e9f10768f54ed457
Signed-off-by: Himanshu Aggarwal <haggarwa@codeaurora.org>4
input: touchscreen: Change dev_pm_ops for Goodix driver

Convert the driver to dev_pm_ops from SIMPLE_DEV_PM_OPS
in Goodix TS driver to reduce suspend/resume latency

CRs-Fixed: 580866
Change-Id: I45690b239c73f636538b864f0c4a7e539a02eedb
Signed-off-by: Shantanu Jain <shjain@codeaurora.org>
msm: qdsp6v2: Deleting kernel driver from arch/arm/mach-msm/qdsp6v2

Driver is registering under misc driver but exists under arch/arm/mach

Change-Id: I0930d3f56767569edefa1af3c7d45a724a219ce3
CRs-Fixed: 548017
Signed-off-by: Mohammad Johny Shaik <mjshai@codeaurora.org>
msm: qdsp6v2: Deleting kernel driver from arch/arm/mach-msm

Drivers are registering under misc driver but exists under arch/arm/mach

Change-Id: I6210ed2ffbc38608914fb765b8e50ac6d97950ff
CRs-Fixed: 554492
Signed-off-by: Asish Bhattacharya <asishb@codeaurora.org>
Signed-off-by: Mohammad Johny Shaik <mjshai@codeaurora.org>
msm: pil-msa: Fix authentication error path

Once the Q6 has booted, it is not possible to access
MSS registers. If there is an error during the auth
process, don't attempt to touch those registers.

Also, ensure that MSS_RESTART is re-asserted in the
error path as well.

Change-Id: I1e062f73f1dfdbf60c038c61f5ccd7358e81c702
Signed-off-by: Vikram Mulukutla <markivx@codeaurora.org>
sensors: change the ssc sensor class driver name

Change the ssc sensor class driver name from "sensors" to "ssc".
The ssc daemon will use the file "/dev/sensors", so this change
will not affect anything.

Change-Id: I0fbca0e4eeda18e6bedf7402b632114be1f9c3f8
Signed-off-by: Jie Cheng <rockiec@codeaurora.org>