Module Name:    src
Committed By:   matt
Date:           Wed Apr  2 11:35:36 UTC 2014

Modified Files:
        src/sys/arch/arm/footbridge: footbridge_irqhandler.c
            footbridge_irqhandler.h
        src/sys/arch/cats/cats: autoconf.c

Log Message:
Defer intr evcnt_attach to cpu_configure


To generate a diff of this commit:
cvs rdiff -u -r1.24 -r1.25 \
    src/sys/arch/arm/footbridge/footbridge_irqhandler.c
cvs rdiff -u -r1.5 -r1.6 src/sys/arch/arm/footbridge/footbridge_irqhandler.h
cvs rdiff -u -r1.18 -r1.19 src/sys/arch/cats/cats/autoconf.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/arm/footbridge/footbridge_irqhandler.c
diff -u src/sys/arch/arm/footbridge/footbridge_irqhandler.c:1.24 src/sys/arch/arm/footbridge/footbridge_irqhandler.c:1.25
--- src/sys/arch/arm/footbridge/footbridge_irqhandler.c:1.24	Wed Mar 26 08:51:59 2014
+++ src/sys/arch/arm/footbridge/footbridge_irqhandler.c	Wed Apr  2 11:35:36 2014
@@ -1,4 +1,4 @@
-/*	$NetBSD: footbridge_irqhandler.c,v 1.24 2014/03/26 08:51:59 christos Exp $	*/
+/*	$NetBSD: footbridge_irqhandler.c,v 1.25 2014/04/02 11:35:36 matt Exp $	*/
 
 /*
  * Copyright (c) 2001, 2002 Wasabi Systems, Inc.
@@ -40,7 +40,7 @@
 #endif
 
 #include <sys/cdefs.h>
-__KERNEL_RCSID(0,"$NetBSD: footbridge_irqhandler.c,v 1.24 2014/03/26 08:51:59 christos Exp $");
+__KERNEL_RCSID(0,"$NetBSD: footbridge_irqhandler.c,v 1.25 2014/04/02 11:35:36 matt Exp $");
 
 #include "opt_irqstats.h"
 
@@ -195,10 +195,6 @@ footbridge_intr_init(void)
 	
 	for (i = 0, iq = footbridge_intrq; i < NIRQ; i++, iq++) {
 		TAILQ_INIT(&iq->iq_list);
-
-		snprintf(iq->iq_name, sizeof(iq->iq_name), "irq %d", i);
-		evcnt_attach_dynamic(&iq->iq_ev, EVCNT_TYPE_INTR,
-		    NULL, "footbridge", iq->iq_name);
 	}
 	
 	footbridge_intr_calculate_masks();
@@ -207,6 +203,20 @@ footbridge_intr_init(void)
 	enable_interrupts(I32_bit);
 }
 
+void
+footbridge_intr_evcnt_attach(void)
+{
+	struct intrq *iq;
+	int i;
+
+	for (i = 0, iq = footbridge_intrq; i < NIRQ; i++, iq++) {
+
+		snprintf(iq->iq_name, sizeof(iq->iq_name), "irq %d", i);
+		evcnt_attach_dynamic(&iq->iq_ev, EVCNT_TYPE_INTR,
+		    NULL, "footbridge", iq->iq_name);
+	}
+}
+
 void *
 footbridge_intr_claim(int irq, int ipl, const char *name, int (*func)(void *), void *arg)
 {

Index: src/sys/arch/arm/footbridge/footbridge_irqhandler.h
diff -u src/sys/arch/arm/footbridge/footbridge_irqhandler.h:1.5 src/sys/arch/arm/footbridge/footbridge_irqhandler.h:1.6
--- src/sys/arch/arm/footbridge/footbridge_irqhandler.h:1.5	Sun Dec 11 12:16:45 2005
+++ src/sys/arch/arm/footbridge/footbridge_irqhandler.h	Wed Apr  2 11:35:36 2014
@@ -1,4 +1,4 @@
-/*	$NetBSD: footbridge_irqhandler.h,v 1.5 2005/12/11 12:16:45 christos Exp $	*/
+/*	$NetBSD: footbridge_irqhandler.h,v 1.6 2014/04/02 11:35:36 matt Exp $	*/
 
 /*
  * Copyright (c) 2001, 2002 Wasabi Systems, Inc.
@@ -51,6 +51,7 @@ void	footbridge_intr_disestablish(void *
 #ifdef _KERNEL
 void *footbridge_intr_claim(int irq, int ipl, const char *name, int (*func)(void *), void *arg);
 void footbridge_intr_init(void);
+void footbridge_intr_evcnt_attach(void);
 void footbridge_intr_disestablish(void *cookie);
 #endif	/* _KERNEL */
 

Index: src/sys/arch/cats/cats/autoconf.c
diff -u src/sys/arch/cats/cats/autoconf.c:1.18 src/sys/arch/cats/cats/autoconf.c:1.19
--- src/sys/arch/cats/cats/autoconf.c:1.18	Sat Oct 27 17:17:43 2012
+++ src/sys/arch/cats/cats/autoconf.c	Wed Apr  2 11:35:36 2014
@@ -1,4 +1,4 @@
-/*	$NetBSD: autoconf.c,v 1.18 2012/10/27 17:17:43 chs Exp $	*/
+/*	$NetBSD: autoconf.c,v 1.19 2014/04/02 11:35:36 matt Exp $	*/
 
 /*
  * Copyright (c) 1994-1998 Mark Brinicombe.
@@ -41,7 +41,7 @@
  */
 
 #include <sys/cdefs.h>
-__KERNEL_RCSID(0, "$NetBSD: autoconf.c,v 1.18 2012/10/27 17:17:43 chs Exp $");
+__KERNEL_RCSID(0, "$NetBSD: autoconf.c,v 1.19 2014/04/02 11:35:36 matt Exp $");
 
 #include "opt_md.h"
 
@@ -136,6 +136,7 @@ extern int footbridge_imask[NIPL];
 void
 cpu_configure(void)
 {
+	footbridge_intr_evcnt_attach();
 	/*
 	 * Since various PCI interrupts could be routed via the ICU
 	 * (for PCI devices in the bridge) we need to set up the ICU

Reply via email to