pwm: qpnp: provide both nsec/usec-supported pwm config() functions

Now implement pwm_config() to support nanosecond parameters, which
has better granularity in some situation, for example, if the number
of backlight brightness levels is 256, using microseond parameters
will only get nearly 50 levels.

But Qualcomm platform should support 384 seconds pwm-period at most,
the above standard API couldn't satisfy the requirement of the bigger
period, so we also provide pwm_config_us() this such platform related
API.

CRs-Fixed: 545809
Change-Id: Ia3ea9904141f69c1f40a8619ba8d9fe891e3460a
Signed-off-by: Xu Kai <kaixu@codeaurora.org>
pwm: qpnp: modify to use pwm_config_us() for some qcom drivers

Kernel 3.10 defines pwm_config() to use nanosecond parameters, but
now some qcom drivers still use pwm_config() to pass microsecond
parameters. pwm-qpnp driver has already provided a new API called
pwm_config_us() to support microsecond parameters, so we should
modify to use pwm_config_us() instead of pwm_config() for these
drivers.

CRs-Fixed: 587715
Change-Id: I222440bb7636972b9ae35eba175ddffc58095ce8
Signed-off-by: Xu Kai <kaixu@codeaurora.org>
Merge "Merge "msm: mdss: fix display corruption on 720p panel""
Merge "Merge "Merge "msm: mdss: fix display corruption on 720p panel"""
Merge "pwm: qpnp: provide both nsec/usec-supported pwm config() functions"
Merge "pwm: qpnp: modify to use pwm_config_us() for some qcom drivers"
Merge "Merge "pwm: qpnp: modify to use pwm_config_us() for some qcom drivers""
ASoC: msm: qdsp6v2: Fix ion_import failure

When ion_import_legacy api fails,we should not
destory the client instead just bail out.

CRs-Fixed: 620370
Change-Id: Icbcf4dadd5f00e1cf4d7a356ee1c0f5835dcb4c4
Signed-off-by: Anish Kumar <kanish@codeaurora.org>
Merge "Merge "Merge "pwm: qpnp: modify to use pwm_config_us() for some qcom drivers"""
Merge "Merge "pwm: qpnp: modify to use pwm_config_us() for some qcom drivers""
Merge "Merge "Merge "pwm: qpnp: modify to use pwm_config_us() for some qcom drivers"""
leds: leds-qpnp: PWM period granularity auto selection for leds

Some leds use PWM wave to control the brightness. The original
period granularity is using microsecond by default, it's a very
large granularity and will cause some user experience issues on
leds' brightness.

Auto select the PWM period granularity between microsecond and
nanosecond according to the range that hardware can support.

CRs-Fixed: 622683
Change-Id: I0669a0c88ca2ba491f0a53be6070476d61374d72
Signed-off-by: Xu Kai <kaixu@codeaurora.org>
leds: leds-qpnp: avoid calling pwm_disable when scaling leds' brightness

The LPG hardware supports dynamically changing the duty cycle
without disabling the output. So pwm_disable calling can be
removed when setting nonzero brightness level, which avoid the
delays of the PWM wave output when changing PWM configuration.

CRs-Fixed: 622683
Change-Id: I8c5bdef1992c41f73fe16cce615b2d1d6dad7775
Signed-off-by: Xu Kai <kaixu@codeaurora.org>
Merge "leds: leds-qpnp: PWM period granularity auto selection for leds"
Merge "leds: leds-qpnp: avoid calling pwm_disable when scaling leds' brightness"
Revert "NFC: Continue probe if i2c poke fails"

This reverts commit 1e21cab3279c4d9f08932476c495a2dc6778ed77

Change-Id: I692559015cf71452b053c0cfe4bb5bad5a922acc
Merge "Merge "leds: leds-qpnp: avoid calling pwm_disable when scaling leds' brightness""
Merge "Revert "NFC: Continue probe if i2c poke fails""
Merge "Merge "Merge "leds: leds-qpnp: avoid calling pwm_disable when scaling leds' brightness"""
Merge "Merge "Revert "NFC: Continue probe if i2c poke fails"""