MCPcopy Create free account
hub / github.com/F-Stack/f-stack / mips_pic_register_isrcs

Function mips_pic_register_isrcs

freebsd/mips/mips/mips_pic.c:185–216  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

183}
184
185static int
186mips_pic_register_isrcs(struct mips_pic_softc *sc)
187{
188 int error;
189 uint32_t irq, i, tmpirq;
190 struct intr_irqsrc *isrc;
191 char *name;
192
193 for (irq = 0; irq < sc->nirqs; irq++) {
194 sc->pic_irqs[irq].irq = irq;
195
196 isrc = PIC_INTR_ISRC(sc, irq);
197 if (irq < NSOFT_IRQS) {
198 name = "sint";
199 tmpirq = irq;
200 } else {
201 name = "int";
202 tmpirq = irq - NSOFT_IRQS;
203 }
204 error = intr_isrc_register(isrc, sc->pic_dev, 0, "%s%u",
205 name, tmpirq);
206 if (error != 0) {
207 for (i = 0; i < irq; i++) {
208 intr_isrc_deregister(PIC_INTR_ISRC(sc, i));
209 }
210 device_printf(sc->pic_dev, "%s failed", __func__);
211 return (error);
212 }
213 }
214
215 return (0);
216}
217
218static int
219mips_pic_attach(device_t dev)

Callers 1

mips_pic_attachFunction · 0.85

Calls 3

intr_isrc_registerFunction · 0.85
intr_isrc_deregisterFunction · 0.85
device_printfFunction · 0.85

Tested by

no test coverage detected