Module Name:    src
Committed By:   dyoung
Date:           Thu Mar 11 17:27:40 UTC 2010

Modified Files:
        src/sys/dev/cardbus: njata_cardbus.c njs_cardbus.c

Log Message:
Simplify interrupt (dis)establishment by two source transformations:

-       cardbus_intr_disestablish(cc, cf, ih);
+       Cardbus_intr_disestablish(ct, ih);

-       ih = cardbus_intr_establish(cc, cf, ...);
+       ih = Cardbus_intr_establish(ct, ...);

Tested by ITOH Yasufumi.  Results: njs(4) works, njata(4) hangs.
njata(4) also hangs in 5.0.1 and in 5.99.24 prior to this patch, so
there is no regression.


To generate a diff of this commit:
cvs rdiff -u -r1.12 -r1.13 src/sys/dev/cardbus/njata_cardbus.c
cvs rdiff -u -r1.15 -r1.16 src/sys/dev/cardbus/njs_cardbus.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/dev/cardbus/njata_cardbus.c
diff -u src/sys/dev/cardbus/njata_cardbus.c:1.12 src/sys/dev/cardbus/njata_cardbus.c:1.13
--- src/sys/dev/cardbus/njata_cardbus.c:1.12	Fri Feb 26 00:57:02 2010
+++ src/sys/dev/cardbus/njata_cardbus.c	Thu Mar 11 17:27:40 2010
@@ -1,4 +1,4 @@
-/*	$Id: njata_cardbus.c,v 1.12 2010/02/26 00:57:02 dyoung Exp $	*/
+/*	$Id: njata_cardbus.c,v 1.13 2010/03/11 17:27:40 dyoung Exp $	*/
 
 /*
  * Copyright (c) 2006 ITOH Yasufumi <it...@netbsd.org>.
@@ -27,7 +27,7 @@
  */
 
 #include <sys/cdefs.h>
-__KERNEL_RCSID(0, "$NetBSD: njata_cardbus.c,v 1.12 2010/02/26 00:57:02 dyoung Exp $");
+__KERNEL_RCSID(0, "$NetBSD: njata_cardbus.c,v 1.13 2010/03/11 17:27:40 dyoung Exp $");
 
 #include <sys/param.h>
 #include <sys/systm.h>
@@ -127,8 +127,6 @@
 	struct njata32_softc *sc = &csc->sc_njata32;
 	const struct njata32_cardbus_product *prod;
 	cardbus_devfunc_t ct = ca->ca_ct;
-	cardbus_chipset_tag_t cc = ct->ct_cc;
-	cardbus_function_tag_t cf = ct->ct_cf;
 	pcireg_t reg;
 	int csr;
 	uint8_t latency = 0x20;
@@ -211,7 +209,7 @@
 	/*
 	 * Establish the interrupt.
 	 */
-	sc->sc_ih = cardbus_intr_establish(cc, cf, ca->ca_intrline, IPL_BIO,
+	sc->sc_ih = Cardbus_intr_establish(ct, ca->ca_intrline, IPL_BIO,
 	    njata32_intr, sc);
 	if (sc->sc_ih == NULL) {
 		aprint_error("%s: unable to establish interrupt\n",
@@ -235,8 +233,7 @@
 		return rv;
 
 	if (sc->sc_ih)
-		cardbus_intr_disestablish(csc->sc_ct->ct_cc,
-		    csc->sc_ct->ct_cf, sc->sc_ih);
+		Cardbus_intr_disestablish(csc->sc_ct, sc->sc_ih);
 
 	if (sc->sc_flags & NJATA32_IO_MAPPED)
 		Cardbus_mapreg_unmap(csc->sc_ct, NJATA32_CARDBUS_BASEADDR_IO,

Index: src/sys/dev/cardbus/njs_cardbus.c
diff -u src/sys/dev/cardbus/njs_cardbus.c:1.15 src/sys/dev/cardbus/njs_cardbus.c:1.16
--- src/sys/dev/cardbus/njs_cardbus.c:1.15	Fri Feb 26 00:57:02 2010
+++ src/sys/dev/cardbus/njs_cardbus.c	Thu Mar 11 17:27:40 2010
@@ -1,4 +1,4 @@
-/*	$NetBSD: njs_cardbus.c,v 1.15 2010/02/26 00:57:02 dyoung Exp $	*/
+/*	$NetBSD: njs_cardbus.c,v 1.16 2010/03/11 17:27:40 dyoung Exp $	*/
 
 /*-
  * Copyright (c) 2004 The NetBSD Foundation, Inc.
@@ -30,7 +30,7 @@
  */
 
 #include <sys/cdefs.h>
-__KERNEL_RCSID(0, "$NetBSD: njs_cardbus.c,v 1.15 2010/02/26 00:57:02 dyoung Exp $");
+__KERNEL_RCSID(0, "$NetBSD: njs_cardbus.c,v 1.16 2010/03/11 17:27:40 dyoung Exp $");
 
 #include <sys/param.h>
 #include <sys/systm.h>
@@ -124,10 +124,7 @@
 	struct njsc32_softc *sc = &csc->sc_njsc32;
 	const struct njsc32_cardbus_product *prod;
 	cardbus_devfunc_t ct = ca->ca_ct;
-	cardbus_chipset_tag_t cc = ct->ct_cc;
-	cardbus_function_tag_t cf = ct->ct_cf;
-	pcireg_t reg;
-	int csr;
+	pcireg_t csr, reg;
 	u_int8_t latency = 0x20;
 
 	if ((prod = njs_cardbus_lookup(ca)) == NULL)
@@ -204,7 +201,7 @@
 	/*
 	 * Establish the interrupt.
 	 */
-	sc->sc_ih = cardbus_intr_establish(cc, cf, ca->ca_intrline, IPL_BIO,
+	sc->sc_ih = Cardbus_intr_establish(ct, ca->ca_intrline, IPL_BIO,
 	    njsc32_intr, sc);
 	if (sc->sc_ih == NULL) {
 		aprint_error_dev(self,
@@ -231,8 +228,7 @@
 		return rv;
 
 	if (sc->sc_ih)
-		cardbus_intr_disestablish(csc->sc_ct->ct_cc,
-		    csc->sc_ct->ct_cf, sc->sc_ih);
+		Cardbus_intr_disestablish(csc->sc_ct, sc->sc_ih);
 
 	if (sc->sc_flags & NJSC32_IO_MAPPED)
 		Cardbus_mapreg_unmap(csc->sc_ct, NJSC32_CARDBUS_BASEADDR_IO,

Reply via email to