gic_fdt.c (e06afdb2856944d6db4e33d4bbe0e2dbbd057eb4) | gic_fdt.c (103d39efe0c68cb2a808c306b14c3f473a02535d) |
---|---|
1/*- 2 * Copyright (c) 2011,2016 The FreeBSD Foundation 3 * All rights reserved. 4 * 5 * This software was developed by Andrew Turner under 6 * sponsorship from the FreeBSD Foundation. 7 * 8 * Developed by Damjan Marion <damjan.marion@gmail.com> --- 144 unchanged lines hidden (view full) --- 153 */ 154 pxref = ofw_bus_find_iparent(ofw_bus_get_node(dev)); 155 if (pxref == 0 || xref == pxref) { 156 if (intr_pic_claim_root(dev, xref, arm_gic_intr, sc) != 0) { 157 device_printf(dev, "could not set PIC as a root\n"); 158 intr_pic_deregister(dev, xref); 159 goto cleanup; 160 } | 1/*- 2 * Copyright (c) 2011,2016 The FreeBSD Foundation 3 * All rights reserved. 4 * 5 * This software was developed by Andrew Turner under 6 * sponsorship from the FreeBSD Foundation. 7 * 8 * Developed by Damjan Marion <damjan.marion@gmail.com> --- 144 unchanged lines hidden (view full) --- 153 */ 154 pxref = ofw_bus_find_iparent(ofw_bus_get_node(dev)); 155 if (pxref == 0 || xref == pxref) { 156 if (intr_pic_claim_root(dev, xref, arm_gic_intr, sc) != 0) { 157 device_printf(dev, "could not set PIC as a root\n"); 158 intr_pic_deregister(dev, xref); 159 goto cleanup; 160 } |
161 162#ifdef SMP 163 if (intr_ipi_pic_register(dev, 0) != 0) { 164 device_printf(dev, "could not register for IPIs\n"); 165 goto cleanup; 166 } 167#endif |
|
161 } else { 162 if (sc->base.gic_res[2] == NULL) { 163 device_printf(dev, 164 "not root PIC must have defined interrupt\n"); 165 intr_pic_deregister(dev, xref); 166 goto cleanup; 167 } 168 if (bus_setup_intr(dev, sc->base.gic_res[2], INTR_TYPE_CLK, --- 188 unchanged lines hidden --- | 168 } else { 169 if (sc->base.gic_res[2] == NULL) { 170 device_printf(dev, 171 "not root PIC must have defined interrupt\n"); 172 intr_pic_deregister(dev, xref); 173 goto cleanup; 174 } 175 if (bus_setup_intr(dev, sc->base.gic_res[2], INTR_TYPE_CLK, --- 188 unchanged lines hidden --- |