示例#1
0
static int
apb_teardown_intr(device_t dev, device_t child, struct resource *ires,
    void *cookie)
{
#ifdef INTRNG
	 return (intr_teardown_irq(child, ires, cookie));
#else
	struct apb_softc *sc = device_get_softc(dev);
	int irq, result;

	irq = rman_get_start(ires);
	if (irq > APB_IRQ_END)
		panic("%s: bad irq %d", __func__, irq);

	if (sc->sc_eventstab[irq] == NULL)
		panic("Trying to teardown unoccupied IRQ");

	apb_mask_irq((void*)irq);

	result = intr_event_remove_handler(cookie);
	if (!result)
		sc->sc_eventstab[irq] = NULL;

	return (result);
#endif
}
示例#2
0
文件: nexus.c 项目: tomtor/freebsd
static int
nexus_teardown_intr(device_t dev, device_t child, struct resource *r, void *ih)
{

#ifdef INTRNG
	return (intr_teardown_irq(child, r, ih));
#else
	return (intr_irq_remove_handler(child, rman_get_start(r), ih));
#endif
}
示例#3
0
static int
nexus_teardown_intr(device_t dev, device_t child, struct resource *r, void *ih)
{

#ifdef INTRNG
	return (intr_teardown_irq(child, r, ih));
#else
	printf("Unimplemented %s at %s:%d\n", __func__, __FILE__, __LINE__);
	return (0);
#endif
}
示例#4
0
static int
nexus_teardown_intr(device_t dev, device_t child, struct resource *r, void *ih)
{

	return (intr_teardown_irq(child, r, ih));
}