OSDN Git Service

sfc: return errors from efx_mcdi_set_id_led, and de-indirect
authorEdward Cree <ecree@solarflare.com>
Fri, 28 Aug 2020 17:51:04 +0000 (18:51 +0100)
committerDavid S. Miller <davem@davemloft.net>
Mon, 31 Aug 2020 19:28:50 +0000 (12:28 -0700)
W=1 warnings indicated that 'rc' was unused in efx_mcdi_set_id_led();
 change the function to return int instead of void and plumb the rc
 through the caller efx_ethtool_phys_id().
Since (post-Falcon) all sfc NICs use MCDI for this, there's no point in
 indirecting through a nic_type method, so remove that and just call
 efx_mcdi_set_id_led() directly.

Signed-off-by: Edward Cree <ecree@solarflare.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
drivers/net/ethernet/sfc/ef10.c
drivers/net/ethernet/sfc/ethtool.c
drivers/net/ethernet/sfc/mcdi.c
drivers/net/ethernet/sfc/mcdi.h
drivers/net/ethernet/sfc/net_driver.h
drivers/net/ethernet/sfc/siena.c

index 4b0b2cf..0b4bcac 100644 (file)
@@ -3955,7 +3955,6 @@ const struct efx_nic_type efx_hunt_a0_vf_nic_type = {
        .start_stats = efx_port_dummy_op_void,
        .pull_stats = efx_port_dummy_op_void,
        .stop_stats = efx_port_dummy_op_void,
-       .set_id_led = efx_mcdi_set_id_led,
        .push_irq_moderation = efx_ef10_push_irq_moderation,
        .reconfigure_mac = efx_ef10_mac_reconfigure,
        .check_mac_fault = efx_mcdi_mac_check_fault,
@@ -4066,7 +4065,6 @@ const struct efx_nic_type efx_hunt_a0_nic_type = {
        .start_stats = efx_mcdi_mac_start_stats,
        .pull_stats = efx_mcdi_mac_pull_stats,
        .stop_stats = efx_mcdi_mac_stop_stats,
-       .set_id_led = efx_mcdi_set_id_led,
        .push_irq_moderation = efx_ef10_push_irq_moderation,
        .reconfigure_mac = efx_ef10_mac_reconfigure,
        .check_mac_fault = efx_mcdi_mac_check_fault,
index 4ffda77..12a91c5 100644 (file)
@@ -50,8 +50,7 @@ static int efx_ethtool_phys_id(struct net_device *net_dev,
                return 1;       /* cycle on/off once per second */
        }
 
-       efx->type->set_id_led(efx, mode);
-       return 0;
+       return efx_mcdi_set_id_led(efx, mode);
 }
 
 static int efx_ethtool_get_regs_len(struct net_device *net_dev)
index 5467819..be6bfd6 100644 (file)
@@ -1868,10 +1868,9 @@ int efx_mcdi_handle_assertion(struct efx_nic *efx)
        return efx_mcdi_exit_assertion(efx);
 }
 
-void efx_mcdi_set_id_led(struct efx_nic *efx, enum efx_led_mode mode)
+int efx_mcdi_set_id_led(struct efx_nic *efx, enum efx_led_mode mode)
 {
        MCDI_DECLARE_BUF(inbuf, MC_CMD_SET_ID_LED_IN_LEN);
-       int rc;
 
        BUILD_BUG_ON(EFX_LED_OFF != MC_CMD_LED_OFF);
        BUILD_BUG_ON(EFX_LED_ON != MC_CMD_LED_ON);
@@ -1881,8 +1880,7 @@ void efx_mcdi_set_id_led(struct efx_nic *efx, enum efx_led_mode mode)
 
        MCDI_SET_DWORD(inbuf, SET_ID_LED_IN_STATE, mode);
 
-       rc = efx_mcdi_rpc(efx, MC_CMD_SET_ID_LED, inbuf, sizeof(inbuf),
-                         NULL, 0, NULL);
+       return efx_mcdi_rpc(efx, MC_CMD_SET_ID_LED, inbuf, sizeof(inbuf), NULL, 0, NULL);
 }
 
 static int efx_mcdi_reset_func(struct efx_nic *efx)
index 658cf34..8aed650 100644 (file)
@@ -348,7 +348,7 @@ int efx_mcdi_nvram_info(struct efx_nic *efx, unsigned int type,
 int efx_new_mcdi_nvram_test_all(struct efx_nic *efx);
 int efx_mcdi_nvram_test_all(struct efx_nic *efx);
 int efx_mcdi_handle_assertion(struct efx_nic *efx);
-void efx_mcdi_set_id_led(struct efx_nic *efx, enum efx_led_mode mode);
+int efx_mcdi_set_id_led(struct efx_nic *efx, enum efx_led_mode mode);
 int efx_mcdi_wol_filter_set_magic(struct efx_nic *efx, const u8 *mac,
                                  int *id_out);
 int efx_mcdi_wol_filter_get_magic(struct efx_nic *efx, int *id_out);
index 062462a..338ebb0 100644 (file)
@@ -1217,7 +1217,6 @@ struct efx_udp_tunnel {
  * @start_stats: Start the regular fetching of statistics
  * @pull_stats: Pull stats from the NIC and wait until they arrive.
  * @stop_stats: Stop the regular fetching of statistics
- * @set_id_led: Set state of identifying LED or revert to automatic function
  * @push_irq_moderation: Apply interrupt moderation value
  * @reconfigure_port: Push loopback/power/txdis changes to the MAC and PHY
  * @prepare_enable_fc_tx: Prepare MAC to enable pause frame TX (may be %NULL)
@@ -1362,7 +1361,6 @@ struct efx_nic_type {
        void (*start_stats)(struct efx_nic *efx);
        void (*pull_stats)(struct efx_nic *efx);
        void (*stop_stats)(struct efx_nic *efx);
-       void (*set_id_led)(struct efx_nic *efx, enum efx_led_mode mode);
        void (*push_irq_moderation)(struct efx_channel *channel);
        int (*reconfigure_port)(struct efx_nic *efx);
        void (*prepare_enable_fc_tx)(struct efx_nic *efx);
index a7ea630..16347a6 100644 (file)
@@ -994,7 +994,6 @@ const struct efx_nic_type siena_a0_nic_type = {
        .start_stats = efx_mcdi_mac_start_stats,
        .pull_stats = efx_mcdi_mac_pull_stats,
        .stop_stats = efx_mcdi_mac_stop_stats,
-       .set_id_led = efx_mcdi_set_id_led,
        .push_irq_moderation = siena_push_irq_moderation,
        .reconfigure_mac = siena_mac_reconfigure,
        .check_mac_fault = efx_mcdi_mac_check_fault,