Module Name:    src
Committed By:   mlelstv
Date:           Sat Dec  8 06:53:11 UTC 2018

Modified Files:
        src/sys/arch/evbarm/rpi: rpi_vcmbox.c

Log Message:
Add machdep.cpu.frequency.available node to support estd.

While the RPI can run at many intermediate clock frequencies,
this is sufficient for estd and is known to work with every
firmware revision.


To generate a diff of this commit:
cvs rdiff -u -r1.4 -r1.5 src/sys/arch/evbarm/rpi/rpi_vcmbox.c

Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.

Modified files:

Index: src/sys/arch/evbarm/rpi/rpi_vcmbox.c
diff -u src/sys/arch/evbarm/rpi/rpi_vcmbox.c:1.4 src/sys/arch/evbarm/rpi/rpi_vcmbox.c:1.5
--- src/sys/arch/evbarm/rpi/rpi_vcmbox.c:1.4	Sat Oct  4 13:18:34 2014
+++ src/sys/arch/evbarm/rpi/rpi_vcmbox.c	Sat Dec  8 06:53:11 2018
@@ -1,4 +1,4 @@
-/* $NetBSD: rpi_vcmbox.c,v 1.4 2014/10/04 13:18:34 mlelstv Exp $ */
+/* $NetBSD: rpi_vcmbox.c,v 1.5 2018/12/08 06:53:11 mlelstv Exp $ */
 
 /*-
  * Copyright (c) 2013 Jared D. McNeill <jmcne...@invisible.ca>
@@ -31,7 +31,7 @@
  */
 
 #include <sys/cdefs.h>
-__KERNEL_RCSID(0, "$NetBSD: rpi_vcmbox.c,v 1.4 2014/10/04 13:18:34 mlelstv Exp $");
+__KERNEL_RCSID(0, "$NetBSD: rpi_vcmbox.c,v 1.5 2018/12/08 06:53:11 mlelstv Exp $");
 
 #include <sys/param.h>
 #include <sys/types.h>
@@ -233,6 +233,7 @@ vcmbox_cpufreq_init(struct vcmbox_softc 
 {
 	const struct sysctlnode *node, *cpunode, *freqnode;
 	int error;
+	static char available[20];
 
 	error = vcmbox_read_clockrate(sc, VCPROPTAG_GET_MIN_CLOCKRATE,
 	    VCPROP_CLK_ARM, &sc->sc_cpu_minrate);
@@ -297,6 +298,16 @@ vcmbox_cpufreq_init(struct vcmbox_softc 
 		goto sysctl_failed;
 	sc->sc_node_max = node->sysctl_num;
 
+	snprintf(available, sizeof(available), "%" PRIu32 " %" PRIu32,
+	    RATE2MHZ(sc->sc_cpu_minrate), RATE2MHZ(sc->sc_cpu_maxrate));
+
+	error = sysctl_createv(&sc->sc_log, 0, &freqnode, &node,
+	    CTLFLAG_PERMANENT, CTLTYPE_STRING, "available", NULL,
+	    NULL, 0, available, strlen(available),
+	    CTL_CREATE, CTL_EOL);
+	if (error)
+		goto sysctl_failed;
+
 	return 0;
 
 sysctl_failed:

Reply via email to