001-4.15-10-bcm63xx_enet-do-not-rely-on-probe-order.patch 1.5 KB

1234567891011121314151617181920212223242526272829303132333435363738394041
  1. From 71710bb6cbc82f411a4e5faafa0c3178e48e7137 Mon Sep 17 00:00:00 2001
  2. From: Jonas Gorski <[email protected]>
  3. Date: Tue, 30 May 2017 13:31:45 +0200
  4. Subject: [PATCH 3/6] bcm63xx_enet: do not rely on probe order
  5. Do not rely on the shared device being probed before the enet(sw)
  6. devices. This makes it easier to eventually move out the shared
  7. device as a dma controller driver (what it should be).
  8. Signed-off-by: Jonas Gorski <[email protected]>
  9. ---
  10. drivers/net/ethernet/broadcom/bcm63xx_enet.c | 9 ++-------
  11. 1 file changed, 2 insertions(+), 7 deletions(-)
  12. --- a/drivers/net/ethernet/broadcom/bcm63xx_enet.c
  13. +++ b/drivers/net/ethernet/broadcom/bcm63xx_enet.c
  14. @@ -1739,10 +1739,8 @@ static int bcm_enet_probe(struct platfor
  15. const char *clk_name;
  16. int i, ret;
  17. - /* stop if shared driver failed, assume driver->probe will be
  18. - * called in the same order we register devices (correct ?) */
  19. if (!bcm_enet_shared_base[0])
  20. - return -ENODEV;
  21. + return -EPROBE_DEFER;
  22. res_irq = platform_get_resource(pdev, IORESOURCE_IRQ, 0);
  23. res_irq_rx = platform_get_resource(pdev, IORESOURCE_IRQ, 1);
  24. @@ -2714,11 +2712,8 @@ static int bcm_enetsw_probe(struct platf
  25. struct resource *res_mem;
  26. int ret, irq_rx, irq_tx;
  27. - /* stop if shared driver failed, assume driver->probe will be
  28. - * called in the same order we register devices (correct ?)
  29. - */
  30. if (!bcm_enet_shared_base[0])
  31. - return -ENODEV;
  32. + return -EPROBE_DEFER;
  33. res_mem = platform_get_resource(pdev, IORESOURCE_MEM, 0);
  34. irq_rx = platform_get_irq(pdev, 0);