input: synaptics_fw_update: Add sysfs entry to expose Config ID

Config ID is used to differentiate between different versions of
configuration data on the panel and is needed for debugging.

Change-Id: Iaa66ff8e328d0480d2e4ce4fc0d9f57434dc7b86
Signed-off-by: Amy Maloche <amaloche@codeaurora.org>
Signed-off-by: Shantanu Jain <shjain@codeaurora.org>
input: synaptics: driver updates

 - remove module detection thread queue
 - update driver version check

Change-Id: Id2ccdcc99c4484a94a4945c4e1e51066b67c1529
[amaloche@codeaurora.org: Added subject line]
Signed-off-by: Amy Maloche <amaloche@codeaurora.org>
Signed-off-by: Shantanu Jain <shjain@codeaurora.org>
input: synaptics: update license and driver version

 - Change license to GPL v2
 - Driver version 1.2

Change-Id: I4603c0bfd1c452fa4bf4ea1ee0929745a24a4cc2
[amaloche@codeaurora.org: Added subject line]
Signed-off-by: Amy Maloche <amaloche@codeaurora.org>
Signed-off-by: Shantanu Jain <shjain@codeaurora.org>
input: synaptics_i2c_rmi4: Add regulator support

Add support for regulators to be controlled from driver
side.  This includes configuration and enablement.

Change-Id: I899dec377c4b766749d3f70b80a51f3c21757911
Signed-off-by: Amy Maloche <amaloche@codeaurora.org>
Signed-off-by: Shantanu Jain <shjain@codeaurora.org>
input: synaptics_i2c_rmi4: Add GPIO configuration support

Add GPIO support to driver.  This includes setup and delays
required for gpio toggling during device bootup.

Change-Id: I7945ac26d3655902346a4969ac264311a96d3cbf
Signed-off-by: Amy Maloche <amaloche@codeaurora.org>
Signed-off-by: Shantanu Jain <shjain@codeaurora.org>
defconfig: Enable RMI4 synaptic touch panel

Enable RMI4 synaptic touch panel

Change-Id: Id2fc7c96fe5620e5c15a538462e62281d6730ded
Signed-off-by: Shantanu Jain <shjain@codeaurora.org>
msm_fb: display: free pipe if blt is detected for the pipe

Once blt is detected, overlay set will return fail to disable blt
mode, but the pipe was already allocated, so it is necessary to free
the pipe before overlay set returns to userspace.

Change-Id: Id9352c65a890b594ea15c85571233090c1f7d323
Signed-off-by: Huaibin Yang <huaibiny@codeaurora.org>
power: pm8921-bms: Prevent SOC jumps while charging

The BMS driver scales the SOC while charging based on the charge
current. It does not scale when it sees that the battery voltage at
terminals have fallen 10mV below the max current, the reason being a
current spike that causes the voltage to droop.

However there is a corner case when the voltage could droop but not by
10mV. In this case the BMS will report a higher SOC value, since the
charge current most likely has reduced.  This is incorrect.

Fix this behavior by showing the previous SOC value under severe system
load while charging. Note that when the vdd max adjusting algorithm in
charger reduces the vdd max value, the battery terminal voltage reduces
causing this scheme to treat it as a current spike. This is fine as it
will scale SOC correctly the next time it does a calculation.

Change-Id: I48ba7382b06ed90fb253dfbbaa4a406c1b8ce6eb
Signed-off-by: Abhijeet Dharmapurikar <adharmap@codeaurora.org>
msm: display: provide mdp bandwidth parameters from board file

Underrun issues can be solved by changing mdp bandwidth parameters:
max_bw, ab_factor and ib_factor. However these parameters are not
universally same for all targets, and one set of values that works for
one target could cause underruns or higher power on other
targets. This is board side change.

CRs-Fixed: 464492
Change-Id: I2a8fbb9018011ddf42dfa50b371e450e38f4351a
Signed-off-by: Huaibin Yang <huaibiny@codeaurora.org>
msm_fb: display: get mdp bandwidth parameters from board file

Underrun issues can be solved by changing mdp bandwidth parameters:
max_bw, ab_factor and ib_factor. However these parameters are not
universally same for all targets, and one set of values that works for
one target could cause underruns or higher power on other
targets. This change is driver change which makes those parameters
target dependent.

CRs-Fixed: 464492
Change-Id: Ib23ebc431caabbe91c7ae3bd96bb38789d7ddc90
Signed-off-by: Huaibin Yang <huaibiny@codeaurora.org>

Conflicts:
	drivers/video/msm/mdp.c
	drivers/video/msm/mdp4_overlay.c
Merge "msm: board-8930-gpiomux: Add 8x30 SGLTE gpios"
Conflicts:
	arch/arm/mach-msm/board-8930-gpiomux.c
power: pm8921-bms: fix divide by 0 issue when charging

The current code can divide by zero in the scale_soc_while_chg
function if calculated_soc drops while charging.

Fix the issue by not scaling soc if catch_up_time_us is zero.

CRs-Fixed: 418419
Change-Id: I9f38515f35fcddfbdc34ae4f59ffcfc6682033d4
Signed-off-by: Xiaozhe Shi <xiaozhes@codeaurora.org>
power: pm8921-charger: NULL check in 'external_power_changed' callback

The power-supply framework internally calls power_supply_changed
after registering a power-supply type. This ends up calling
'external_power_changed' callback which unconditionally
accesses 'the_chip' pointer (which gets initialized later).
Fix this by adding a NULL check.

CRs-Fixed: 466083
Change-Id: I75a58ca5ab37e44454f139a2644ab316afe3c4b8
Signed-off-by: Anirudh Ghayal <aghayal@codeaurora.org>
msm: camera: Camera sensor bringup on 8930 EVT SGLTE

ov8825 & ov9724 sensor drivers added on 8930 EVT

Change-Id: I10f2fe984e2dba70d3f027f1aff39b41a01aed3c
Signed-off-by: Raju P.L.S.S.S.N <rplsssn@codeaurora.org>
defconfig: enable ov8825 & ov9724 camera sensors

Enable ov8825 & ov9724 camera sensors for 8930 sglte

Change-Id: I23f33a9fe70cb54923e09dfa6f5a00bc60dba95f
Signed-off-by: Raju P.L.S.S.S.N <rplsssn@codeaurora.org>
USB: mdm_bridge: Fix probe error path

The platform device is not unregistered in probe error path.  The
platform device is added again during next probe and it fails.  But
the return value is not checked.  Kernel panic happens when platform
device is removed during disconnect.

CRs-Fixed: 465508
Change-Id: I4db613e72d8b405f10cde0d1335d231cf5079e64
Signed-off-by: Pavankumar Kondeti <pkondeti@codeaurora.org>