Commit Graph

40 Commits

Author SHA1 Message Date
Rama Krishna Phani A 0199671fcf hwmon: qpnp-adc-tm: Add version check for VADC_TM channel
vph_pwr channel should be supported for VADC_TM for pm8950 2.0.
Add version check to detect the PMIC used and support channel
accordingly.

Change-Id: I6f62604e0050a245acd0f65732ef5b3aca9180ec
Signed-off-by: Rama Krishna Phani A <rphani@codeaurora.org>
2015-06-10 10:15:26 -07:00
Chunmei Cai 9994d296b5 thermal: qpnp-adc-tm: add new scale function for skue battery thermistor
The skue is using the different battery thermistor and mapping table
from the default. A new scale function is needed to use this mapping
table in the thermal adc driver.

Change-Id: Ib154bafe821ceae33803efced3c15321a39f1dad
Signed-off-by: Chunmei Cai <ccai@codeaurora.org>
2015-04-09 18:50:00 -07:00
Siddartha Mohanadoss 994647d879 hwmon: qpnp-adc: Add support to vote for a regulator
Add support to vote for HKADC LDO and HKADC LDO ok signal
if needed.

Change-Id: I92dcb8bf0495e93a8eaedabfbd82c3cc9a527f7c
Signed-off-by: Siddartha Mohanadoss <smohanad@codeaurora.org>
2015-02-26 19:24:06 -08:00
Linux Build Service Account e652d8b007 Merge "hwmon: qpnp-adc: add battery thermistor mapping table for SKUT1" 2014-11-10 03:57:59 -08:00
Gustavo Solaira 81525fe355 hwmon: qpnp-adc: add battery thermistor mapping table for SKUT1
Tcold = 0 DegC and Thot = 45 DegC are used for 8916 SKUT1 device.
Update battery thermistor mapping table for it.

Change-Id: I53a27c73973bb94d998485b2037d54ff833b54bd
Signed-off-by: Gustavo Solaira <gustavos@codeaurora.org>
2014-10-28 17:25:44 -03:00
Dipen Parmar ba6a7e1345 thermal: qpnp-adc-tm: Fix QFPROM issue with ADC_TM on poweroff
Add support to disable ADC_TM peripheral during POFF
sequence to avoid QFPROM issue.

Enable FAST_AVG_EN and limit the FAST_AVG_SAMPLES to
4 for PM8916.

Change-Id: I655b13361a07157a5ce7b8af005f0c32f03e6843
Signed-off-by: Dipen Parmar <dipenp@codeaurora.org>
2014-10-22 15:41:02 +05:30
Dipen Parmar 02b3f6588a hwmon: qpnp-adc: Fix incorrect ADC reads during MPP current sink
MPP2 and MPP4 current sink configuration results in
incorrect ADC readings due to common ground problem
on PM8916.

Fix the issue by using recalibration method if
calibration value found deviated from permitted value.

Change-Id: I1a4065478c00a9819673e1396651d25cb88f527f
Signed-off-by: Dipen Parmar <dipenp@codeaurora.org>
2014-10-14 12:28:16 +05:30
Dipen Parmar 4a933ae32e hwmon: qpnp: Add suspend_noirq support for ADC_TM
ADC_TM driver can sleep before the notifications
send to clients on high or low threshold interrupts
during suspend path.

Change-Id: Idb0ef43710e4a1766a1a041522ab2d9850d34d09
Signed-off-by: Dipen Parmar <dipenp@codeaurora.org>
2014-06-26 18:31:31 +05:30
Jie Cheng 387fd20c2c thermal: qpnp-adc-tm: add new scale function for skuh battery thermistor
The skuh is using the different battery thermistor and mapping table from
the default. A new scale function is needed to use this mapping table in
the thermal adc driver.

Change-Id: I63fb02244b55b51d967b85a90cc700ef1764d20d
Signed-off-by: Jie Cheng <rockiec@codeaurora.org>
2014-05-21 15:57:01 +08:00
Siddartha Mohanadoss 2539f55367 thermal: qpnp-adc-tm: Check for Timer2 option
Timer2 is a default timer used by the BTM clients for 1 second
measurement polling interval. Handle the condition in the driver
if clients specify the property qcom,meas-interval-timer-idx
for one second.

Signed-off-by: Siddartha Mohanadoss <smohanad@codeaurora.org>
Change-Id: I396f5e6a34cd632a8217d3a142ae89cf85eb2b5a
2014-04-24 09:50:34 -07:00
Dipen Parmar 4c3c5b31f4 hwmon: qpnp-adc: Add smb batt_therm reverse scaling
Add reverse scaling function for smb batt_therm.

Change-Id: Ic81078b9738ee5ee60f505316dd9dbebea8c58fc
Signed-off-by: Dipen Parmar <dipenp@codeaurora.org>
2014-03-24 17:47:39 +05:30
Siddartha Mohanadoss f6cbef2876 thermal: qpnp-adc-tm: Update workqueue priority
Update workqueue as a high priority thread to notify
clients for high/low threshold notification.

Change-Id: Id94bc559d3df6577fde1ca8760b025fea1c53d58
Signed-off-by: Siddartha Mohanadoss <smohanad@codeaurora.org>
2014-03-13 18:23:55 -07:00
Siddartha Mohanadoss f9f048de6f thermal: qpnp-adc-tm: Update default timer selection
Update default timer for clients who want a one second recurring
measurement polling interval to Timer2. Timer1 has a lower
resolution hence switch default clients to Timer2 and update
Timer1 resolution from 1 second to 3.9milliseconds.

Change-Id: Iafb288383b6dfdc083700a674cba81f1a842cec6
Signed-off-by: Siddartha Mohanadoss <smohanad@codeaurora.org>
2014-03-05 18:58:53 -08:00
Siddartha Mohanadoss ea8cd32a7c thermal: qpnp-adc-tm: Add reverse scaling
Add reverse scaling to convert voltage in uV using absolute
calibration to raw ADC code written to set high/low threshold
for a specified BTM channel.

Change-Id: Ic56465df5ab60100cffe4303ff983480b71c0c95
Signed-off-by: Siddartha Mohanadoss <smohanad@codeaurora.org>
2014-03-05 18:43:08 -08:00
Siddartha Mohanadoss f0f64439fa thermal: qpnp-adc-tm: Support timer selection
Existing channels use a single timer to select the
measurement interval polling rate. Changing the interval
polling value for this timer affects the polling interval
across all the channels.

Provide an option for clients to choose from 3 of the
supported timers. Existing support has each timer linked
to a pre-configured interval polling rate. Clients can
add a optional property if it needs a specific interval
polling rate on timer2 and timer3. If the property is not
present the channel defaults to timer1 and its associated
interval polling rate.

Change-Id: Ia3c7f13081dcddb901ef446cc776f524f875fba2
Signed-off-by: Siddartha Mohanadoss <smohanad@codeaurora.org>
2014-02-11 19:22:25 -08:00
Dipen Parmar 8299954e56 thermal: qpnp-adc: Add checks for two channel support
Some BTM peripheral supports only two channels.
Add check for two channel supported BTM based on subtype regiter.

Change-Id: I88f356f2619ee040fa3640cb33a02def26d3a40c
Signed-off-by: Dipen Parmar <dipenp@codeaurora.org>
2014-02-05 09:34:11 -08:00
Siddartha Mohanadoss 0adfd35b09 thermal: qpnp-adc-thermal: Add checks for low/high notification
Add checks to ensure the low and high threshold enable
register is checked against the status low and high
register before proceeding to notify the corresponding
clients.

Signed-off-by: Siddartha Mohanadoss <smohanad@codeaurora.org>
Change-Id: Iecd5e08642415ca50c244efdeebbacf295f82303
2013-11-19 09:03:17 -08:00
Siddartha Mohanadoss 15ad6a5616 thermal: qpnp-adc: Update VADC2_TM disable routine
After disabling the peripheral, the STS_REQ bit is checked
to ensure there are no more pending transactions in queue.
However there are instance when the STS_REQ bit does not
fall low since the peripheral is disabled. This is in
conjunction with a clock gating feature that was added
to the 8226 PMIC. Therefore as a workaround when disabling
the peripheral switch the mode to a single conversion mode
and check if the STS_REQ bit falls low. Ensure that when
disabling the corresponding channel the MULTI_MEASUREMENT_ENABLE
bit for that channel stays high when the above check is being
performed.

Change-Id: I4c234cfb273952a99854ccd07859f8d24d0b3fb7
Signed-off-by: Siddartha Mohanadoss <smohanad@codeaurora.org>
2013-10-24 18:56:18 -07:00
Dipen Parmar a1d5a4cbd5 thermal: qpnp-adc-tm: Fix format specifier in snprintf
Add format specifier in snprintf to avoid security
vulnerability issues.

Change-Id: I6ea67633348341267e0646912a6b428709410c78
Signed-off-by: Dipen Parmar <dipenp@codeaurora.org>
2013-10-18 16:36:42 +05:30
Siddartha Mohanadoss dcb45c770b thermal: qpnp-adc-tm: Add multiple client request support
Add threshold aggregation to support multiple kernel clients
to set thresholds and receive threshold notification once
the thresholds are crossed.
Modify the existing driver to support multiple clients
to set thresholds from kernel space. The existing clients
include setting threshold notification for battery voltage,
pmic die and battery temperature. Based on the clients request
the thresholds are aggregated and the maximum of active
lower_threshold and minimum of higher_threshold is applied as
thresholds and the corresponding clients whose thresholds are
crossed are notified. After notification the next set of
active thresholds are applied and thresholds are re-armed.

Change-Id: I7ab14516af8062c6307ffe719a5cb9c76430fa6e
Signed-off-by: Siddartha Mohanadoss <smohanad@codeaurora.org>
2013-09-11 21:07:52 -07:00
Siddartha Mohanadoss d90ef432a2 thermal: qpnp-adc-tm: Check BTM channel index
Check for valid BTM channel index before accessing the
corresponding BTM channel elements.

Change-Id: I27f48793f5eb7a99e49fcc94a009230becf4fa22
Signed-off-by: Siddartha Mohanadoss <smohanad@codeaurora.org>
2013-09-05 14:54:07 -07:00
Siddartha Mohanadoss d15a5f973b hwmon: qpnp-adc: Fix panic in ADC workqueue
During warm/soft reset it is seen during qpnp-adc-tm
driver interrupt registration there are pending
interrupts.

Register the ADC interrupt handler after initializing
the workqueue to handle potential cases where interrupt
is pending when an interrupt is requested and causes
panic because the workqueue is called when its not
initialized yet.

Change-Id: Iba88ab3c9f71dc94579ab85980f8cfd726f3c5c1
Signed-off-by: Siddartha Mohanadoss <smohanad@codeaurora.org>
2013-09-05 14:52:37 -07:00
Siddartha Mohanadoss 1fecafdae8 thermal: qpnp-adc-tm: Remove VADC_TM EOC
VADC_TM is used currently only for monitoring high/low
thresholds. Therefore remove registering for end of conversion
interrupts as we do not use this mode on VADC_TM.

Change-Id: Idf4afd23fa12439667f868666515c01eb7acbfad
Signed-off-by: Siddartha Mohanadoss <smohanad@codeaurora.org>
2013-09-04 17:19:17 -07:00
Siddartha Mohanadoss 0db3b95a93 thermal: adc_tm: Support multiple driver instance
Support multiple instance of the ADC_TM device. Clients
need to register with the current ADC using the device
consumer name used to associate with the corresponding
phandle of the ADC_TM. Clients receive the device instance
which is to be used everytime an ADC request is made.

This change involves changing the interface to issue
ADC TM request and the corresponding clients changes.

Change-Id: Id7ecacddec0d37bf58275d489d55b830e8aef6be
Signed-off-by: Siddartha Mohanadoss <smohanad@codeaurora.org>
2013-09-04 17:15:09 -07:00
Siddartha Mohanadoss 000325beb7 hwmon: qpnp-voltage: Support multiple device instance
Support multiple voltage ADC device instance. Clients
need to register with the voltage ADC using the device
consumer name used to associate with the corresponding
phandle of the VADC. Clients receive the device instance
which is to be used everytime an ADC request is made.

This change involves changing the interface to issue
ADC request and the corresponding clients changes.

Change-Id: If0557bc657fecd172a8cf960900ee93b4bce37f8
Signed-off-by: Siddartha Mohanadoss <smohanad@codeaurora.org>
2013-09-04 17:14:32 -07:00
Siddartha Mohanadoss 9992b349f8 thermal: qpnp-adc-tm: Reduce kernel log flood
Modify the pr_err log that is used for checking if
clients have a valid callback when threshold request
is made to pr_debug. Currently kernel logs are getting
flooded due to periodic request made from the client.

Change-Id: I74bf4115bc25396da16a96ad7378ba3a7375710f
Signed-off-by: Siddartha Mohanadoss <smohanad@codeaurora.org>
2013-09-04 17:12:13 -07:00
Xiaozhe Shi 01c57e216b thermal: qpnp-adc-tm: Fix M2 threshold register addresses
The M2 high threshold register addresses were incorrectly set to be
the registers for M3. This causes die temperature tm alarm to never
trigger for the high state.

Fix this by changing the register addresses to the correct values.

Change-Id: I28368b88a874eca45c8ab7eb88db67aa430d31d3
Signed-off-by: Xiaozhe Shi <xiaozhes@codeaurora.org>
2013-09-04 16:34:18 -07:00
Siddartha Mohanadoss 08501a45d1 thermal: qpnp-adc-tm: Add die_temp debug logs
Add more die_temp debug logs and fix the units for
converting millidegC to K during reverse calibration.
Also add bound checks in the status read to prevent
spurious interrupts.

Change-Id: I888216383ae9e8aed83bc5b22b4e36499b500c11
Signed-off-by: Siddartha Mohanadoss <smohanad@codeaurora.org>
2013-09-04 16:26:16 -07:00
Stephen Boyd a947a2fa21 hwmon: qpnp-adc: Initialize adc mutex in each driver
The qpnp adc drivers take different mutex locks one after the
other but lockdep can't figure that out because each mutex is
intialized with one call to mutex_init() in
qpnp_adc_get_devicetree_data(). Move the mutex initialization to
each caller so that lockdep can see different lock classes for
each adc mutex. This silences the below recursive mutex warning.

=============================================
[ INFO: possible recursive locking detected ]
3.4.0-gc11e688-00030-g8f5e269-dirty #567 Tainted: G        W
---------------------------------------------
kworker/u:2/21 is trying to acquire lock:
 (&adc_qpnp->adc_lock){+.+...}, at: [<c04c0918>] qpnp_iadc_read+0x64/0x174

but task is already holding lock:
 (&adc_qpnp->adc_lock){+.+...}, at: [<c04be7f4>] qpnp_vadc_iadc_sync_request+0x34/0x198

other info that might help us debug this:
 Possible unsafe locking scenario:

       CPU0
       ----
  lock(&adc_qpnp->adc_lock);
  lock(&adc_qpnp->adc_lock);

 *** DEADLOCK ***

 May be due to missing lock nesting notation

6 locks held by kworker/u:2/21:
 #0:  (deferwq){.+.+.+}, at: [<c00a7e84>] process_one_work+0x1c8/0x528
 #1:  (deferred_probe_work){+.+.+.}, at: [<c00a7e84>] process_one_work+0x1c8/0x528
 #2:  (&__lockdep_no_validate__){......}, at: [<c0339670>] device_attach+0x18/0xa4
 #3:  (&chip->last_ocv_uv_mutex){+.+...}, at: [<c04b8b74>] recalculate_soc+0x190/0x124c
 #4:  (&iadc->iadc_vadc_lock){+.+...}, at: [<c04c0aa8>] qpnp_iadc_vadc_sync_read+0x40/0xe4
 #5:  (&adc_qpnp->adc_lock){+.+...}, at: [<c04be7f4>] qpnp_vadc_iadc_sync_request+0x34/0x198

stack backtrace:
[<c00140cc>] (unwind_backtrace+0x0/0x11c) from [<c00d6ea8>] (__lock_acquire+0x238/0x1784)
[<c00d6ea8>] (__lock_acquire+0x238/0x1784) from [<c00d895c>] (lock_acquire+0xf0/0x138)
[<c00d895c>] (lock_acquire+0xf0/0x138) from [<c079aa50>] (mutex_lock_nested+0x5c/0x3d8)
[<c079aa50>] (mutex_lock_nested+0x5c/0x3d8) from [<c04c0918>] (qpnp_iadc_read+0x64/0x174)
[<c04c0918>] (qpnp_iadc_read+0x64/0x174) from [<c04c0ae0>] (qpnp_iadc_vadc_sync_read+0x78/0xe4)
[<c04c0ae0>] (qpnp_iadc_vadc_sync_read+0x78/0xe4) from [<c04b6d88>] (get_simultaneous_batt_v_and_i+0x24/0x68)
[<c04b6d88>] (get_simultaneous_batt_v_and_i+0x24/0x68) from [<c04b927c>] (recalculate_soc+0x898/0x124c)
[<c04b927c>] (recalculate_soc+0x898/0x124c) from [<c04b9cfc>] (calculate_soc_work+0x10/0x4c)
[<c04b9cfc>] (calculate_soc_work+0x10/0x4c) from [<c07750f8>] (qpnp_bms_probe+0xeac/0x1228)
[<c07750f8>] (qpnp_bms_probe+0xeac/0x1228) from [<c037d6b0>] (spmi_drv_probe+0x10/0x14)
[<c037d6b0>] (spmi_drv_probe+0x10/0x14) from [<c0339884>] (driver_probe_device+0x134/0x338)
[<c0339884>] (driver_probe_device+0x134/0x338) from [<c0337d28>] (bus_for_each_drv+0x48/0x8c)
[<c0337d28>] (bus_for_each_drv+0x48/0x8c) from [<c03396d8>] (device_attach+0x80/0xa4)
[<c03396d8>] (device_attach+0x80/0xa4) from [<c0338bdc>] (bus_probe_device+0x28/0x9c)
[<c0338bdc>] (bus_probe_device+0x28/0x9c) from [<c0339144>] (deferred_probe_work_func+0x68/0xa0)
[<c0339144>] (deferred_probe_work_func+0x68/0xa0) from [<c00a7f54>] (process_one_work+0x298/0x528)
[<c00a7f54>] (process_one_work+0x298/0x528) from [<c00a83a8>] (worker_thread+0x198/0x2b8)
[<c00a83a8>] (worker_thread+0x198/0x2b8) from [<c00ad2fc>] (kthread+0x90/0xa4)
[<c00ad2fc>] (kthread+0x90/0xa4) from [<c000edcc>] (kernel_thread_exit+0x0/0x8)

Change-Id: Iebda9a8dfc407273748545bb81f91d6dc27e97cc
Signed-off-by: Stephen Boyd <sboyd@codeaurora.org>
2013-09-04 16:25:59 -07:00
Siddartha Mohanadoss c4242f2db2 thermal: qpnp-adc-tm: Add peripheral type check
Add a peripheral type check to verify run-time if the
existing peripheral can support more than 5 BTM channels.

Change-Id: Ieaf1486c41f0c75c64d3a1cbce49cb1d314e0377
Signed-off-by: Siddartha Mohanadoss <smohanad@codeaurora.org>
2013-09-04 16:22:56 -07:00
Siddartha Mohanadoss 9d9f9bac03 thermal: qpnp-adc-tm: Add thermal nodes
Add VADC channel thermal nodes that are used for
reading the temperature and setting temperature
thresholds.

CRs-Fixed: 476339
Change-Id: Ic591a9801ed043f01ffada1c23ee1dad50931d86
Signed-off-by: Siddartha Mohanadoss <smohanad@codeaurora.org>
2013-09-04 16:22:55 -07:00
Siddartha Mohanadoss 3cfacd38e0 thermal: qpnp-adc: Add checks for reading the correct index.
Add a robust check to verify if the channel being requested
for threshold monitoring exists when setting the thresholds
for the channel. Also fix using the correct revision register
to determine whether 5 or 8 channels are supported.

Change-Id: I5b8b1e632eb82b704599247921e53075ad8c5c0c
Signed-off-by: Siddartha Mohanadoss <smohanad@codeaurora.org>
2013-09-04 16:15:29 -07:00
Siddartha Mohanadoss a346433f5b thermal: qpnp-adc-tm: Fix setting amux properties
Fix using the correct index type while reading the
channel properties from the list.

Change-Id: I86f74d24abf235baa2f5bcde71786f439dfb2594
Signed-off-by: Siddartha Mohanadoss <smohanad@codeaurora.org>
2013-09-04 16:15:03 -07:00
Siddartha Mohanadoss 6fe3a4edab hwmon: qpnp-adc-tm: Modify the btm scaling function
For battery client the warm temperature equates to a low voltage
threshold and cool temperature equates to a high voltage. Factor
it in the reverse scaling when client enters the temperature
threshold.

Change-Id: I884319bd53f4c3c563f4536a6a3462ebdf805898
Signed-off-by: Siddartha Mohanadoss <smohanad@codeaurora.org>
2013-09-04 16:13:43 -07:00
Siddartha Mohanadoss 57baab11fb arm/dt: msm-pm8941: Add thermal-node VADC_TM DT property
Add DT property qcom,thermal-node to the VADC_TM which
will be used to identify if the channel node should be
registered as part of the thermal sysfs. This allows
flexibility to have any channel order and support
multiple targets which have different channel defintion.

Change-Id: I42182d07d7fad91a66ebcead095ead525033b303
Signed-off-by: Siddartha Mohanadoss <smohanad@codeaurora.org>
2013-09-04 16:13:41 -07:00
Siddartha Mohanadoss 0194e1fc25 hwmon: qpnp-adc-tm: Optimize and add more TM channel support
The change adds 3 additional channels and run-time
detects the supported number of channels to allow
clients to set threshold notification.

To support this, optimize the kernel api used to configure
and start a threshold monitoring request to include multiple
clients thus avoiding the need to have seperate kernel api's
for different clients. Changes are made to avoid the driver
depending on the order in which the VADC_TM DT channel
nodes should be added. Support is now included to
monitor DIE temperature for reading the pmic_therm, VBATT
and msm_thermistor scaling functions.

The change also disables the bank when an interrupt is
received or any changes are to be made in the settings,
make sure no measurements are in the queue, settings updated
and the bank is re-enabled.

Change-Id: I7a7c03857c86127dd6f1055df17099ecff4bb2f7
Signed-off-by: Siddartha Mohanadoss <smohanad@codeaurora.org>
2013-09-04 16:13:28 -07:00
Siddartha Mohanadoss ff1a325cc1 qpnp-adc: Add a ctx pointer for btm support
Add a context pointer as part of the BTM param to allow
BTM client to pass any pointer that they need during
threshold notifications.

Change-Id: I7cf4df829069fdffede96c9eb8632b2fc278f78b
Signed-off-by: Siddartha Mohanadoss <smohanad@codeaurora.org>
2013-09-04 15:55:34 -07:00
Siddartha Mohanadoss cfd0780b38 hwmon: qpnp-adc: Set correct adc_drv to NULL
Fix setting the correct adc_drv to NULL on error path during
probe.

Change-Id: I7923f79b65cc6303a1a31429287fcef356522d68
Signed-off-by: Siddartha Mohanadoss <smohanad@codeaurora.org>
2013-09-04 15:46:39 -07:00
Siddartha Mohanadoss ea53aa03d6 hwmon:qpnp-adc: Set adc_drv to NULL on error
Set the adc_drv to NULL during probe error before
we exit. Not setting the adc_drv to NULL can cause
panic on conditions when adc requests are made when
an error occured during probe. Fix it by setting the
adc_drv to NULL since we have checks in the adc read
requests. Also add the adc_drv is valid check in the
work scheduler to ensure against conditions of
receiving an interrupt immediately when a irq_request
is made during probe initialization.

Change-Id: I5d921a67306bb9e401dbe798599c200d9f8eed28
Signed-off-by: Siddartha Mohanadoss <smohanad@codeaurora.org>
2013-09-04 15:45:55 -07:00
Siddartha Mohanadoss 758a9c329c thermal: qpnp-adc: Add thermal monitoring ADC driver
The thermal monitoring QPNP ADC driver is used for
monitoring multiple channels with recurring
measurements. It configures the VADC_TM peripheral
to set voltage and temperature thresholds and
notifies clients once the thresholds are crossed.

Upto five channels can be individually configured
for input channel, interval time, low and high
threshold.

The driver is added as part of the thermal sysfs
interface to provide the thermal clients the
ability to set temperature thresholds and receive
notification. Clients can separately enable/disable
low/high temperature thresholds for notification.
Channels 3 through 5 are allocated for thermistor
channels that can be used by the thermal clients
using thermal sysfs for temperature threshold
notification.

Separate kernel api's are provided for usb_id
and batt_therm driver to set voltage and temperature
threshold notifications. TM Channels 0 and 1 are
statically mapped for usb_id and batt_therm monitoring
respectively.

Change-Id: I8de8a494d68d3b29c029fdc7d650a8b74f17a645
Signed-off-by: Siddartha Mohanadoss <smohanad@codeaurora.org>
2013-09-04 15:43:25 -07:00