.. | .. |
---|
207 | 207 | return ret; |
---|
208 | 208 | } |
---|
209 | 209 | |
---|
210 | | -static struct pci_ecam_ops smp8759_ecam_ops = { |
---|
| 210 | +static const struct pci_ecam_ops smp8759_ecam_ops = { |
---|
211 | 211 | .bus_shift = 20, |
---|
212 | 212 | .pci_ops = { |
---|
213 | 213 | .map_bus = pci_ecam_map_bus, |
---|
.. | .. |
---|
273 | 273 | writel_relaxed(0, pcie->base + SMP8759_ENABLE + offset); |
---|
274 | 274 | |
---|
275 | 275 | virq = platform_get_irq(pdev, 1); |
---|
276 | | - if (virq <= 0) { |
---|
277 | | - dev_err(dev, "Failed to map IRQ\n"); |
---|
278 | | - return -ENXIO; |
---|
279 | | - } |
---|
| 276 | + if (virq < 0) |
---|
| 277 | + return virq; |
---|
280 | 278 | |
---|
281 | 279 | irq_dom = irq_domain_create_linear(fwnode, MSI_MAX, &dom_ops, pcie); |
---|
282 | 280 | if (!irq_dom) { |
---|
.. | .. |
---|
295 | 293 | spin_lock_init(&pcie->used_msi_lock); |
---|
296 | 294 | irq_set_chained_handler_and_data(virq, tango_msi_isr, pcie); |
---|
297 | 295 | |
---|
298 | | - return pci_host_common_probe(pdev, &smp8759_ecam_ops); |
---|
| 296 | + return pci_host_common_probe(pdev); |
---|
299 | 297 | } |
---|
300 | 298 | |
---|
301 | 299 | static const struct of_device_id tango_pcie_ids[] = { |
---|
302 | | - { .compatible = "sigma,smp8759-pcie" }, |
---|
| 300 | + { |
---|
| 301 | + .compatible = "sigma,smp8759-pcie", |
---|
| 302 | + .data = &smp8759_ecam_ops, |
---|
| 303 | + }, |
---|
303 | 304 | { }, |
---|
304 | 305 | }; |
---|
305 | 306 | |
---|