svn commit: r356486 - head/sys/arm64/rockchip

Emmanuel Vadot manu at FreeBSD.org
Wed Jan 8 11:30:04 UTC 2020


Author: manu
Date: Wed Jan  8 11:30:03 2020
New Revision: 356486
URL: https://svnweb.freebsd.org/changeset/base/356486

Log:
  rk805: Add regnode_status method
  
  This allow consumers to check if the regulator is enable or not.
  
  Reviewed by:	mmel
  Differential Revision:	https://reviews.freebsd.org/D23005

Modified:
  head/sys/arm64/rockchip/rk805.c

Modified: head/sys/arm64/rockchip/rk805.c
==============================================================================
--- head/sys/arm64/rockchip/rk805.c	Wed Jan  8 11:29:22 2020	(r356485)
+++ head/sys/arm64/rockchip/rk805.c	Wed Jan  8 11:30:03 2020	(r356486)
@@ -413,6 +413,22 @@ rk805_regnode_voltage_to_reg(struct rk805_reg_sc *sc, 
 }
 
 static int
+rk805_regnode_status(struct regnode *regnode, int *status)
+{
+	struct rk805_reg_sc *sc;
+	uint8_t val;
+
+	sc = regnode_get_softc(regnode);
+
+	*status = 0;
+	rk805_read(sc->base_dev, sc->def->enable_reg, &val, 1);
+	if (val & sc->def->enable_mask)
+		*status = REGULATOR_STATUS_ENABLED;
+
+	return (0);
+}
+
+static int
 rk805_regnode_set_voltage(struct regnode *regnode, int min_uvolt,
     int max_uvolt, int *udelay)
 {
@@ -477,6 +493,7 @@ static regnode_method_t rk805_regnode_methods[] = {
 	/* Regulator interface */
 	REGNODEMETHOD(regnode_init,		rk805_regnode_init),
 	REGNODEMETHOD(regnode_enable,		rk805_regnode_enable),
+	REGNODEMETHOD(regnode_status,		rk805_regnode_status),
 	REGNODEMETHOD(regnode_set_voltage,	rk805_regnode_set_voltage),
 	REGNODEMETHOD(regnode_get_voltage,	rk805_regnode_get_voltage),
 	REGNODEMETHOD(regnode_check_voltage,	regnode_method_check_voltage),


More information about the svn-src-all mailing list