Module Name: src Committed By: dyoung Date: Fri Feb 26 01:12:56 UTC 2010
Modified Files: src/sys/dev/cardbus: cardbus.c cardbusvar.h if_rtw_cardbus.c Log Message: Introduce Cardbus_intr_establish(cardbus_devfunc_t, ...) and Cardbus_intr_disestablish(cardbus_devfunc_t, ...) and start using them. To generate a diff of this commit: cvs rdiff -u -r1.105 -r1.106 src/sys/dev/cardbus/cardbus.c cvs rdiff -u -r1.47 -r1.48 src/sys/dev/cardbus/cardbusvar.h cvs rdiff -u -r1.37 -r1.38 src/sys/dev/cardbus/if_rtw_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/cardbus.c diff -u src/sys/dev/cardbus/cardbus.c:1.105 src/sys/dev/cardbus/cardbus.c:1.106 --- src/sys/dev/cardbus/cardbus.c:1.105 Fri Feb 26 00:57:01 2010 +++ src/sys/dev/cardbus/cardbus.c Fri Feb 26 01:12:56 2010 @@ -1,4 +1,4 @@ -/* $NetBSD: cardbus.c,v 1.105 2010/02/26 00:57:01 dyoung Exp $ */ +/* $NetBSD: cardbus.c,v 1.106 2010/02/26 01:12:56 dyoung Exp $ */ /* * Copyright (c) 1997, 1998, 1999 and 2000 @@ -27,7 +27,7 @@ */ #include <sys/cdefs.h> -__KERNEL_RCSID(0, "$NetBSD: cardbus.c,v 1.105 2010/02/26 00:57:01 dyoung Exp $"); +__KERNEL_RCSID(0, "$NetBSD: cardbus.c,v 1.106 2010/02/26 01:12:56 dyoung Exp $"); #include "opt_cardbus.h" @@ -710,6 +710,14 @@ free(ct, M_DEVBUF); } +void * +Cardbus_intr_establish(cardbus_devfunc_t ct, + cardbus_intr_line_t irq, int level, int (*func)(void *), void *arg) +{ + return cardbus_intr_establish(ct->ct_cc, ct->ct_cf, irq, level, func, + arg); +} + /* * void *cardbus_intr_establish(cc, cf, irq, level, func, arg) * Interrupt handler of pccard. @@ -726,6 +734,12 @@ return ((*cf->cardbus_intr_establish)(cc, irq, level, func, arg)); } +void +Cardbus_intr_disestablish(cardbus_devfunc_t ct, void *handler) +{ + cardbus_intr_disestablish(ct->ct_cc, ct->ct_cf, handler); +} + /* * void cardbus_intr_disestablish(cc, cf, handler) * Interrupt handler of pccard. Index: src/sys/dev/cardbus/cardbusvar.h diff -u src/sys/dev/cardbus/cardbusvar.h:1.47 src/sys/dev/cardbus/cardbusvar.h:1.48 --- src/sys/dev/cardbus/cardbusvar.h:1.47 Thu Feb 25 00:47:39 2010 +++ src/sys/dev/cardbus/cardbusvar.h Fri Feb 26 01:12:56 2010 @@ -1,4 +1,4 @@ -/* $NetBSD: cardbusvar.h,v 1.47 2010/02/25 00:47:39 dyoung Exp $ */ +/* $NetBSD: cardbusvar.h,v 1.48 2010/02/26 01:12:56 dyoung Exp $ */ /* * Copyright (c) 1998, 1999 and 2000 @@ -303,6 +303,10 @@ int cardbus_attach_card(struct cardbus_softc *); void cardbus_detach_card(struct cardbus_softc *); +void * +Cardbus_intr_establish(cardbus_devfunc_t, + cardbus_intr_line_t, int, int (*)(void *), void *); +void Cardbus_intr_disestablish(cardbus_devfunc_t, void *); void *cardbus_intr_establish(cardbus_chipset_tag_t, cardbus_function_tag_t, cardbus_intr_line_t, int, int (*) (void *), void *arg); void cardbus_intr_disestablish(cardbus_chipset_tag_t, Index: src/sys/dev/cardbus/if_rtw_cardbus.c diff -u src/sys/dev/cardbus/if_rtw_cardbus.c:1.37 src/sys/dev/cardbus/if_rtw_cardbus.c:1.38 --- src/sys/dev/cardbus/if_rtw_cardbus.c:1.37 Thu Feb 25 23:01:48 2010 +++ src/sys/dev/cardbus/if_rtw_cardbus.c Fri Feb 26 01:12:56 2010 @@ -1,4 +1,4 @@ -/* $NetBSD: if_rtw_cardbus.c,v 1.37 2010/02/25 23:01:48 dyoung Exp $ */ +/* $NetBSD: if_rtw_cardbus.c,v 1.38 2010/02/26 01:12:56 dyoung Exp $ */ /*- * Copyright (c) 2004, 2005 David Young. All rights reserved. @@ -64,7 +64,7 @@ */ #include <sys/cdefs.h> -__KERNEL_RCSID(0, "$NetBSD: if_rtw_cardbus.c,v 1.37 2010/02/25 23:01:48 dyoung Exp $"); +__KERNEL_RCSID(0, "$NetBSD: if_rtw_cardbus.c,v 1.38 2010/02/26 01:12:56 dyoung Exp $"); #include "opt_inet.h" @@ -321,7 +321,7 @@ * Unhook the interrupt handler. */ if (csc->sc_ih != NULL) - cardbus_intr_disestablish(ct->ct_cc, ct->ct_cf, csc->sc_ih); + Cardbus_intr_disestablish(ct, csc->sc_ih); /* * Release bus space and close window. @@ -339,13 +339,11 @@ struct rtw_cardbus_softc *csc = device_private(self); struct rtw_softc *sc = &csc->sc_rtw; cardbus_devfunc_t ct = csc->sc_ct; - cardbus_chipset_tag_t cc = ct->ct_cc; - cardbus_function_tag_t cf = ct->ct_cf; /* * Map and establish the interrupt. */ - csc->sc_ih = cardbus_intr_establish(cc, cf, csc->sc_intrline, IPL_NET, + csc->sc_ih = Cardbus_intr_establish(ct, csc->sc_intrline, IPL_NET, rtw_intr, sc); if (csc->sc_ih == NULL) { aprint_error_dev(sc->sc_dev, @@ -367,8 +365,6 @@ struct rtw_cardbus_softc *csc = device_private(self); struct rtw_softc *sc = &csc->sc_rtw; cardbus_devfunc_t ct = csc->sc_ct; - cardbus_chipset_tag_t cc = ct->ct_cc; - cardbus_function_tag_t cf = ct->ct_cf; if (!rtw_suspend(self, qual)) return false; @@ -379,7 +375,7 @@ rtw_cardbus_funcregen(&sc->sc_regs, 0); /* Unhook the interrupt handler. */ - cardbus_intr_disestablish(cc, cf, csc->sc_ih); + Cardbus_intr_disestablish(ct, csc->sc_ih); csc->sc_ih = NULL; return true; }