regulator: fan53555: Modify Chip Id

In latest data sheet, Chip Id of 09x part is changed to 12.
Also dump the contents of all the registers at the end of
probe routine.

Change-Id: I36d22bacdce12f3a8bbcff8215b4ba5b21cd9709
Signed-off-by: Tirupathi Reddy <tirupath@codeaurora.org>
regulator: fan53555:  Add regulator driver at fs initcall

Add the fan53555 regulator driver at fs initcall as i2c_gpio
driver initialized at subsys_init. This resolves the dependency
chain.

Change-Id: I5364e0298e8ba47a9bdd06cbf86b1d1633369e68
Signed-off-by: Tirupathi Reddy <tirupath@codeaurora.org>
regulator: fan53555: Add slew delay API

During voltage switch, buck regulator takes certain time to
reach the new setpoint. Software should put certain delay after
issuing a set voltage command. This delay depends on number steps
of voltage switch.

Add slew delay API to set delay depends on the number of steps change
in voltage.

Change-Id: I9a32ae4052d03b25c940cf2e6e6e9e2bf9070d4c
Signed-off-by: Tirupathi Reddy <tirupath@codeaurora.org>
regulator: fan53555: Do not use regmap_update_bits

regmap_update_bits does a read-modify-write while updating
the device registers. This involves an unwanted read
operation which can be avoided by storing the register
value locally.

Also, make sure that the i2c read call required for
debug is enabled selectively.

Change-Id: I546b44233ef53209f424df47cc0a316975893cbe
Signed-off-by: Tirupathi Reddy <tirupath@codeaurora.org>
regulator: fan53555: API to configure the regulator during reboot

In cases when the device is not completely turned off (reboot)
the regulator registers are not reset. This can cause the device to
boot at the same voltage at which it went down, leading to
instability. Add an API to set the default voltage.

Also, call this API before the APPS goes for a restart on 8x25q.

Change-Id: Ibb388134afbb852e2fa52bfb18c2b53408cfbbc2
Signed-off-by: Tirupathi Reddy <tirupath@codeaurora.org>
msm: 8x25Q: Make regulator handle generic

Since, 8x25Q supports more than one external buck regulator.
Its better to have generic name for external buck regulator handle.

Change-Id: Ibafea422bfc5260816d76bd00da701f6d402c7a7
Signed-off-by: Tirupathi Reddy <tirupath@codeaurora.org>
msm: cpr: Calculate voltage step_size runtime.

8625Q uses external buck regulator for APC power source.
The external regulator's voltage step size may change with
the manufacturer. Some of the CPR parameters depend on voltage step
size. Provide a way to find the voltage step size at runtime.

Change-Id: Ia4e43b0a9e8387290dbe0d0771c83b523234179d
Signed-off-by: Tirupathi Reddy <tirupath@codeaurora.org>
msm: qrd7627a: Add device info for FAN53555 external regulator

MSM8625q supports an external SMPS buck (FAN53555) to control
the APPS core voltage. This regulator is controlled via the I2C
interface.

Change-Id: I09ba7ee78fd419fb372083e9892d3df1ca6d2268
Signed-off-by: Tirupathi Reddy <tirupath@codeaurora.org>
defconfig: 7627a: Enable FAN53555 external regulator

8625q supports the FAN53555 regulator over the I2C interface
to control APPS core voltage.

Change-Id: Ibe20560ffcd34aa13bfa815a92008af543bf48b8
Signed-off-by: Tirupathi Reddy <tirupath@codeaurora.org>
Merge "regulator: fan53555: Modify Chip Id"
Merge "regulator: fan53555:  Add regulator driver at fs initcall"
Merge "regulator: fan53555: Add slew delay API"
Merge "regulator: fan53555: Do not use regmap_update_bits"
Merge "regulator: fan53555: API to configure the regulator during reboot"
Merge "msm: 8x25Q: Make regulator handle generic"
Merge "msm: cpr: Calculate voltage step_size runtime."
Merge "msm: qrd7627a: Add device info for FAN53555 external regulator"
Merge "defconfig: 7627a: Enable FAN53555 external regulator"
msm: rq_stats: Support to know cpu utilization in userspace

Support to read utilization stats from userspace, used by
mpdecision. This implementation is independent of governor
and sampling rates.

(cherry pick from: 85dd2b86b9240c34ad79e4bf6145958d5af806b1)

Conflicts:

	arch/arm/mach-msm/msm_rq_stats.c

Change-Id: Id372a1a9bfbf439bd015fb6d91996bb79edca4a6
Signed-off-by: Narayanan Gopalakrishnan <nargop@codeaurora.org>
Signed-off-by: Murali Nalajala <mnalajal@codeaurora.org>
msm: rq_stats: remove io_is_busy from load computation

Existing runqueue implementatoin assumes io_is_busy is set.
This causes huge frequency scaling. So remove this assumption
from the code.

CR-fixed: 455060
Change-Id: Iec3e5a4d2c787a51e23961b54292f9ab59e69ea2
Signed-off-by: Murali Nalajala <mnalajal@codeaurora.org>