msm: kgsl: Enable adreno225 firmware for 8960v3

There is a hardware fix between 8960v2 and 8960v3 that affects which
version of adreno225 firmware is used.  There is no difference in
the chipid in adreno225 so do a runtime check to determine the
firmware to load.

Conflicts:
	drivers/gpu/msm/adreno.c

Change-Id: Icf33a8fe77f3fdec1f9ed91f4bcb133ed6fc1a15
Signed-off-by: Hareesh Gundu <hareeshg@codeaurora.org>
video: msm: Send ETIMEDOUT on update-notify timeout

Send the ETIMEDOUT errno when the update-notify wait_for_completion times
out. This is required to be able to properly handle the different failure
cases in the functions that use the update notify ioctl.

Change-Id: I0e46b0b0c89f6b2e5beb3fc0ed18ebbb75dfa434
Signed-off-by: Carl Vanderlip <carlv@codeaurora.org>
Signed-off-by: Pravin Tamkhane <pravint@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>
USB: gadget: diag: Take spin lock while freeing requests

Freeing USB requests and retiring pending requests can happen in
parallel.  Take spin lock while freeing requests to prevent list
corruption.  Ensure all stale requests are freed before allocating
new requests upon next cable connection.

CRs-Fixed: 436769
Change-Id: Ia5d00844c864c007727a848dc726ec04df137cb9
Signed-off-by: Pavankumar Kondeti <pkondeti@codeaurora.org>
msm: mdm2: Decrease leakage before QSC power-up

Cleanup of IPC gpios for driver strength and toggle
AP2MDM_STATUS only after AP2MDM_KPD_PWR is toggled, this
will decrease the leakage from MSM to QSC before QSC
powering up.

CRs-Fixed: 460500
Change-Id: Iabfa34331b613dd66577e485572a809440cf5272
Signed-off-by: Taniya Das <tdas@codeaurora.org>
Merge "msm: kgsl: Enable adreno225 firmware for 8960v3"
Merge "msm: mdm2: Decrease leakage before QSC power-up"
Merge "USB: gadget: diag: Take spin lock while freeing requests"
Merge "power: pm8921-charger: NULL check in 'external_power_changed' callback"
Merge "video: msm: Send ETIMEDOUT on update-notify timeout"
power: pm8921-charger: get rid of using LPM

The LPM is causing a lot of regression on various test cases
1. Writes to charger have become complex
2. There is uncertainty about whether battery insertion/removal could be
detected reliably.

LPM was introduced to prevent lockups from happening when the charger
was running in hw based clock switching while it was suspended. UVLO
lockups were not seen if the charger was running from 19.2Mhz.

Instead activate LPM mode only while the system is suspended and always
force 19.2Mhz when not suspended. This way we avoid the complexities
with writes, can detect battery insertion/removal as long as the system
is not suspended and more importantly fix the UVLO issue since we will
never be running in hw clk switching mode.

Change-Id: I94510311b503c21ec659a96982010435abdbcfaf
Signed-off-by: Abhijeet Dharmapurikar <adharmap@codeaurora.org>
Merge "power: pm8921-charger: get rid of using LPM"