Module Name: src Committed By: matt Date: Thu Sep 6 02:02:04 UTC 2012
Modified Files: src/sys/arch/arm/gemini: gemini_pci.c src/sys/arch/arm/include: pci_machdep.h Log Message: Change pci_conf_hook to pass pc->conf_v Add pci_conf_interrupt To generate a diff of this commit: cvs rdiff -u -r1.11 -r1.12 src/sys/arch/arm/gemini/gemini_pci.c cvs rdiff -u -r1.8 -r1.9 src/sys/arch/arm/include/pci_machdep.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/arch/arm/gemini/gemini_pci.c diff -u src/sys/arch/arm/gemini/gemini_pci.c:1.11 src/sys/arch/arm/gemini/gemini_pci.c:1.12 --- src/sys/arch/arm/gemini/gemini_pci.c:1.11 Fri Jan 27 18:52:50 2012 +++ src/sys/arch/arm/gemini/gemini_pci.c Thu Sep 6 02:02:04 2012 @@ -1,4 +1,4 @@ -/* $NetBSD: gemini_pci.c,v 1.11 2012/01/27 18:52:50 para Exp $ */ +/* $NetBSD: gemini_pci.c,v 1.12 2012/09/06 02:02:04 matt Exp $ */ /* adapted from: * NetBSD: i80312_pci.c,v 1.9 2005/12/11 12:16:51 christos Exp @@ -44,7 +44,7 @@ */ #include <sys/cdefs.h> -__KERNEL_RCSID(0, "$NetBSD: gemini_pci.c,v 1.11 2012/01/27 18:52:50 para Exp $"); +__KERNEL_RCSID(0, "$NetBSD: gemini_pci.c,v 1.12 2012/09/06 02:02:04 matt Exp $"); #include <sys/cdefs.h> @@ -83,8 +83,8 @@ void gemini_pci_decompose_tag(void *, p int *); pcireg_t gemini_pci_conf_read(void *, pcitag_t, int); void gemini_pci_conf_write(void *, pcitag_t, int, pcireg_t); -int gemini_pci_conf_hook(pci_chipset_tag_t, int, int, int, - pcireg_t); +int gemini_pci_conf_hook(void *, int, int, int, pcireg_t); +int gemini_pci_conf_interrupt(void *, int, int, int, int, int *); int gemini_pci_intr_map(const struct pci_attach_args *, pci_intr_handle_t *); @@ -184,6 +184,7 @@ gemini_pci_init(pci_chipset_tag_t pc, vo pc->pc_intr_disestablish = gemini_pci_intr_disestablish; pc->pc_conf_hook = gemini_pci_conf_hook; + pc->pc_conf_interrupt = gemini_pci_conf_interrupt; /* * initialize copy of CFG_CMD @@ -233,12 +234,12 @@ gemini_pci_init(pci_chipset_tag_t pc, vo } void -pci_conf_interrupt(pci_chipset_tag_t pc, int a, int b, int c, int d, int *p) +gemini_pci_conf_interrupt(void *v, int a, int b, int c, int d, int *p) { } int -gemini_pci_conf_hook(pci_chipset_tag_t pc, int bus, int device, int function, pcireg_t id) +gemini_pci_conf_hook(void *v, int bus, int device, int function, pcireg_t id) { int rv; Index: src/sys/arch/arm/include/pci_machdep.h diff -u src/sys/arch/arm/include/pci_machdep.h:1.8 src/sys/arch/arm/include/pci_machdep.h:1.9 --- src/sys/arch/arm/include/pci_machdep.h:1.8 Sun Sep 2 13:57:18 2012 +++ src/sys/arch/arm/include/pci_machdep.h Thu Sep 6 02:02:03 2012 @@ -1,4 +1,4 @@ -/* $NetBSD: pci_machdep.h,v 1.8 2012/09/02 13:57:18 matt Exp $ */ +/* $NetBSD: pci_machdep.h,v 1.9 2012/09/06 02:02:03 matt Exp $ */ /* * Modified for arm32 by Mark Brinicombe @@ -74,9 +74,9 @@ struct arm32_pci_chipset { void (*pc_intr_disestablish)(void *, void *); #ifdef __HAVE_PCI_CONF_HOOK - int (*pc_conf_hook)(pci_chipset_tag_t, int, int, int, - pcireg_t); + int (*pc_conf_hook)(void *, int, int, int, pcireg_t); #endif + void (*pc_conf_interrupt)(void *, int, int, int, int, int *); uint32_t pc_cfg_cmd; }; @@ -108,7 +108,9 @@ struct arm32_pci_chipset { (*(c)->pc_intr_disestablish)((c)->pc_intr_v, (iv)) #ifdef __HAVE_PCI_CONF_HOOK #define pci_conf_hook(c, b, d, f, id) \ - (*(c)->pc_conf_hook)((c), (b), (d), (f), (id)) + (*(c)->pc_conf_hook)((c)->pc_conf_v, (b), (d), (f), (id)) #endif +#define pci_conf_interrupt(c, b, d, i, s, p) \ + (*(c)->pc_conf_interrupt)((c)->pc_conf_v, (b), (d), (i), (s), (p)) #endif /* _ARM_PCI_MACHDEP_H_ */