.. | .. |
---|
345 | 345 | return pci_generic_config_write(bus, devfn, where, size, val); |
---|
346 | 346 | } |
---|
347 | 347 | |
---|
348 | | -struct pci_ecam_ops pci_thunder_ecam_ops = { |
---|
| 348 | +const struct pci_ecam_ops pci_thunder_ecam_ops = { |
---|
349 | 349 | .bus_shift = 20, |
---|
350 | 350 | .pci_ops = { |
---|
351 | 351 | .map_bus = pci_ecam_map_bus, |
---|
.. | .. |
---|
357 | 357 | #ifdef CONFIG_PCI_HOST_THUNDER_ECAM |
---|
358 | 358 | |
---|
359 | 359 | static const struct of_device_id thunder_ecam_of_match[] = { |
---|
360 | | - { .compatible = "cavium,pci-host-thunder-ecam" }, |
---|
| 360 | + { |
---|
| 361 | + .compatible = "cavium,pci-host-thunder-ecam", |
---|
| 362 | + .data = &pci_thunder_ecam_ops, |
---|
| 363 | + }, |
---|
361 | 364 | { }, |
---|
362 | 365 | }; |
---|
363 | | - |
---|
364 | | -static int thunder_ecam_probe(struct platform_device *pdev) |
---|
365 | | -{ |
---|
366 | | - return pci_host_common_probe(pdev, &pci_thunder_ecam_ops); |
---|
367 | | -} |
---|
368 | 366 | |
---|
369 | 367 | static struct platform_driver thunder_ecam_driver = { |
---|
370 | 368 | .driver = { |
---|
.. | .. |
---|
372 | 370 | .of_match_table = thunder_ecam_of_match, |
---|
373 | 371 | .suppress_bind_attrs = true, |
---|
374 | 372 | }, |
---|
375 | | - .probe = thunder_ecam_probe, |
---|
| 373 | + .probe = pci_host_common_probe, |
---|
376 | 374 | }; |
---|
377 | 375 | builtin_platform_driver(thunder_ecam_driver); |
---|
378 | 376 | |
---|