You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@nuttx.apache.org by pk...@apache.org on 2022/07/26 09:07:58 UTC
[incubator-nuttx] 02/02: power:record features by add mask to drivers
This is an automated email from the ASF dual-hosted git repository.
pkarashchenko pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/incubator-nuttx.git
commit 645ff50609a07d2d337e751bd99b01afb4298d77
Author: anjiahao <an...@xiaomi.com>
AuthorDate: Tue Apr 26 20:04:23 2022 +0800
power:record features by add mask to drivers
Signed-off-by: anjiahao <an...@xiaomi.com>
Signed-off-by: Jiuzhu Dong <do...@xiaomi.com>
---
drivers/power/battery_charger.c | 2 ++
drivers/power/battery_gauge.c | 2 ++
drivers/power/battery_monitor.c | 2 ++
include/nuttx/power/battery_charger.h | 2 ++
include/nuttx/power/battery_gauge.h | 2 ++
include/nuttx/power/battery_monitor.h | 2 ++
6 files changed, 12 insertions(+)
diff --git a/drivers/power/battery_charger.c b/drivers/power/battery_charger.c
index 1cd4565e89..f72b79513b 100644
--- a/drivers/power/battery_charger.c
+++ b/drivers/power/battery_charger.c
@@ -171,6 +171,7 @@ static int bat_charger_open(FAR struct file *filep)
nxsem_init(&priv->lock, 0, 1);
nxsem_init(&priv->wait, 0, 0);
nxsem_set_protocol(&priv->wait, SEM_PRIO_NONE);
+ priv->mask = dev->mask;
list_add_tail(&dev->flist, &priv->node);
nxsem_post(&dev->batsem);
filep->f_priv = priv;
@@ -472,6 +473,7 @@ int battery_charger_changed(FAR struct battery_charger_dev_s *dev,
return ret;
}
+ dev->mask |= mask;
list_for_every_entry(&dev->flist, priv,
struct battery_charger_priv_s, node)
{
diff --git a/drivers/power/battery_gauge.c b/drivers/power/battery_gauge.c
index 149df01de5..2a8c38955a 100644
--- a/drivers/power/battery_gauge.c
+++ b/drivers/power/battery_gauge.c
@@ -173,6 +173,7 @@ static int bat_gauge_open(FAR struct file *filep)
nxsem_init(&priv->lock, 0, 1);
nxsem_init(&priv->wait, 0, 0);
nxsem_set_protocol(&priv->wait, SEM_PRIO_NONE);
+ priv->mask = dev->mask;
list_add_tail(&dev->flist, &priv->node);
nxsem_post(&dev->batsem);
filep->f_priv = priv;
@@ -440,6 +441,7 @@ int battery_gauge_changed(FAR struct battery_gauge_dev_s *dev,
return ret;
}
+ dev->mask |= mask;
list_for_every_entry(&dev->flist, priv,
struct battery_gauge_priv_s, node)
{
diff --git a/drivers/power/battery_monitor.c b/drivers/power/battery_monitor.c
index d03dd41ffe..49ea4a34a2 100644
--- a/drivers/power/battery_monitor.c
+++ b/drivers/power/battery_monitor.c
@@ -172,6 +172,7 @@ static int bat_monitor_open(FAR struct file *filep)
nxsem_init(&priv->lock, 0, 1);
nxsem_init(&priv->wait, 0, 0);
nxsem_set_protocol(&priv->wait, SEM_PRIO_NONE);
+ priv->mask = dev->mask;
list_add_tail(&dev->flist, &priv->node);
nxsem_post(&dev->batsem);
filep->f_priv = priv;
@@ -515,6 +516,7 @@ int battery_monitor_changed(FAR struct battery_monitor_dev_s *dev,
return ret;
}
+ dev->mask |= mask;
list_for_every_entry(&dev->flist, priv,
struct battery_monitor_priv_s, node)
{
diff --git a/include/nuttx/power/battery_charger.h b/include/nuttx/power/battery_charger.h
index ba948a8616..90edad2d4d 100644
--- a/include/nuttx/power/battery_charger.h
+++ b/include/nuttx/power/battery_charger.h
@@ -144,6 +144,8 @@ struct battery_charger_dev_s
struct list_node flist;
+ uint32_t mask; /* record drive support features */
+
/* Data fields specific to the lower-half driver may follow */
};
diff --git a/include/nuttx/power/battery_gauge.h b/include/nuttx/power/battery_gauge.h
index 29fea0ff94..d5a093d800 100644
--- a/include/nuttx/power/battery_gauge.h
+++ b/include/nuttx/power/battery_gauge.h
@@ -131,6 +131,8 @@ struct battery_gauge_dev_s
struct list_node flist;
+ uint32_t mask; /* record drive support features */
+
/* Data fields specific to the lower-half driver may follow */
};
diff --git a/include/nuttx/power/battery_monitor.h b/include/nuttx/power/battery_monitor.h
index 0c1e2605d2..cc92e9b641 100644
--- a/include/nuttx/power/battery_monitor.h
+++ b/include/nuttx/power/battery_monitor.h
@@ -305,6 +305,8 @@ struct battery_monitor_dev_s
struct list_node flist;
+ uint32_t mask; /* record drive support features */
+
/* Data fields specific to the lower-half driver may follow */
};