Commit graph

562979 commits

Author SHA1 Message Date
Abhijeet Dharmapurikar
c2783e3d75 spmi: pmic-arb: fix inconsistent use of ppid and chan
The driver currently uses "apid" and "chan" to mean apid. Remove
the use of chan and use only apid.

On a SPMI bus there is allocation to manage up to 4K peripherals.
However, in practice only few peripherals are instantiated
and only few among the instantiated ones actually interrupt.

APID is CPU's way of keeping track of peripherals that could interrupt.
There is a table that maps the 256 interrupting peripherals to
a number between 0 and 255. This number is called APID.Information about
that interrupting peripheral is stored in registers offset by its
corresponding number between 0 and 255.

Change-Id: Icdb82da24232a5382ed03b7437c3207db1befa94
Signed-off-by: Abhijeet Dharmapurikar <adharmap@codeaurora.org>
2016-03-01 12:22:46 -08:00
Abhijeet Dharmapurikar
20477f69c1 spmi: pmic-arb: rename spmi_pmic_arb_dev to spmi_pmic_arb
Usually *_dev best used for structures that embed a struct device in
them. spmi_pmic_arb_dev doesn't embed one. It is simply a driver data
structure. Use an appropriate name for it.

Change-Id: I432eeb0273cac78638440cd00c64cc568ccd68c5
Signed-off-by: Abhijeet Dharmapurikar <adharmap@codeaurora.org>
2016-03-01 12:22:46 -08:00
Abhijeet Dharmapurikar
eb187ad622 spmi: pmic-arb: cleanup 1 << X to use BIT(X)
There are many places in the driver that left shift the bit to
generate a bit mask. It is simpler to use BIT() macro.

Change-Id: I05ac8469304458a0f26aafd1292fcbb65d312f0a
Signed-off-by: Abhijeet Dharmapurikar <adharmap@codeaurora.org>
2016-03-01 12:22:46 -08:00
Abhijeet Dharmapurikar
a0d789a173 spmi: pmic_arb: block access of invalid read and writes
The system crashes due to bad access when reading from an non configured
peripheral and when writing to peripheral which is not owned by current
ee. This patch verifies ownership to avoid crashing on
write.

For reads, since the forward mapping table, data_channel->ppid, is
towards the end of the block, we use the core size to figure the
max number of ppids supported. The table starts at an offset of 0x800
within the block, so size - 0x800 will give us the area used by the
table. Since each table is 4 bytes long (core_size - 0x800) / 4 will
gives us the number of data_channel supported.

This new protection is functional on hw v2.

Change-Id: I74e3452963a7dda9a8c8aaef76de3117cabc454b
Signed-off-by: Abhijeet Dharmapurikar <adharmap@codeaurora.org>
2016-03-01 12:22:45 -08:00
Abhijeet Dharmapurikar
e194a2a225 spmi: pmic-arb: Support more than 128 peripherals
Add support for more than 128 peripherals by taking a lazy
caching approach to the mapping tables. Instead of reading and
caching the tables at boot given some fixed size, read them and
cache them on an as needed basis. We still assume a max size of
512 peripherals, trading off some space for simplicity.

Based on a patch by Gilad Avidov <gavidov@codeaurora.org> and
Sagar Dharia <sdharia@codeaurora.org>.

Change-Id: I90ae4100195eef3303b3d6501d3c3ffdbce085b7
Cc: Gilad Avidov <gavidov@codeaurora.org>
Cc: Sagar Dharia <sdharia@codeaurora.org>
Signed-off-by: Stephen Boyd <sboyd@codeaurora.org>
Signed-off-by: Abhijeet Dharmapurikar <adharmap@codeaurora.org>
2016-03-01 12:22:45 -08:00
Abhijeet Dharmapurikar
60402227ec gpio-usbdetect: use gpio instead of irq
The current driver uses irq_read_line api which is not standard.
Instead use a gpio and register for an interrupt when it changes
states. And upon a change in state interrupt is received, read the
gpio state to determine whether it is high or low.

Change-Id: Ie4b1226cedfb44e65a84349da4b3eef5fe988dff
Signed-off-by: Abhijeet Dharmapurikar <adharmap@codeaurora.org>
2016-03-01 12:22:45 -08:00
Abhijeet Dharmapurikar
8ee0110ce3 power: qpnp-fg: check for null return from revid getters
The get_revid_data() could return NULL. Check for this condition
in addition to checking for error conditions.

Change-Id: I3ddbb6645dae0fcfe4f667b8d7b09b2143fe5e2d
Signed-off-by: Abhijeet Dharmapurikar <adharmap@codeaurora.org>
2016-03-01 12:22:44 -08:00
Abhijeet Dharmapurikar
91f7116fd3 regulator: mem-acc-regulator: pass null descriptor to init_data parsing function
The regulator registration api's need a descriptor to access mode
matching functions. Pass in NULL since mem-acc-regulators don't use mode
matching functions.

Change-Id: I4a23021e004fa749715c246e4685df8c5b75131f
Signed-off-by: Abhijeet Dharmapurikar <adharmap@codeaurora.org>
2016-03-01 12:22:42 -08:00
Abhijeet Dharmapurikar
d4f721c522 regulator: proxy-consumer: replace set_optimum_mode with set_load
4.4 kernel has renamed regulator_set_optimum_mode api as regulator_set_load.
Update proxy-consumer to use it.

Change-Id: Ie56f8d26c1eadd4f2a12a5529683b8f402511e80
Signed-off-by: Abhijeet Dharmapurikar <adharmap@codeaurora.org>
2016-03-01 12:22:42 -08:00
Abhijeet Dharmapurikar
aa93a28f1e regulator: rpm-smd-regulator: pass descriptor to init_data parsing function
The regulator registration api's need a descriptor to access mode
matching functions. rpm-smd-regulators don't use that feature.
Pass in a descriptor with that function pointer set to NULL.

Change-Id: I4a23021e004fa749715c246e4685df8c5b75131f
Signed-off-by: Abhijeet Dharmapurikar <adharmap@codeaurora.org>
2016-03-01 12:22:42 -08:00
Abhijeet Dharmapurikar
3d72693d0a regulator: qpnp cpr3 kryo regulator: pass descriptor to init_data parsing function
The regulator registration api's need a descriptor to access mode
matching functions. qpnp-regulators, cpr3-regulators, kryo-regulators don't
use that feature. Pass in a descriptor with that function pointer set to NULL.

Change-Id: I0c89fa99c0b9960ce4e14e3a60ed55901bdd8b09
Signed-off-by: Abhijeet Dharmapurikar <adharmap@codeaurora.org>
2016-03-01 12:22:41 -08:00
Abhijeet Dharmapurikar
d20a687e0b regulator: spm_regulator: pass descriptor to init_data parsing function
The regulator registration api's need a descriptor to access mode
matching functions. spm-regualtors don't use that feature. Pass in a
descriptor with that function pointer set to NULL.

Change-Id: Ia37b1904e717369ff2f45012c2d43ec5f912b10b
Signed-off-by: Abhijeet Dharmapurikar <adharmap@codeaurora.org>
2016-03-01 12:22:41 -08:00
Abhijeet Dharmapurikar
4680135ddc msm: fix compiler errors/warnings in some drivers
fix compiler warnings/errors in some drivers.

Change-Id: Ibc47729b5c5b7c4277bd4666ec56fe8995548b88
Signed-off-by: Abhijeet Dharmapurikar <adharmap@codeaurora.org>
2016-03-01 12:22:41 -08:00
Abhijeet Dharmapurikar
a6fceb4732 power: qpnp-fg: skip return from alarm_start_relative
The 4.4 kernel changes alarm_start_relative() to return void.
Update the qpnp-fg driver to skip checking the return value.

Change-Id: I607d341875a73ce326244d6864a4f3f3e32099ed
Signed-off-by: Abhijeet Dharmapurikar <adharmap@codeaurora.org>
2016-03-01 12:22:40 -08:00
Abhijeet Dharmapurikar
0324b74b39 regulator: labibb: avail of simpler regulator registration api
Change,
a0c7b16 regulator: of: Provide simplified DT parsing method
enables to register a regulator without constructing an regulator_init_data
structure. The regulator_init_data is instantiated within the
registration api and is filled with information by parsing the regualtor
device node.

Avail of this convenience while registering regulators in the
driver.

Change-Id: I0d3c6e221b60a79ab011a180c7daa687b69580b1
Signed-off-by: Abhijeet Dharmapurikar <adharmap@codeaurora.org>
2016-03-01 12:22:40 -08:00
Abhijeet Dharmapurikar
d0f6370950 power: smb135x: smb1351: avail of simpler regulator registration api
Change,
a0c7b16 regulator: of: Provide simplified DT parsing method
enables to register a regulator without constructing an regulator_init_data
structure. The regulator_init_data is instantiated within the
registration api and is filled with information by parsing the regualtor
device node.

Avail of this convenience while registering OTG regulators in the
smb135x and smb1351 drivers.

Change-Id: I2eb2866f9941db797ede1676e92bb87b4a23c925
Signed-off-by: Abhijeet Dharmapurikar <adharmap@codeaurora.org>
2016-03-01 12:22:40 -08:00
Abhijeet Dharmapurikar
89b8a21c57 power: qpnp-smbcharger: avail of simpler regulator registration api
Change,
a0c7b16 regulator: of: Provide simplified DT parsing method
enables to register a regulator without constructing an regulator_init_data
structure. The regulator_init_data is instantiated within the
registration api and is filled with information by parsing the regualtor
device node.

Avail of this convenience while registering OTG regulators in the
qpnp-smbcharger driver.

Change-Id: I2ba14d3bea7d839f8055401d69d7461d2f54aa8e
Signed-off-by: Abhijeet Dharmapurikar <adharmap@codeaurora.org>
2016-03-01 12:22:40 -08:00
Abhijeet Dharmapurikar
8b5cc3d711 power_supply: update to the new registration scheme
The power_supply class in 4.4 kernel changes power_supply
registration to pass in a descriptor and a configuration
structure. Update msm power_supply registering drivers with
the new scheme.

Change-Id: Iaf63a96ab01f9d4676681ee4e6cf61ac2e8d3f4d
Signed-off-by: Abhijeet Dharmapurikar <adharmap@codeaurora.org>
2016-03-01 12:22:39 -08:00
Abhijeet Dharmapurikar
2a65148ba7 power_supply: use power_supply_set_property in lieu of internal apis
API's like
power_supply_set_supply_type
power_supply_set_online,
power_supply_set_present
power_supply_set_current_limit
power_supply_set_health_state
power_supply_set_supply_type
power_supply_set_dp_dm
can be replaced by using
power_supply_set_property introduced in the 4.4 kernel.

Update all such callsites to use power_supply_set_property.

Change-Id: I10df60c8012358b6773a8bd1802a26d9540ade9b
Signed-off-by: Abhijeet Dharmapurikar <adharmap@codeaurora.org>

Conflicts:
	drivers/power/qpnp-smbcharger.c
2016-03-01 12:22:39 -08:00
Abhijeet Dharmapurikar
3cb222ef93 power_supply: change getting and setting power supply properties
Replace all call sites which invoke the get/set_property apis on the
power_supply object with power_supply_get/set_property() api call.

Change-Id: Ibd4c5db6a50734f827878589df1f3e48a0062a06
Signed-off-by: Abhijeet Dharmapurikar <adharmap@codeaurora.org>
2016-03-01 12:22:39 -08:00
Mahesh Sivasubramanian
4a97bc2143 soc: qcom: spm: Fix uninitialized variable warning
Initialize local variable to 0 to fix uninitialized variable warning.

Change-Id: I8aa718e0656e2c89280292219400df8eae20ba7e
Signed-off-by: Mahesh Sivasubramanian <msivasub@codeaurora.org>
2016-03-01 12:22:38 -08:00
Mahesh Sivasubramanian
99fdd93a6d soc: qcom: spm: Replace __get_cpu_ptr
__get_cpu_ptr is now deprecated. Switch to using this_cpu_ptr

Change-Id: If9a6c5d886ef4dd4f82915220c5c954588ead096
Signed-off-by: Mahesh Sivasubramanian <msivasub@codeaurora.org>
2016-03-01 12:22:38 -08:00
Abhijeet Dharmapurikar
de64ab2e86 soc: spm: Snapshot of the SPM driver from 3.18 kernel
This is a snapshot of the SPM driver from 3.18 kernel. The upstream spm.c
file is used as a idle driver. So updated spm driver from 3.18 kernel to
msm-spm.c on 4.4 kernel.

Change-Id: I73b020214fdcc7eb695cf8f5b52cf7885a0a10cd
Signed-off-by: Mahesh Sivasubramanian <msivasub@codeaurora.org>
2016-03-01 12:22:38 -08:00
David Collins
f9157b4ed2 Revert "regulator: Enable supply regulator if child rail is enabled."
This reverts commit b2296bd43e.

The change results in the following incorrect behavior.
If a given regulator has a parent supply and the regulator is
enabled either before or during regulator_register(), then
regulator_enable() is called on the supply.  Unfortunately, there
is no matching regulator_disable() call.  This means that the
parent supply will stay enabled forever even if the child is
disabled later.

The stated goal of the change was to enable the parent of a
regulator which was enabled based on its machine constraints.
However, the only constraints that leads to enable() being called
for a regulator are boot-on or always-on.  If these have been
specified for a child regulator then they should have also been
specified for its parent regulator.  Therefore, there should be
no need to explicitly enable the parent when the child is
registered.

Change-Id: Ib8e6db65dcd44c27ef99509ff0cfd2f8e16e9f65
CRs-Fixed: 540315
Signed-off-by: David Collins <collinsd@codeaurora.org>
[Removed it form regulator_resolve_supply]
Signed-off-by: Abhijeet Dharmapurikar <adharmap@codeaurora.org>
2016-03-01 12:22:37 -08:00
David Collins
a118e09f3c regulator: core: correct double remove in rdev_deinit_debugfs
The current ordering of statements in the rdev_deinit_debugfs()
function causes freed memory to be dereferenced.  This occurs
because the regulator_put(rdev->debug_consumer) call results in
debugfs_remove_recursive() being called on
rdev->debug_consumer->debugfs after it was previously removed
by the debugfs_remove_recursive() call to the parent dentry
rdev->debugfs.

Correct this by setting rdev->debug_consumer->debugfs to NULL
after calling debugfs_remove_recursive() for the parent directory
rdev->debugfs.  This ensures that the regulator_put() call does
not try to remove the already removed subdirectory and also that
the debugfs callbacks which make use of rdev->debug_consumer are
removed before rdev->debug_consumer is freed in the regulator_put()
call.

Change-Id: Icb7da7949e401f64cf9e71c732cb40e43ddbdc01
Signed-off-by: David Collins <collinsd@codeaurora.org>
2016-03-01 12:22:37 -08:00
David Collins
40456168db regulator: core: put debugfs consumer handle when unregistering a regulator
Ensure that regulator_put() is called on the core debugfs
consumer pointer for a given regulator when the debugfs interface
is no longer needed.  This includes inside of the
regulator_unregister() function as well as in the error return
path of rdev_init_debugfs().

Change-Id: I10563ae1716f31bdc5840d22633fdbfe278330f1
Signed-off-by: David Collins <collinsd@codeaurora.org>
2016-03-01 12:22:37 -08:00
David Collins
9fbac0b19d regulator: core: add regulator_list_corner_voltage function
Introduce a regulator_list_corner_voltage function for consumers
that need to know the maximum absolute voltage that may be
physically configured when a regulator is operating at a given
voltage corner.

Change-Id: Ide7a0b502796774fcad01f5cb5679f0938c72f96
Signed-off-by: David Collins <collinsd@codeaurora.org>
[adharmap: fixed merge conflicts]
Signed-off-by: Abhijeet Dharmapurikar <adharmap@codeaurora.org>

Conflicts:
	include/linux/regulator/consumer.h
2016-03-01 12:22:36 -08:00
Osvaldo Banuelos
db58e9bdc3 regulator: core: fix regulator bypass logic
Since the regulator debugfs consumer does not call
regulator_allow_bypass() on its regulator handles, regulators
will not be placed on bypass mode even if all other consumers
request for this. Fix this by introducing an open offset count
that can be used to selectively disregard the debugfs consumer.
Also, introduce a debugfs file to allow or disallow bypass
mode on each regulator by leveraging on the new open offset count.

Change-Id: If12534dac5e6b1c82acac9b5250137b4f816b922
Signed-off-by: Osvaldo Banuelos <osvaldob@codeaurora.org>
2016-03-01 12:22:36 -08:00
David Collins
9a5aec1c92 regulator: Call proxy-consumer functions for each regulator registered
Add a call to regulator_proxy_consumer_register() at the end of
regulator_register() and a call to
regulator_proxy_consumer_unregister() at the beginning of
regulator_unregister().  These calls ensure that proxy consumer
features may be used by any type of regulator regardless of the
driver supporting it.

Change-Id: Ia70da1df47042fa673c42f389136557f868d19a3
Signed-off-by: David Collins <collinsd@codeaurora.org>
[abhimany: resolve trivial merge conflicts]
Signed-off-by: Abhimanyu Kapur <abhimany@codeaurora.org>
[adharmap: resolve trivial merge conflicts]
Signed-off-by: Abhijeet Dharmapurikar <adharmap@codeaurora.org>
2016-03-01 12:22:36 -08:00
Brandon Leong
32c846e998 regulator: debugfs: Adding debugfs functions into regulator framework
Move regulator debugfs functions into core.c. This change allows the user
to read and edit regulator information in user space through the debugfs
file system.

Change-Id: I21fa2c1d5d4ab27871ebb543134c2cee5ad70ded
Signed-off-by: Brandon Leong <bleong@codeaurora.org>
[abhimany: constify reg ops]
Signed-off-by: Abhimanyu Kapur  <abhimany@codeaurora.org>
[adharmap: resolve merge conflicts, renamed set_optimum to set_load]
Signed-off-by: Abhijeet Dharmapurikar <adharmap@codeaurora.org>

Conflicts:
	drivers/regulator/core.c
2016-03-01 12:22:35 -08:00
David Collins
e6a67e70d1 regulator: add verbose error messages for invalid voltage requests
Add error messages into the regulator_check_voltage() and
regulator_check_consumers() functions which explain exactly what
is not correct about given voltage requests.  This makes
debugging regulator_set_voltage() errors easier.

Change-Id: I8b3ec8d6a78c94b436b57bd2228b8bd5c362cecd
Signed-off-by: David Collins <collinsd@codeaurora.org>
2016-03-01 12:22:35 -08:00
David Collins
16fbe2a1d3 regulator: Remove redundant set_mode call in drms_uA_update
The regulator framework checks if the current mode is the same as the
one being requested inside of regulator_set_mode. However, when
DRMS changing is allowed, regulator_enable calls drms_uA_update.
This function does not check the value of get_mode before calling
set_mode.

Modify drms_uA_update so that set_mode is only called if the requested
mode is different from the current mode returned by get_mode.

Change-Id: Ifb4f3069cf946e8474565ee82508c1ff45b36543
Signed-off-by: David Collins <collinsd@codeaurora.org>
[adharmap: resolved merge conflicts]
Signed-off-by: Abhijeet Dharmapurikar <adharmap@codeaurora.org>
2016-03-01 12:22:35 -08:00
Justin Paupore
001d62d43e regulator: Add regulator_bulk_set_voltage
Add a convenience API to set the voltage on multiple consumers
stored in a struct regulator_bulk_data[] in one API call.

Change-Id: Iaeb5ba8c357a66f1401fb1e142bb03904e8e9c7c
Signed-off-by: Justin Paupore <jpaupore@codeaurora.org>
2016-03-01 12:22:35 -08:00
Matt Wagantall
d68c0879b8 regulator: Replace error prints in regulator_check_drms() with debug prints
Errors returned from regulator_check_drms() are not treated as fatal
by any of its callers, nor are they passed up through exported
regulator APIs. Instead, these errors are used to indicate that a
regulator does not support multiple current modes.

For example, the exported regulator_set_optimum_mode() API explicitly
discards errors from regulator_check_drms() and returns success anyway
since there is no work to be done to change modes.

To prevent errors from being printed in these cases, downgrade the
rdev_err() prints in regulator_check_drms() to rdev_dbg() prints.

Change-Id: I465dcad59722b0f1fb9384beba01f6411a4a693a
Signed-off-by: Matt Wagantall <mattw@codeaurora.org>
Signed-off-by: Abhijeet Dharmapurikar <adharmap@codeaurora.org>
2016-03-01 12:22:34 -08:00
David Collins
01f8ba7f67 regulator: add notifier event for regulator enable
Add a notifier event which is triggered when a regulator is
enabled.  This can be used by a driver which must configure the
hardware state whenever a given supply is enabled even if some
other consumer was responsible for enabling the supply.

Change-Id: Ic8363308b64953451dd01756e1bfdc2a64527096
Signed-off-by: David Collins <collinsd@codeaurora.org>
Signed-off-by: Abhimanyu Kapur <abhimany@codeaurora.org>
[osvaldob: resolve trivial merge conflicts]
Signed-off-by: Osvaldo Banuelos <osvaldob@codeaurora.org>
[adharmap: 0x100 was taken by PRE_VOLTAGE_CHANGE use 0x1000 for ENABLE]
2016-03-01 12:22:34 -08:00
Xiaocheng Li
0a9312ff44 of/address: Add new API of_iomap_by_name and of_get_address_by_name
Create new API of_iomap_by_name and of_get_address_by_name, which
would read "reg-names" property and get the reg address by its
name.

Change-Id: I7ce30da5a7cbc29f8349641af97ac7ed16b4f506
Signed-off-by: Xiaocheng Li <lix@codeaurora.org>
[imaund@codeaurora.org: Resolved trivial context conflicts.]
Signed-off-by: Ian Maund <imaund@codeaurora.org>
2016-03-01 12:22:34 -08:00
Abhijeet Dharmapurikar
828516323c mfd: qcom-spmi-pmic: instantiate pmic peripherals at arch_initcall
The spmi_devices spawn platform devices for pmic peripherals. Some of these
devices are required early on in the boot process.

Initialize the driver at arch_initcall to avoid unnecessary probe
deferrals.

Change-Id: I38474bedcb284ed5a7df1ec8d26f680787f2c074
Signed-off-by: Abhijeet Dharmapurikar <adharmap@codeaurora.org>
2016-03-01 12:22:34 -08:00
Abhijeet Dharmapurikar
800e6de4c5 spmi: pmic-arb: instantiate spmi_devices at arch_initcall
The spmi arbiter device spawns spmi_devices which in turn spawn
platform_devices for pmic peripherals.

Move the arbiter's driver init to arch_initcall so that the subsequent
devices it spawns get instantiated earlier.

Change-Id: Ib96937f274745549ee86f758673aab4db97acbaf
Signed-off-by: Abhijeet Dharmapurikar <adharmap@codeaurora.org>
2016-03-01 12:22:33 -08:00
Abhijeet Dharmapurikar
d6a90151bc ARM: dts: msm: Update spmi devices to be platform devices
Since the drivers have been updated to run on platform devices
with new bindings, update their dtsi nodes to confirm to the new
bindings.

Change-Id: I709d38c90272e3159eb1cf92febb27328d70aff7
Signed-off-by: Abhijeet Dharmapurikar <adharmap@codeaurora.org>
2016-03-01 12:22:33 -08:00
Abhijeet Dharmapurikar
0c98f90e2e spmi_devices: change to platform_devices
Change to using upstream spmi bus architecture. All the spmi devices,
marked by spmi-dev-container, become platform devices.
spmi-slave-container devices become spmi_devices each representing
a slave. The read/write functions use regmap api's instead of calls to
spmi_ext_register_read/write() implemented by the spmi bus. This
regmap is instantiated per slave.
The spmi bus helper functions like spmi_get_irq get changed to their
platform bus equivalents.

Change Kconfig files include
* Remove dependence on OF_SPMI, MSM_QPNP_INT
* There were few places where an earlier commit
 dcc2aedc80746acee589e4b47d3e6adf5d3ec253
missed adding dependence on SPMI along with MSM_SPMI.
Fix them.
* Add depends on ARCH_MSM. ARCH_MSM is used for internal builds.

Change the nodes in DTSI files to confirm to the modified drivers.
Update their binding docs to drop spmi-dev-container and
spmi-slave-container;

Finally update defconfig to use upstream SPMI.

Change-Id: Ic85bff27c09c84b152cb38acbc3cadd05c0ec57a
Signed-off-by: Abhijeet Dharmapurikar <adharmap@codeaurora.org>
2016-03-01 12:22:33 -08:00
Abhijeet Dharmapurikar
065fd87ad3 power: bcl_peripheral: remove the unnecessary memset ZERO of the chip.
The bcl_perph is allocated by devm_kzalloc, this ensures that the
allocation is zeroed. There is no need to zero it out again.

Change-Id: Ia808f2a93e4610677f40c87892063e0497213ae1
Signed-off-by: Abhijeet Dharmapurikar <adharmap@codeaurora.org>
2016-03-01 12:22:32 -08:00
Abhijeet Dharmapurikar
04a6c2118e leds: qpnp-flash: pass struct qpnp_led to masked write
Pass the chip structure to masked write. This is in preparation
for the upcoming transition to being a platform device.

Change-Id: Ic98c9e80a526e4eadb4892505f6cd20d9e993040
Signed-off-by: Abhijeet Dharmapurikar <adharmap@codeaurora.org>
2016-03-01 12:22:32 -08:00
Osvaldo Banuelos
6221f73cda bif: Add snapshot of bif-core framework and qpnp-bsi driver
This snapshot is taken as of msm-3.18 commit

bd4743e (Merge "ARM: dts: msm: Add display
configuration for msmgold")

Change-Id: I6f9c2fb7bcede6196da26a49dbd6aab598a0b5a9
Signed-off-by: Osvaldo Banuelos <osvaldob@codeaurora.org>
Signed-off-by: Abhijeet Dharmapurikar <adharmap@codeaurora.org>
2016-03-01 12:22:32 -08:00
Abhijeet Dharmapurikar
77dd355971 qpnp: Add snapshot of some qpnp, regulator and charger drivers
This snapshot is taken as of msm-3.18 commit
9da4ddc (Merge "clk: msm: clock-gcc: Associate gfx rail
voting with gfx3d branch")

Change-Id: Idd2f467f1f1863a156d1757589dfe78158f0e43f
Signed-off-by: Abhijeet Dharmapurikar <adharmap@codeaurora.org>
2016-03-01 12:22:31 -08:00
Ivan T. Ivanov
6aa370ab42 pwm: qpnp: Add dummy interface functions
Enable client drivers, which are using these non-standard PWM
API's (FB_MSM_MDSS), to be compiled when QPNP PWM is not enabled.

Change-Id: Id7add4009591ec4f3bd095b989aa7f8c0169dfa4
Signed-off-by: Ivan T. Ivanov <iivano@codeaurora.org>
Signed-off-by: Abhijeet Dharmapurikar <adharmap@codeaurora.org>
2016-03-01 12:22:31 -08:00
Karthikeyan Ramasubramanian
dc88aa9c0c defconfig: arm64: msm: Enable RPM SMD Driver
Enable RPM SMD Driver that implements the protocol to communicate with
RPM processor for clock, regulator and power related voting.

Signed-off-by: Karthikeyan Ramasubramanian <kramasub@codeaurora.org>
2016-03-01 12:22:31 -08:00
Karthikeyan Ramasubramanian
6c2ca35f21 soc: qcom: Add snapshot of RPM SMD Driver
This snapshot is taken as of msm-3.18 commit e70ad0cd (Promotion of
kernel.lnx.3.18-151201.)

Signed-off-by: Karthikeyan Ramasubramanian <kramasub@codeaurora.org>
2016-03-01 12:22:30 -08:00
Karthikeyan Ramasubramanian
f228d808a4 defconfig: arm64: msm: Enable G-Link
G-Link is a generic link-layer transport similar to SMD that supports a
plug-in layer for the physical transport. This allows it to adapt to
different physical transports such as shared memory, UARTs, buses, and DMA.

Signed-off-by: Karthikeyan Ramasubramanian <kramasub@codeaurora.org>
2016-03-01 12:22:30 -08:00
Karthikeyan Ramasubramanian
7eefafbc0d defconfig: arm64: msm: Enable SMD
Enable the SMD communication protocol between apps and other processors
in the SoC.

Signed-off-by: Karthikeyan Ramasubramanian <kramasub@codeaurora.org>
2016-03-01 12:22:30 -08:00
Karthikeyan Ramasubramanian
82a556cd6d defconfig: arm64: msm: Enable SMEM
Enable shared memory between the different processors in the SoC.

Signed-off-by: Karthikeyan Ramasubramanian <kramasub@codeaurora.org>
2016-03-01 12:22:30 -08:00