Author: kevans
Date: Fri Jun 15 17:29:32 2018
New Revision: 335220
URL: https://svnweb.freebsd.org/changeset/base/335220

Log:
  extres/regulator: Switch boot_on/always_on sysctl to uint8
  
  These are represented as booleans on the kernel-side, but were being exposed
  as int. This was causing some funky things to happen when read later with
  sysctl(8), e.g. randomly reading super-high when the value was actually
  '0'/false.
  
  Reviewed by:  manu

Modified:
  head/sys/dev/extres/regulator/regulator.c

Modified: head/sys/dev/extres/regulator/regulator.c
==============================================================================
--- head/sys/dev/extres/regulator/regulator.c   Fri Jun 15 17:16:27 2018        
(r335219)
+++ head/sys/dev/extres/regulator/regulator.c   Fri Jun 15 17:29:32 2018        
(r335220)
@@ -379,15 +379,15 @@ regnode_create(device_t pdev, regnode_class_t regnode_
            OID_AUTO, "enable_cnt",
            CTLFLAG_RD, &regnode->enable_cnt, 0,
            "The regulator enable counter");
-       SYSCTL_ADD_INT(&regnode->sysctl_ctx,
+       SYSCTL_ADD_U8(&regnode->sysctl_ctx,
            SYSCTL_CHILDREN(regnode_oid),
            OID_AUTO, "boot_on",
-           CTLFLAG_RD, (int *) &regnode->std_param.boot_on, 0,
+           CTLFLAG_RD, (uint8_t *) &regnode->std_param.boot_on, 0,
            "Is enabled on boot");
-       SYSCTL_ADD_INT(&regnode->sysctl_ctx,
+       SYSCTL_ADD_U8(&regnode->sysctl_ctx,
            SYSCTL_CHILDREN(regnode_oid),
            OID_AUTO, "always_on",
-           CTLFLAG_RD, (int *)&regnode->std_param.always_on, 0,
+           CTLFLAG_RD, (uint8_t *)&regnode->std_param.always_on, 0,
            "Is always enabled");
 
        SYSCTL_ADD_PROC(&regnode->sysctl_ctx,
_______________________________________________
[email protected] mailing list
https://lists.freebsd.org/mailman/listinfo/svn-src-all
To unsubscribe, send any mail to "[email protected]"

Reply via email to