static int ltq_pci_probe(struct platform_device *pdev) { struct resource *res_cfg, *res_bridge; pci_clear_flags(PCI_PROBE_ONLY); res_cfg = platform_get_resource(pdev, IORESOURCE_MEM, 0); res_bridge = platform_get_resource(pdev, IORESOURCE_MEM, 1); if (!res_cfg || !res_bridge) { dev_err(&pdev->dev, "missing memory reources\n"); return -EINVAL; } ltq_pci_membase = devm_request_and_ioremap(&pdev->dev, res_bridge); ltq_pci_mapped_cfg = devm_request_and_ioremap(&pdev->dev, res_cfg); if (!ltq_pci_membase || !ltq_pci_mapped_cfg) { dev_err(&pdev->dev, "failed to remap resources\n"); return -ENOMEM; } ltq_pci_startup(pdev); pci_load_of_ranges(&pci_controller, pdev->dev.of_node); register_pci_controller(&pci_controller); return 0; }
static int ltq_pci_probe(struct platform_device *pdev) { struct resource *res_cfg, *res_bridge; pci_clear_flags(PCI_PROBE_ONLY); res_bridge = platform_get_resource(pdev, IORESOURCE_MEM, 1); ltq_pci_membase = devm_ioremap_resource(&pdev->dev, res_bridge); if (IS_ERR(ltq_pci_membase)) return PTR_ERR(ltq_pci_membase); res_cfg = platform_get_resource(pdev, IORESOURCE_MEM, 0); ltq_pci_mapped_cfg = devm_ioremap_resource(&pdev->dev, res_cfg); if (IS_ERR(ltq_pci_mapped_cfg)) return PTR_ERR(ltq_pci_mapped_cfg); ltq_pci_startup(pdev); pci_load_of_ranges(&pci_controller, pdev->dev.of_node); register_pci_controller(&pci_controller); return 0; }