mirror of
https://git.FreeBSD.org/src.git
synced 2025-01-27 16:39:08 +00:00
Postpone allocation of IRQ resource to the time when interrupt
controller devices are attached. This has already been done for bus_setup_intr(). There was no doubt that if someone wants to setup an interrupt, corresponding interrupt controller device must already be attached. However, the same must be valid for allocation of an interrupt resource unless the allocation is done blindly, without any information that such interrupt even exists. While it was done this blind way before, it won't be possible after next INTRNG change.
This commit is contained in:
parent
550d01a211
commit
4d7f3703e2
Notes:
svn2git
2020-12-20 02:59:44 +00:00
svn path=/head/; revision=301266
@ -78,7 +78,6 @@ __FBSDID("$FreeBSD$");
|
||||
|
||||
static struct resource_spec imx6_anatop_spec[] = {
|
||||
{ SYS_RES_MEMORY, 0, RF_ACTIVE },
|
||||
{ SYS_RES_IRQ, 0, RF_ACTIVE },
|
||||
{ -1, 0 }
|
||||
};
|
||||
#define MEMRES 0
|
||||
@ -637,11 +636,20 @@ initialize_tempmon(struct imx6_anatop_softc *sc)
|
||||
static void
|
||||
intr_setup(void *arg)
|
||||
{
|
||||
int rid;
|
||||
struct imx6_anatop_softc *sc;
|
||||
|
||||
sc = arg;
|
||||
bus_setup_intr(sc->dev, sc->res[IRQRES], INTR_TYPE_MISC | INTR_MPSAFE,
|
||||
tempmon_intr, NULL, sc, &sc->temp_intrhand);
|
||||
rid = 0;
|
||||
sc->res[IRQRES] = bus_alloc_resource_any(sc->dev, SYS_RES_IRQ, &rid,
|
||||
RF_ACTIVE);
|
||||
if (sc->res[IRQRES] != NULL) {
|
||||
bus_setup_intr(sc->dev, sc->res[IRQRES],
|
||||
INTR_TYPE_MISC | INTR_MPSAFE, tempmon_intr, NULL, sc,
|
||||
&sc->temp_intrhand);
|
||||
} else {
|
||||
device_printf(sc->dev, "Cannot allocate IRQ resource\n");
|
||||
}
|
||||
config_intrhook_disestablish(&sc->intr_setup_hook);
|
||||
}
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user