power: qpnp-charger: adaptive input current limiting interface

Expose the following new power supply framework properties
to allow adaptive input current limiting to take place
from userspace applications:

  * POWER_SUPPLY_PROP_INPUT_VOLTAGE_REGULATION
  * POWER_SUPPLY_PROP_INPUT_CURRENT_MAX

Note that INPUT_CURRENT_MAX is configured to be writeable
and allows to configure the input current limting for the
USB charge path.

CRs-Fixed: 457381
Change-Id: I4a9cdb72dbbcf32d553e9d1396940d49dc454a4d
Signed-off-by: David Keitel <dkeitel@codeaurora.org>
power: qpnp-charger: do not reset iusbmax

In the current implementation if the charger_monitor
bit is set and external_power_supply_changed callback
is called the USB input current limit may be reconfigured
to the USB_WALL_THRESHOLD_MA value.

Fix this by only allowing the input current limit for usb
to be changed through the external_power_supply_change
callback if it has changed from the previous requested
value.

CRs-Fixed: 457381
Change-Id: Ic85941740bc3e9131d68feb8e4ec41621c95abb8
Signed-off-by: David Keitel <dkeitel@codeaurora.org>