summaryrefslogtreecommitdiff
path: root/drivers/edp
diff options
context:
space:
mode:
authorSivaram Nair <sivaramn@nvidia.com>2013-05-29 20:50:29 +0300
committerRiham Haidar <rhaidar@nvidia.com>2013-05-31 14:50:08 -0700
commit43e96b352cdfb1438edc326da0ac4ae05e14c03e (patch)
treea473560abe9083543afd9cc21fb724412bba9a01 /drivers/edp
parent3dc65b43185f38e1f9768fbf85c9bf71926eb585 (diff)
EDP: psy depletion: allow null rbat lut
For boards that do not specify an rbat lut, use the r_const as the RBAT. Change-Id: Ica8045c65fed34b48f2b89a5be4bc1435320924f Signed-off-by: Sivaram Nair <sivaramn@nvidia.com> Reviewed-on: http://git-master/r/233805 Reviewed-by: Automatic_Commit_Validation_User GVS: Gerrit_Virtual_Submit Reviewed-by: Juha Tukkinen <jtukkinen@nvidia.com>
Diffstat (limited to 'drivers/edp')
-rw-r--r--drivers/edp/psy_depletion.c9
1 files changed, 5 insertions, 4 deletions
diff --git a/drivers/edp/psy_depletion.c b/drivers/edp/psy_depletion.c
index d9eeac5d3fed..e26c97fbd5ff 100644
--- a/drivers/edp/psy_depletion.c
+++ b/drivers/edp/psy_depletion.c
@@ -89,21 +89,22 @@ static int depl_rbat(struct depl_driver *drv)
unsigned int capacity;
int rbat;
+ rbat = drv->pdata->r_const;
capacity = depl_psy_capacity(drv);
p = drv->pdata->rbat_lut;
+ if (!p)
+ return rbat;
while (p->capacity > capacity)
p++;
if (p == drv->pdata->rbat_lut)
- return p->rbat;
+ return rbat + p->rbat;
q = p - 1;
- rbat = depl_interpolate(capacity, p->capacity, p->rbat,
+ rbat += depl_interpolate(capacity, p->capacity, p->rbat,
q->capacity, q->rbat);
- rbat += drv->pdata->r_const;
-
pr_debug("capacity : %u\n", capacity);
pr_debug("rbat : %d\n", rbat);