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 */
 };