]> git.karo-electronics.de Git - karo-tx-linux.git/commitdiff
e1000e: cleanup e1000_init_mac_params_82571()
authorBruce Allan <bruce.w.allan@intel.com>
Tue, 31 Jan 2012 06:37:48 +0000 (06:37 +0000)
committerJeff Kirsher <jeffrey.t.kirsher@intel.com>
Tue, 7 Feb 2012 12:12:14 +0000 (04:12 -0800)
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>
drivers/net/ethernet/intel/e1000e/82571.c

index 844907da8aaf69a5e3bd67fded3b937b021f7b69..4cadcc76ad581b226e424f54bb1a7bcbefd8ae62 100644 (file)
@@ -239,26 +239,39 @@ static s32 e1000_init_mac_params_82571(struct e1000_adapter *adapter)
 {
        struct e1000_hw *hw = &adapter->hw;
        struct e1000_mac_info *mac = &hw->mac;
-       struct e1000_mac_operations *func = &mac->ops;
        u32 swsm = 0;
        u32 swsm2 = 0;
        bool force_clear_smbi = false;
 
-       /* Set media type */
+       /* Set media type and media-dependent function pointers */
        switch (adapter->pdev->device) {
        case E1000_DEV_ID_82571EB_FIBER:
        case E1000_DEV_ID_82572EI_FIBER:
        case E1000_DEV_ID_82571EB_QUAD_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;
        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_QUAD:
+       case E1000_DEV_ID_82572EI_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;
        default:
                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;
        }
 
@@ -269,38 +282,13 @@ static s32 e1000_init_mac_params_82571(struct e1000_adapter *adapter)
        /* Adaptive IFS supported */
        mac->adaptive_ifs = true;
 
-       /* check for link */
-       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;
-       }
-
+       /* MAC-specific function pointers */
        switch (hw->mac.type) {
        case e1000_82573:
-               func->set_lan_id = e1000_set_lan_id_single_port;
-               func->check_mng_mode = e1000e_check_mng_mode_generic;
-               func->led_on = e1000e_led_on_generic;
-               func->blink_led = e1000e_blink_led_generic;
+               mac->ops.set_lan_id = e1000_set_lan_id_single_port;
+               mac->ops.check_mng_mode = e1000e_check_mng_mode_generic;
+               mac->ops.led_on = e1000e_led_on_generic;
+               mac->ops.blink_led = e1000e_blink_led_generic;
 
                /* FWSM register */
                mac->has_fwsm = true;
@@ -314,14 +302,14 @@ static s32 e1000_init_mac_params_82571(struct e1000_adapter *adapter)
                break;
        case e1000_82574:
        case e1000_82583:
-               func->set_lan_id = e1000_set_lan_id_single_port;
-               func->check_mng_mode = e1000_check_mng_mode_82574;
-               func->led_on = e1000_led_on_82574;
+               mac->ops.set_lan_id = e1000_set_lan_id_single_port;
+               mac->ops.check_mng_mode = e1000_check_mng_mode_82574;
+               mac->ops.led_on = e1000_led_on_82574;
                break;
        default:
-               func->check_mng_mode = e1000e_check_mng_mode_generic;
-               func->led_on = e1000e_led_on_generic;
-               func->blink_led = e1000e_blink_led_generic;
+               mac->ops.check_mng_mode = e1000e_check_mng_mode_generic;
+               mac->ops.led_on = e1000e_led_on_generic;
+               mac->ops.blink_led = e1000e_blink_led_generic;
 
                /* FWSM register */
                mac->has_fwsm = true;
@@ -342,11 +330,11 @@ static s32 e1000_init_mac_params_82571(struct e1000_adapter *adapter)
 
                if (!(swsm2 & E1000_SWSM2_LOCK)) {
                        /* Only do this for the first interface on this card */
-                       ew32(SWSM2,
-                           swsm2 | E1000_SWSM2_LOCK);
+                       ew32(SWSM2, swsm2 | E1000_SWSM2_LOCK);
                        force_clear_smbi = true;
-               } else
+               } else {
                        force_clear_smbi = false;
+               }
                break;
        default:
                force_clear_smbi = true;