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