Module Name:    src
Committed By:   jruoho
Date:           Wed Sep 28 15:52:48 UTC 2011

Modified Files:
        src/sys/kern: init_main.c subr_cpufreq.c
        src/sys/sys: cpufreq.h

Log Message:
Initialize cpufreq(9) normally from main().


To generate a diff of this commit:
cvs rdiff -u -r1.435 -r1.436 src/sys/kern/init_main.c
cvs rdiff -u -r1.1 -r1.2 src/sys/kern/subr_cpufreq.c
cvs rdiff -u -r1.1 -r1.2 src/sys/sys/cpufreq.h

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

Modified files:

Index: src/sys/kern/init_main.c
diff -u src/sys/kern/init_main.c:1.435 src/sys/kern/init_main.c:1.436
--- src/sys/kern/init_main.c:1.435	Sun Aug  7 13:33:01 2011
+++ src/sys/kern/init_main.c	Wed Sep 28 15:52:47 2011
@@ -1,4 +1,4 @@
-/*	$NetBSD: init_main.c,v 1.435 2011/08/07 13:33:01 rmind Exp $	*/
+/*	$NetBSD: init_main.c,v 1.436 2011/09/28 15:52:47 jruoho Exp $	*/
 
 /*-
  * Copyright (c) 2008, 2009 The NetBSD Foundation, Inc.
@@ -97,7 +97,7 @@
  */
 
 #include <sys/cdefs.h>
-__KERNEL_RCSID(0, "$NetBSD: init_main.c,v 1.435 2011/08/07 13:33:01 rmind Exp $");
+__KERNEL_RCSID(0, "$NetBSD: init_main.c,v 1.436 2011/09/28 15:52:47 jruoho Exp $");
 
 #include "opt_ddb.h"
 #include "opt_ipsec.h"
@@ -130,6 +130,7 @@ __KERNEL_RCSID(0, "$NetBSD: init_main.c,
 #include <sys/errno.h>
 #include <sys/callout.h>
 #include <sys/cpu.h>
+#include <sys/cpufreq.h>
 #include <sys/spldebug.h>
 #include <sys/kernel.h>
 #include <sys/mount.h>
@@ -417,6 +418,9 @@ main(void)
 	/* Initialize processor-sets */
 	psets_init();
 
+	/* Initialize cpufreq(9) */
+	cpufreq_init();
+
 	/* MI initialization of the boot cpu */
 	error = mi_cpu_attach(curcpu());
 	KASSERT(error == 0);

Index: src/sys/kern/subr_cpufreq.c
diff -u src/sys/kern/subr_cpufreq.c:1.1 src/sys/kern/subr_cpufreq.c:1.2
--- src/sys/kern/subr_cpufreq.c:1.1	Wed Sep 28 10:55:48 2011
+++ src/sys/kern/subr_cpufreq.c	Wed Sep 28 15:52:48 2011
@@ -1,4 +1,4 @@
-/*	$NetBSD: subr_cpufreq.c,v 1.1 2011/09/28 10:55:48 jruoho Exp $ */
+/*	$NetBSD: subr_cpufreq.c,v 1.2 2011/09/28 15:52:48 jruoho Exp $ */
 
 /*-
  * Copyright (c) 2011 The NetBSD Foundation, Inc.
@@ -30,18 +30,16 @@
  * POSSIBILITY OF SUCH DAMAGE.
  */
 #include <sys/cdefs.h>
-__KERNEL_RCSID(0, "$NetBSD: subr_cpufreq.c,v 1.1 2011/09/28 10:55:48 jruoho Exp $");
+__KERNEL_RCSID(0, "$NetBSD: subr_cpufreq.c,v 1.2 2011/09/28 15:52:48 jruoho Exp $");
 
 #include <sys/param.h>
 #include <sys/cpu.h>
 #include <sys/cpufreq.h>
 #include <sys/kmem.h>
 #include <sys/mutex.h>
-#include <sys/once.h>
 #include <sys/time.h>
 #include <sys/xcall.h>
 
-static int	 cpufreq_init(void);
 static int	 cpufreq_latency(void);
 static uint32_t	 cpufreq_get_max(void);
 static uint32_t	 cpufreq_get_min(void);
@@ -53,25 +51,19 @@ static void	 cpufreq_set_all_raw(uint32_
 static kmutex_t cpufreq_lock __cacheline_aligned;
 static struct cpufreq *cf_backend __read_mostly = NULL;
 
-static int
+void
 cpufreq_init(void)
 {
 
 	mutex_init(&cpufreq_lock, MUTEX_DEFAULT, IPL_NONE);
-
-	return 0;
 }
 
 int
 cpufreq_register(struct cpufreq *cf)
 {
-	static ONCE_DECL(cpufreq_once);
 	uint32_t count, i, j, k, m;
 	int rv;
 
-	rv = RUN_ONCE(&cpufreq_once, cpufreq_init);
-
-	KASSERT(rv == 0);
 	KASSERT(cf != NULL);
 	KASSERT(cf->cf_get_freq != NULL);
 	KASSERT(cf->cf_set_freq != NULL);

Index: src/sys/sys/cpufreq.h
diff -u src/sys/sys/cpufreq.h:1.1 src/sys/sys/cpufreq.h:1.2
--- src/sys/sys/cpufreq.h:1.1	Wed Sep 28 10:55:48 2011
+++ src/sys/sys/cpufreq.h	Wed Sep 28 15:52:47 2011
@@ -1,4 +1,4 @@
-/*	$NetBSD: cpufreq.h,v 1.1 2011/09/28 10:55:48 jruoho Exp $ */
+/*	$NetBSD: cpufreq.h,v 1.2 2011/09/28 15:52:47 jruoho Exp $ */
 
 /*-
  * Copyright (c) 2011 The NetBSD Foundation, Inc.
@@ -46,8 +46,8 @@
 #define CPUFREQ_STATE_MAX	 64
 #define CPUFREQ_LATENCY_MAX	 UINT16_MAX	  /* Maximum per-CPU latency */
 
-#define CPUFREQ_STATE_ENABLED	UINT32_MAX
-#define CPUFREQ_STATE_DISABLED	UINT32_MAX - 1
+#define CPUFREQ_STATE_ENABLED	 UINT32_MAX
+#define CPUFREQ_STATE_DISABLED	 UINT32_MAX - 1
 
 struct cpufreq_state {
 	uint32_t		 cfs_freq;	  /* MHz  */
@@ -76,6 +76,7 @@ struct cpufreq {
 };
 
 #ifdef _KERNEL
+void		cpufreq_init(void);
 int		cpufreq_register(struct cpufreq *);
 void		cpufreq_deregister(void);
 void		cpufreq_suspend(struct cpu_info *);

Reply via email to