Lines Matching refs:ofdev
510 static int grpci1_of_probe(struct platform_device *ofdev) in grpci1_of_probe() argument
520 dev_err(&ofdev->dev, "only one GRPCI1 supported\n"); in grpci1_of_probe()
524 if (ofdev->num_resources < 3) { in grpci1_of_probe()
525 dev_err(&ofdev->dev, "not enough APB/AHB resources\n"); in grpci1_of_probe()
529 priv = devm_kzalloc(&ofdev->dev, sizeof(*priv), GFP_KERNEL); in grpci1_of_probe()
531 dev_err(&ofdev->dev, "memory allocation failed\n"); in grpci1_of_probe()
534 platform_set_drvdata(ofdev, priv); in grpci1_of_probe()
535 priv->dev = &ofdev->dev; in grpci1_of_probe()
538 res = platform_get_resource(ofdev, IORESOURCE_MEM, 0); in grpci1_of_probe()
539 regs = devm_ioremap_resource(&ofdev->dev, res); in grpci1_of_probe()
549 dev_err(&ofdev->dev, "not in host system slot\n"); in grpci1_of_probe()
557 dev_err(&ofdev->dev, "BAR1 must be at least 256MByte\n"); in grpci1_of_probe()
563 dev_err(&ofdev->dev, "byte-twisting is required\n"); in grpci1_of_probe()
568 priv->irq = irq_of_parse_and_map(ofdev->dev.of_node, 0); in grpci1_of_probe()
569 dev_info(&ofdev->dev, "host found at 0x%p, irq%d\n", regs, priv->irq); in grpci1_of_probe()
572 priv->pci_area = ofdev->resource[1].start; in grpci1_of_probe()
573 priv->pci_area_end = ofdev->resource[1].end+1; in grpci1_of_probe()
574 priv->pci_io = ofdev->resource[2].start; in grpci1_of_probe()
575 priv->pci_conf = ofdev->resource[2].start + 0x10000; in grpci1_of_probe()
579 dev_err(&ofdev->dev, "unable to map PCI I/O area\n"); in grpci1_of_probe()
611 dev_err(&ofdev->dev, "unable to request PCI memory area\n"); in grpci1_of_probe()
617 dev_err(&ofdev->dev, "unable to request PCI I/O area\n"); in grpci1_of_probe()
650 err = devm_request_irq(&ofdev->dev, priv->irq, grpci1_jump_interrupt, 0, in grpci1_of_probe()
653 dev_err(&ofdev->dev, "ERR IRQ request failed: %d\n", err); in grpci1_of_probe()
658 err = devm_request_irq(&ofdev->dev, priv->irq_err, in grpci1_of_probe()
662 dev_err(&ofdev->dev, "ERR VIRQ request failed: %d\n", err); in grpci1_of_probe()
666 tmp = of_get_property(ofdev->dev.of_node, "all_pci_errors", &len); in grpci1_of_probe()
684 leon_pci_init(ofdev, &priv->info); in grpci1_of_probe()