Lines Matching full:dp
44 static unsigned int psycho_irq_build(struct device_node *dp, in psycho_irq_build() argument
74 static void __init psycho_irq_trans_init(struct device_node *dp) in psycho_irq_trans_init() argument
78 dp->irq_trans = prom_early_alloc(sizeof(struct of_irq_controller)); in psycho_irq_trans_init()
79 dp->irq_trans->irq_build = psycho_irq_build; in psycho_irq_trans_init()
81 regs = of_get_property(dp, "reg", NULL); in psycho_irq_trans_init()
82 dp->irq_trans->data = (void *) regs[2].phys_addr; in psycho_irq_trans_init()
183 static int sabre_device_needs_wsync(struct device_node *dp) in sabre_device_needs_wsync() argument
185 struct device_node *parent = dp->parent; in sabre_device_needs_wsync()
222 static unsigned int sabre_irq_build(struct device_node *dp, in sabre_irq_build() argument
259 regs = of_get_property(dp, "reg", NULL); in sabre_irq_build()
260 if (regs && sabre_device_needs_wsync(dp)) { in sabre_irq_build()
270 static void __init sabre_irq_trans_init(struct device_node *dp) in sabre_irq_trans_init() argument
276 dp->irq_trans = prom_early_alloc(sizeof(struct of_irq_controller)); in sabre_irq_trans_init()
277 dp->irq_trans->irq_build = sabre_irq_build; in sabre_irq_trans_init()
281 regs = of_get_property(dp, "reg", NULL); in sabre_irq_trans_init()
284 busrange = of_get_property(dp, "bus-range", NULL); in sabre_irq_trans_init()
287 dp->irq_trans->data = irq_data; in sabre_irq_trans_init()
379 static unsigned int schizo_irq_build(struct device_node *dp, in schizo_irq_build() argument
427 static void __init __schizo_irq_trans_init(struct device_node *dp, in __schizo_irq_trans_init() argument
433 dp->irq_trans = prom_early_alloc(sizeof(struct of_irq_controller)); in __schizo_irq_trans_init()
434 dp->irq_trans->irq_build = schizo_irq_build; in __schizo_irq_trans_init()
438 regs = of_get_property(dp, "reg", NULL); in __schizo_irq_trans_init()
439 dp->irq_trans->data = irq_data; in __schizo_irq_trans_init()
446 irq_data->portid = of_getintprop_default(dp, "portid", 0); in __schizo_irq_trans_init()
447 irq_data->chip_version = of_getintprop_default(dp, "version#", 0); in __schizo_irq_trans_init()
450 static void __init schizo_irq_trans_init(struct device_node *dp) in schizo_irq_trans_init() argument
452 __schizo_irq_trans_init(dp, 0); in schizo_irq_trans_init()
455 static void __init tomatillo_irq_trans_init(struct device_node *dp) in tomatillo_irq_trans_init() argument
457 __schizo_irq_trans_init(dp, 1); in tomatillo_irq_trans_init()
460 static unsigned int pci_sun4v_irq_build(struct device_node *dp, in pci_sun4v_irq_build() argument
469 static void __init pci_sun4v_irq_trans_init(struct device_node *dp) in pci_sun4v_irq_trans_init() argument
473 dp->irq_trans = prom_early_alloc(sizeof(struct of_irq_controller)); in pci_sun4v_irq_trans_init()
474 dp->irq_trans->irq_build = pci_sun4v_irq_build; in pci_sun4v_irq_trans_init()
476 regs = of_get_property(dp, "reg", NULL); in pci_sun4v_irq_trans_init()
477 dp->irq_trans->data = (void *) (unsigned long) in pci_sun4v_irq_trans_init()
511 static unsigned int fire_irq_build(struct device_node *dp, in fire_irq_build() argument
543 static void __init fire_irq_trans_init(struct device_node *dp) in fire_irq_trans_init() argument
548 dp->irq_trans = prom_early_alloc(sizeof(struct of_irq_controller)); in fire_irq_trans_init()
549 dp->irq_trans->irq_build = fire_irq_build; in fire_irq_trans_init()
553 regs = of_get_property(dp, "reg", NULL); in fire_irq_trans_init()
554 dp->irq_trans->data = irq_data; in fire_irq_trans_init()
557 irq_data->portid = of_getintprop_default(dp, "portid", 0); in fire_irq_trans_init()
649 static unsigned int sbus_of_build_irq(struct device_node *dp, in sbus_of_build_irq() argument
661 regs = of_get_property(dp, "reg", NULL); in sbus_of_build_irq()
706 static void __init sbus_irq_trans_init(struct device_node *dp) in sbus_irq_trans_init() argument
710 dp->irq_trans = prom_early_alloc(sizeof(struct of_irq_controller)); in sbus_irq_trans_init()
711 dp->irq_trans->irq_build = sbus_of_build_irq; in sbus_irq_trans_init()
713 regs = of_get_property(dp, "reg", NULL); in sbus_irq_trans_init()
714 dp->irq_trans->data = (void *) (unsigned long) regs->phys_addr; in sbus_irq_trans_init()
719 static unsigned int central_build_irq(struct device_node *dp, in central_build_irq() argument
729 if (of_node_name_eq(dp, "eeprom")) { in central_build_irq()
731 } else if (of_node_name_eq(dp, "zs")) { in central_build_irq()
733 } else if (of_node_name_eq(dp, "clock-board")) { in central_build_irq()
753 static void __init central_irq_trans_init(struct device_node *dp) in central_irq_trans_init() argument
755 dp->irq_trans = prom_early_alloc(sizeof(struct of_irq_controller)); in central_irq_trans_init()
756 dp->irq_trans->irq_build = central_build_irq; in central_irq_trans_init()
758 dp->irq_trans->data = dp; in central_irq_trans_init()
784 static unsigned int sun4v_vdev_irq_build(struct device_node *dp, in sun4v_vdev_irq_build() argument
793 static void __init sun4v_vdev_irq_trans_init(struct device_node *dp) in sun4v_vdev_irq_trans_init() argument
797 dp->irq_trans = prom_early_alloc(sizeof(struct of_irq_controller)); in sun4v_vdev_irq_trans_init()
798 dp->irq_trans->irq_build = sun4v_vdev_irq_build; in sun4v_vdev_irq_trans_init()
800 regs = of_get_property(dp, "reg", NULL); in sun4v_vdev_irq_trans_init()
801 dp->irq_trans->data = (void *) (unsigned long) in sun4v_vdev_irq_trans_init()
805 void __init irq_trans_init(struct device_node *dp) in irq_trans_init() argument
813 model = of_get_property(dp, "model", NULL); in irq_trans_init()
815 model = of_get_property(dp, "compatible", NULL); in irq_trans_init()
821 t->init(dp); in irq_trans_init()
828 if (of_node_name_eq(dp, "sbus") || in irq_trans_init()
829 of_node_name_eq(dp, "sbi")) { in irq_trans_init()
830 sbus_irq_trans_init(dp); in irq_trans_init()
834 if (of_node_name_eq(dp, "fhc") && in irq_trans_init()
835 of_node_name_eq(dp->parent, "central")) { in irq_trans_init()
836 central_irq_trans_init(dp); in irq_trans_init()
839 if (of_node_name_eq(dp, "virtual-devices") || in irq_trans_init()
840 of_node_name_eq(dp, "niu")) { in irq_trans_init()
841 sun4v_vdev_irq_trans_init(dp); in irq_trans_init()