mirror of
git://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
synced 2025-08-05 16:54:27 +00:00
e1000e: cleanup e1000_init_mac_params_82571()
Combine two switch statements into one, convert a nebulous pointer to one that is a bit more in keeping with the rest of the driver code and cleanup some coding style. No change in functionality, just cosmetic changes. Signed-off-by: Bruce Allan <bruce.w.allan@intel.com> Tested-by: Aaron Brown <aaron.f.brown@intel.com> Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@intel.com>
This commit is contained in:
parent
e68782ed78
commit
66092f5925
1 changed files with 30 additions and 42 deletions
|
@ -239,26 +239,39 @@ static s32 e1000_init_mac_params_82571(struct e1000_adapter *adapter)
|
||||||
{
|
{
|
||||||
struct e1000_hw *hw = &adapter->hw;
|
struct e1000_hw *hw = &adapter->hw;
|
||||||
struct e1000_mac_info *mac = &hw->mac;
|
struct e1000_mac_info *mac = &hw->mac;
|
||||||
struct e1000_mac_operations *func = &mac->ops;
|
|
||||||
u32 swsm = 0;
|
u32 swsm = 0;
|
||||||
u32 swsm2 = 0;
|
u32 swsm2 = 0;
|
||||||
bool force_clear_smbi = false;
|
bool force_clear_smbi = false;
|
||||||
|
|
||||||
/* Set media type */
|
/* Set media type and media-dependent function pointers */
|
||||||
switch (adapter->pdev->device) {
|
switch (adapter->pdev->device) {
|
||||||
case E1000_DEV_ID_82571EB_FIBER:
|
case E1000_DEV_ID_82571EB_FIBER:
|
||||||
case E1000_DEV_ID_82572EI_FIBER:
|
case E1000_DEV_ID_82572EI_FIBER:
|
||||||
case E1000_DEV_ID_82571EB_QUAD_FIBER:
|
case E1000_DEV_ID_82571EB_QUAD_FIBER:
|
||||||
hw->phy.media_type = e1000_media_type_fiber;
|
hw->phy.media_type = e1000_media_type_fiber;
|
||||||
|
mac->ops.setup_physical_interface =
|
||||||
|
e1000_setup_fiber_serdes_link_82571;
|
||||||
|
mac->ops.check_for_link = e1000e_check_for_fiber_link;
|
||||||
|
mac->ops.get_link_up_info =
|
||||||
|
e1000e_get_speed_and_duplex_fiber_serdes;
|
||||||
break;
|
break;
|
||||||
case E1000_DEV_ID_82571EB_SERDES:
|
case E1000_DEV_ID_82571EB_SERDES:
|
||||||
case E1000_DEV_ID_82572EI_SERDES:
|
|
||||||
case E1000_DEV_ID_82571EB_SERDES_DUAL:
|
case E1000_DEV_ID_82571EB_SERDES_DUAL:
|
||||||
case E1000_DEV_ID_82571EB_SERDES_QUAD:
|
case E1000_DEV_ID_82571EB_SERDES_QUAD:
|
||||||
|
case E1000_DEV_ID_82572EI_SERDES:
|
||||||
hw->phy.media_type = e1000_media_type_internal_serdes;
|
hw->phy.media_type = e1000_media_type_internal_serdes;
|
||||||
|
mac->ops.setup_physical_interface =
|
||||||
|
e1000_setup_fiber_serdes_link_82571;
|
||||||
|
mac->ops.check_for_link = e1000_check_for_serdes_link_82571;
|
||||||
|
mac->ops.get_link_up_info =
|
||||||
|
e1000e_get_speed_and_duplex_fiber_serdes;
|
||||||
break;
|
break;
|
||||||
default:
|
default:
|
||||||
hw->phy.media_type = e1000_media_type_copper;
|
hw->phy.media_type = e1000_media_type_copper;
|
||||||
|
mac->ops.setup_physical_interface =
|
||||||
|
e1000_setup_copper_link_82571;
|
||||||
|
mac->ops.check_for_link = e1000e_check_for_copper_link;
|
||||||
|
mac->ops.get_link_up_info = e1000e_get_speed_and_duplex_copper;
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -269,38 +282,13 @@ static s32 e1000_init_mac_params_82571(struct e1000_adapter *adapter)
|
||||||
/* Adaptive IFS supported */
|
/* Adaptive IFS supported */
|
||||||
mac->adaptive_ifs = true;
|
mac->adaptive_ifs = true;
|
||||||
|
|
||||||
/* check for link */
|
/* MAC-specific function pointers */
|
||||||
switch (hw->phy.media_type) {
|
|
||||||
case e1000_media_type_copper:
|
|
||||||
func->setup_physical_interface = e1000_setup_copper_link_82571;
|
|
||||||
func->check_for_link = e1000e_check_for_copper_link;
|
|
||||||
func->get_link_up_info = e1000e_get_speed_and_duplex_copper;
|
|
||||||
break;
|
|
||||||
case e1000_media_type_fiber:
|
|
||||||
func->setup_physical_interface =
|
|
||||||
e1000_setup_fiber_serdes_link_82571;
|
|
||||||
func->check_for_link = e1000e_check_for_fiber_link;
|
|
||||||
func->get_link_up_info =
|
|
||||||
e1000e_get_speed_and_duplex_fiber_serdes;
|
|
||||||
break;
|
|
||||||
case e1000_media_type_internal_serdes:
|
|
||||||
func->setup_physical_interface =
|
|
||||||
e1000_setup_fiber_serdes_link_82571;
|
|
||||||
func->check_for_link = e1000_check_for_serdes_link_82571;
|
|
||||||
func->get_link_up_info =
|
|
||||||
e1000e_get_speed_and_duplex_fiber_serdes;
|
|
||||||
break;
|
|
||||||
default:
|
|
||||||
return -E1000_ERR_CONFIG;
|
|
||||||
break;
|
|
||||||
}
|
|
||||||
|
|
||||||
switch (hw->mac.type) {
|
switch (hw->mac.type) {
|
||||||
case e1000_82573:
|
case e1000_82573:
|
||||||
func->set_lan_id = e1000_set_lan_id_single_port;
|
mac->ops.set_lan_id = e1000_set_lan_id_single_port;
|
||||||
func->check_mng_mode = e1000e_check_mng_mode_generic;
|
mac->ops.check_mng_mode = e1000e_check_mng_mode_generic;
|
||||||
func->led_on = e1000e_led_on_generic;
|
mac->ops.led_on = e1000e_led_on_generic;
|
||||||
func->blink_led = e1000e_blink_led_generic;
|
mac->ops.blink_led = e1000e_blink_led_generic;
|
||||||
|
|
||||||
/* FWSM register */
|
/* FWSM register */
|
||||||
mac->has_fwsm = true;
|
mac->has_fwsm = true;
|
||||||
|
@ -314,14 +302,14 @@ static s32 e1000_init_mac_params_82571(struct e1000_adapter *adapter)
|
||||||
break;
|
break;
|
||||||
case e1000_82574:
|
case e1000_82574:
|
||||||
case e1000_82583:
|
case e1000_82583:
|
||||||
func->set_lan_id = e1000_set_lan_id_single_port;
|
mac->ops.set_lan_id = e1000_set_lan_id_single_port;
|
||||||
func->check_mng_mode = e1000_check_mng_mode_82574;
|
mac->ops.check_mng_mode = e1000_check_mng_mode_82574;
|
||||||
func->led_on = e1000_led_on_82574;
|
mac->ops.led_on = e1000_led_on_82574;
|
||||||
break;
|
break;
|
||||||
default:
|
default:
|
||||||
func->check_mng_mode = e1000e_check_mng_mode_generic;
|
mac->ops.check_mng_mode = e1000e_check_mng_mode_generic;
|
||||||
func->led_on = e1000e_led_on_generic;
|
mac->ops.led_on = e1000e_led_on_generic;
|
||||||
func->blink_led = e1000e_blink_led_generic;
|
mac->ops.blink_led = e1000e_blink_led_generic;
|
||||||
|
|
||||||
/* FWSM register */
|
/* FWSM register */
|
||||||
mac->has_fwsm = true;
|
mac->has_fwsm = true;
|
||||||
|
@ -342,11 +330,11 @@ static s32 e1000_init_mac_params_82571(struct e1000_adapter *adapter)
|
||||||
|
|
||||||
if (!(swsm2 & E1000_SWSM2_LOCK)) {
|
if (!(swsm2 & E1000_SWSM2_LOCK)) {
|
||||||
/* Only do this for the first interface on this card */
|
/* Only do this for the first interface on this card */
|
||||||
ew32(SWSM2,
|
ew32(SWSM2, swsm2 | E1000_SWSM2_LOCK);
|
||||||
swsm2 | E1000_SWSM2_LOCK);
|
|
||||||
force_clear_smbi = true;
|
force_clear_smbi = true;
|
||||||
} else
|
} else {
|
||||||
force_clear_smbi = false;
|
force_clear_smbi = false;
|
||||||
|
}
|
||||||
break;
|
break;
|
||||||
default:
|
default:
|
||||||
force_clear_smbi = true;
|
force_clear_smbi = true;
|
||||||
|
|
Loading…
Add table
Reference in a new issue