diff options
| -rw-r--r-- | drivers/net/sfc/falcon.c | 4 | ||||
| -rw-r--r-- | drivers/net/sfc/falcon_boards.c | 13 | ||||
| -rw-r--r-- | drivers/net/sfc/nic.h | 2 |
3 files changed, 7 insertions, 12 deletions
diff --git a/drivers/net/sfc/falcon.c b/drivers/net/sfc/falcon.c index d294d66fd600..08278e7302b3 100644 --- a/drivers/net/sfc/falcon.c +++ b/drivers/net/sfc/falcon.c | |||
| @@ -1320,7 +1320,9 @@ static int falcon_probe_nvconfig(struct efx_nic *efx) | |||
| 1320 | 1320 | ||
| 1321 | EFX_LOG(efx, "PHY is %d phy_id %d\n", efx->phy_type, efx->mdio.prtad); | 1321 | EFX_LOG(efx, "PHY is %d phy_id %d\n", efx->phy_type, efx->mdio.prtad); |
| 1322 | 1322 | ||
| 1323 | falcon_probe_board(efx, board_rev); | 1323 | rc = falcon_probe_board(efx, board_rev); |
| 1324 | if (rc) | ||
| 1325 | goto fail2; | ||
| 1324 | 1326 | ||
| 1325 | kfree(nvconfig); | 1327 | kfree(nvconfig); |
| 1326 | return 0; | 1328 | return 0; |
diff --git a/drivers/net/sfc/falcon_boards.c b/drivers/net/sfc/falcon_boards.c index 5712fddd72f2..c7a933a3292e 100644 --- a/drivers/net/sfc/falcon_boards.c +++ b/drivers/net/sfc/falcon_boards.c | |||
| @@ -728,15 +728,7 @@ static const struct falcon_board_type board_types[] = { | |||
| 728 | }, | 728 | }, |
| 729 | }; | 729 | }; |
| 730 | 730 | ||
| 731 | static const struct falcon_board_type falcon_dummy_board = { | 731 | int falcon_probe_board(struct efx_nic *efx, u16 revision_info) |
| 732 | .init = efx_port_dummy_op_int, | ||
| 733 | .init_phy = efx_port_dummy_op_void, | ||
| 734 | .fini = efx_port_dummy_op_void, | ||
| 735 | .set_id_led = efx_port_dummy_op_set_id_led, | ||
| 736 | .monitor = efx_port_dummy_op_int, | ||
| 737 | }; | ||
| 738 | |||
| 739 | void falcon_probe_board(struct efx_nic *efx, u16 revision_info) | ||
| 740 | { | 732 | { |
| 741 | struct falcon_board *board = falcon_board(efx); | 733 | struct falcon_board *board = falcon_board(efx); |
| 742 | u8 type_id = FALCON_BOARD_TYPE(revision_info); | 734 | u8 type_id = FALCON_BOARD_TYPE(revision_info); |
| @@ -754,8 +746,9 @@ void falcon_probe_board(struct efx_nic *efx, u16 revision_info) | |||
| 754 | (efx->pci_dev->subsystem_vendor == EFX_VENDID_SFC) | 746 | (efx->pci_dev->subsystem_vendor == EFX_VENDID_SFC) |
| 755 | ? board->type->ref_model : board->type->gen_type, | 747 | ? board->type->ref_model : board->type->gen_type, |
| 756 | 'A' + board->major, board->minor); | 748 | 'A' + board->major, board->minor); |
| 749 | return 0; | ||
| 757 | } else { | 750 | } else { |
| 758 | EFX_ERR(efx, "unknown board type %d\n", type_id); | 751 | EFX_ERR(efx, "unknown board type %d\n", type_id); |
| 759 | board->type = &falcon_dummy_board; | 752 | return -ENODEV; |
| 760 | } | 753 | } |
| 761 | } | 754 | } |
diff --git a/drivers/net/sfc/nic.h b/drivers/net/sfc/nic.h index 9351c0331a47..3166bafdfbef 100644 --- a/drivers/net/sfc/nic.h +++ b/drivers/net/sfc/nic.h | |||
| @@ -156,7 +156,7 @@ extern struct efx_nic_type siena_a0_nic_type; | |||
| 156 | ************************************************************************** | 156 | ************************************************************************** |
| 157 | */ | 157 | */ |
| 158 | 158 | ||
| 159 | extern void falcon_probe_board(struct efx_nic *efx, u16 revision_info); | 159 | extern int falcon_probe_board(struct efx_nic *efx, u16 revision_info); |
| 160 | 160 | ||
| 161 | /* TX data path */ | 161 | /* TX data path */ |
| 162 | extern int efx_nic_probe_tx(struct efx_tx_queue *tx_queue); | 162 | extern int efx_nic_probe_tx(struct efx_tx_queue *tx_queue); |
