Loading drivers/net/sfc/Makefile +1 −1 Original line number Diff line number Diff line sfc-y += efx.o falcon.o tx.o rx.o falcon_gmac.o \ falcon_xmac.o selftest.o ethtool.o xfp_phy.o \ mdio_10g.o tenxpress.o boards.o sfe4001.o mdio_10g.o tenxpress.o falcon_boards.o sfe4001.o sfc-$(CONFIG_SFC_MTD) += mtd.o obj-$(CONFIG_SFC) += sfc.o drivers/net/sfc/boards.h +2 −8 Original line number Diff line number Diff line Loading @@ -10,15 +10,9 @@ #ifndef EFX_BOARDS_H #define EFX_BOARDS_H /* Board IDs (must fit in 8 bits) */ enum efx_board_type { EFX_BOARD_SFE4001 = 1, EFX_BOARD_SFE4002 = 2, EFX_BOARD_SFN4111T = 0x51, EFX_BOARD_SFN4112F = 0x52, }; #define FALCON_BOARD_SFE4001 0x01 extern void efx_set_board_info(struct efx_nic *efx, u16 revision_info); extern void falcon_probe_board(struct efx_nic *efx, u16 revision_info); /* SFE4001 (10GBASE-T) */ extern int sfe4001_init(struct efx_nic *efx); Loading drivers/net/sfc/falcon.c +1 −1 Original line number Diff line number Diff line Loading @@ -2732,7 +2732,7 @@ static int falcon_probe_nvconfig(struct efx_nic *efx) EFX_LOG(efx, "PHY is %d phy_id %d\n", efx->phy_type, efx->mdio.prtad); efx_set_board_info(efx, board_rev); falcon_probe_board(efx, board_rev); kfree(nvconfig); return 0; Loading drivers/net/sfc/boards.c→drivers/net/sfc/falcon_boards.c +20 −15 Original line number Diff line number Diff line Loading @@ -15,9 +15,14 @@ /* Macros for unpacking the board revision */ /* The revision info is in host byte order. */ #define BOARD_TYPE(_rev) (_rev >> 8) #define BOARD_MAJOR(_rev) ((_rev >> 4) & 0xf) #define BOARD_MINOR(_rev) (_rev & 0xf) #define FALCON_BOARD_TYPE(_rev) (_rev >> 8) #define FALCON_BOARD_MAJOR(_rev) ((_rev >> 4) & 0xf) #define FALCON_BOARD_MINOR(_rev) (_rev & 0xf) /* Board types */ #define FALCON_BOARD_SFE4002 0x02 #define FALCON_BOARD_SFN4111T 0x51 #define FALCON_BOARD_SFN4112F 0x52 /* Blink support. If the PHY has no auto-blink mode so we hang it off a timer */ #define BLINK_INTERVAL (HZ/2) Loading Loading @@ -286,31 +291,31 @@ static int sfn4112f_init(struct efx_nic *efx) /* This will get expanded as board-specific details get moved out of the * PHY drivers. */ struct efx_board_data { enum efx_board_type type; struct falcon_board_data { u8 type; const char *ref_model; const char *gen_type; int (*init) (struct efx_nic *nic); }; static struct efx_board_data board_data[] = { { EFX_BOARD_SFE4001, "SFE4001", "10GBASE-T adapter", sfe4001_init }, { EFX_BOARD_SFE4002, "SFE4002", "XFP adapter", sfe4002_init }, { EFX_BOARD_SFN4111T, "SFN4111T", "100/1000/10GBASE-T adapter", static struct falcon_board_data board_data[] = { { FALCON_BOARD_SFE4001, "SFE4001", "10GBASE-T adapter", sfe4001_init }, { FALCON_BOARD_SFE4002, "SFE4002", "XFP adapter", sfe4002_init }, { FALCON_BOARD_SFN4111T, "SFN4111T", "100/1000/10GBASE-T adapter", sfn4111t_init }, { EFX_BOARD_SFN4112F, "SFN4112F", "SFP+ adapter", { FALCON_BOARD_SFN4112F, "SFN4112F", "SFP+ adapter", sfn4112f_init }, }; void efx_set_board_info(struct efx_nic *efx, u16 revision_info) void falcon_probe_board(struct efx_nic *efx, u16 revision_info) { struct efx_board_data *data = NULL; struct falcon_board_data *data = NULL; int i; efx->board_info.type = BOARD_TYPE(revision_info); efx->board_info.major = BOARD_MAJOR(revision_info); efx->board_info.minor = BOARD_MINOR(revision_info); efx->board_info.type = FALCON_BOARD_TYPE(revision_info); efx->board_info.major = FALCON_BOARD_MAJOR(revision_info); efx->board_info.minor = FALCON_BOARD_MINOR(revision_info); for (i = 0; i < ARRAY_SIZE(board_data); i++) if (board_data[i].type == efx->board_info.type) Loading drivers/net/sfc/sfe4001.c +1 −1 Original line number Diff line number Diff line Loading @@ -241,7 +241,7 @@ static ssize_t set_phy_flash_cfg(struct device *dev, efx->phy_mode = new_mode; if (new_mode & PHY_MODE_SPECIAL) efx_stats_disable(efx); if (efx->board_info.type == EFX_BOARD_SFE4001) if (efx->board_info.type == FALCON_BOARD_SFE4001) err = sfe4001_poweron(efx); else err = sfn4111t_reset(efx); Loading Loading
drivers/net/sfc/Makefile +1 −1 Original line number Diff line number Diff line sfc-y += efx.o falcon.o tx.o rx.o falcon_gmac.o \ falcon_xmac.o selftest.o ethtool.o xfp_phy.o \ mdio_10g.o tenxpress.o boards.o sfe4001.o mdio_10g.o tenxpress.o falcon_boards.o sfe4001.o sfc-$(CONFIG_SFC_MTD) += mtd.o obj-$(CONFIG_SFC) += sfc.o
drivers/net/sfc/boards.h +2 −8 Original line number Diff line number Diff line Loading @@ -10,15 +10,9 @@ #ifndef EFX_BOARDS_H #define EFX_BOARDS_H /* Board IDs (must fit in 8 bits) */ enum efx_board_type { EFX_BOARD_SFE4001 = 1, EFX_BOARD_SFE4002 = 2, EFX_BOARD_SFN4111T = 0x51, EFX_BOARD_SFN4112F = 0x52, }; #define FALCON_BOARD_SFE4001 0x01 extern void efx_set_board_info(struct efx_nic *efx, u16 revision_info); extern void falcon_probe_board(struct efx_nic *efx, u16 revision_info); /* SFE4001 (10GBASE-T) */ extern int sfe4001_init(struct efx_nic *efx); Loading
drivers/net/sfc/falcon.c +1 −1 Original line number Diff line number Diff line Loading @@ -2732,7 +2732,7 @@ static int falcon_probe_nvconfig(struct efx_nic *efx) EFX_LOG(efx, "PHY is %d phy_id %d\n", efx->phy_type, efx->mdio.prtad); efx_set_board_info(efx, board_rev); falcon_probe_board(efx, board_rev); kfree(nvconfig); return 0; Loading
drivers/net/sfc/boards.c→drivers/net/sfc/falcon_boards.c +20 −15 Original line number Diff line number Diff line Loading @@ -15,9 +15,14 @@ /* Macros for unpacking the board revision */ /* The revision info is in host byte order. */ #define BOARD_TYPE(_rev) (_rev >> 8) #define BOARD_MAJOR(_rev) ((_rev >> 4) & 0xf) #define BOARD_MINOR(_rev) (_rev & 0xf) #define FALCON_BOARD_TYPE(_rev) (_rev >> 8) #define FALCON_BOARD_MAJOR(_rev) ((_rev >> 4) & 0xf) #define FALCON_BOARD_MINOR(_rev) (_rev & 0xf) /* Board types */ #define FALCON_BOARD_SFE4002 0x02 #define FALCON_BOARD_SFN4111T 0x51 #define FALCON_BOARD_SFN4112F 0x52 /* Blink support. If the PHY has no auto-blink mode so we hang it off a timer */ #define BLINK_INTERVAL (HZ/2) Loading Loading @@ -286,31 +291,31 @@ static int sfn4112f_init(struct efx_nic *efx) /* This will get expanded as board-specific details get moved out of the * PHY drivers. */ struct efx_board_data { enum efx_board_type type; struct falcon_board_data { u8 type; const char *ref_model; const char *gen_type; int (*init) (struct efx_nic *nic); }; static struct efx_board_data board_data[] = { { EFX_BOARD_SFE4001, "SFE4001", "10GBASE-T adapter", sfe4001_init }, { EFX_BOARD_SFE4002, "SFE4002", "XFP adapter", sfe4002_init }, { EFX_BOARD_SFN4111T, "SFN4111T", "100/1000/10GBASE-T adapter", static struct falcon_board_data board_data[] = { { FALCON_BOARD_SFE4001, "SFE4001", "10GBASE-T adapter", sfe4001_init }, { FALCON_BOARD_SFE4002, "SFE4002", "XFP adapter", sfe4002_init }, { FALCON_BOARD_SFN4111T, "SFN4111T", "100/1000/10GBASE-T adapter", sfn4111t_init }, { EFX_BOARD_SFN4112F, "SFN4112F", "SFP+ adapter", { FALCON_BOARD_SFN4112F, "SFN4112F", "SFP+ adapter", sfn4112f_init }, }; void efx_set_board_info(struct efx_nic *efx, u16 revision_info) void falcon_probe_board(struct efx_nic *efx, u16 revision_info) { struct efx_board_data *data = NULL; struct falcon_board_data *data = NULL; int i; efx->board_info.type = BOARD_TYPE(revision_info); efx->board_info.major = BOARD_MAJOR(revision_info); efx->board_info.minor = BOARD_MINOR(revision_info); efx->board_info.type = FALCON_BOARD_TYPE(revision_info); efx->board_info.major = FALCON_BOARD_MAJOR(revision_info); efx->board_info.minor = FALCON_BOARD_MINOR(revision_info); for (i = 0; i < ARRAY_SIZE(board_data); i++) if (board_data[i].type == efx->board_info.type) Loading
drivers/net/sfc/sfe4001.c +1 −1 Original line number Diff line number Diff line Loading @@ -241,7 +241,7 @@ static ssize_t set_phy_flash_cfg(struct device *dev, efx->phy_mode = new_mode; if (new_mode & PHY_MODE_SPECIAL) efx_stats_disable(efx); if (efx->board_info.type == EFX_BOARD_SFE4001) if (efx->board_info.type == FALCON_BOARD_SFE4001) err = sfe4001_poweron(efx); else err = sfn4111t_reset(efx); Loading