summaryrefslogtreecommitdiffstats
path: root/sys/dev/pccbb
diff options
context:
space:
mode:
authorimp <imp@FreeBSD.org>2000-10-20 20:29:59 +0000
committerimp <imp@FreeBSD.org>2000-10-20 20:29:59 +0000
commite6c559b8afd699314e4496ab7c9c8cb1ae4e85d7 (patch)
treea18249ec65a8cdfd22ea905f7c2442e4215ff956 /sys/dev/pccbb
parent05ba5687097b06db8483122c7716c3b5d543904a (diff)
downloadFreeBSD-src-e6c559b8afd699314e4496ab7c9c8cb1ae4e85d7.zip
FreeBSD-src-e6c559b8afd699314e4496ab7c9c8cb1ae4e85d7.tar.gz
Allow interrupts to be sharable.
This allows us to probe, but not attach.
Diffstat (limited to 'sys/dev/pccbb')
-rw-r--r--sys/dev/pccbb/pccbb.c15
1 files changed, 6 insertions, 9 deletions
diff --git a/sys/dev/pccbb/pccbb.c b/sys/dev/pccbb/pccbb.c
index 35e35cf..aac968b 100644
--- a/sys/dev/pccbb/pccbb.c
+++ b/sys/dev/pccbb/pccbb.c
@@ -99,12 +99,6 @@
#define DETACH_FORCE 0x1
-#if !defined(lint)
-static const char rcsid[] =
- "$FreeBSD $";
-#endif
-
-
struct pccbb_sclist {
struct pccbb_softc *sc;
STAILQ_ENTRY(pccbb_sclist) entries;
@@ -390,9 +384,10 @@ pccbb_attach(device_t dev)
rid=PCCBBR_SOCKBASE;
sc->sc_base_res=bus_alloc_resource(dev, SYS_RES_MEMORY, &rid,
0,~0,1, RF_ACTIVE);
- if (!sc->sc_base_res){
+ if (!sc->sc_base_res) {
/*
- * XXX EVILE HACK BAD THING! XXX
+ * XXX eVILE HACK BAD THING! XXX
+ * The pci bus device should do this for us.
* Some BIOSes doesn't assign a memory space properly.
* So we try to manually put one in...
*/
@@ -426,7 +421,6 @@ pccbb_attach(device_t dev)
sc->sc_socketreg =
(struct pccbb_socketreg *)rman_get_virtual(sc->sc_base_res);
-
pccbb_chipinit(sc);
/* CSC Interrupt: Card detect interrupt on */
@@ -1398,6 +1392,9 @@ pccbb_pcic_alloc_resource(device_t self, device_t child, int type, int* rid,
end = 0xdffff;
}
+ if (type == SYS_RES_IRQ)
+ flags |= RF_SHAREABLE;
+
if (type == SYS_RES_MEMORY)
flags = (flags & ~RF_ALIGNMENT_MASK)
| rman_make_alignment_flags(PCCBB_MEMALIGN);
OpenPOWER on IntegriCloud