[PATCH iwl-next] ixgbe: make EEPROM init_params() return void
From: Ingyu Jang
Date: Sun Nov 01 2026 - 18:48:32 EST
All implementations of the EEPROM init_params() operation always
return 0, so the error checks on its return value in ixgbe_sw_init()
and the E610 NVM helpers never trigger.
Make init_params() return void and remove the dead checks.
Link: https://lore.kernel.org/all/8524c812-b659-4670-b370-35682aba2d2f@xxxxxxxxx
Signed-off-by: Ingyu Jang <ingyujang25@xxxxxxxxxxx>
---
.../net/ethernet/intel/ixgbe/ixgbe_common.c | 4 +--
.../net/ethernet/intel/ixgbe/ixgbe_common.h | 2 +-
drivers/net/ethernet/intel/ixgbe/ixgbe_e610.c | 29 +++++--------------
drivers/net/ethernet/intel/ixgbe/ixgbe_e610.h | 2 +-
drivers/net/ethernet/intel/ixgbe/ixgbe_main.c | 5 +---
drivers/net/ethernet/intel/ixgbe/ixgbe_type.h | 2 +-
drivers/net/ethernet/intel/ixgbe/ixgbe_x540.c | 4 +--
drivers/net/ethernet/intel/ixgbe/ixgbe_x540.h | 2 +-
drivers/net/ethernet/intel/ixgbe/ixgbe_x550.c | 4 +--
9 files changed, 16 insertions(+), 38 deletions(-)
diff --git a/drivers/net/ethernet/intel/ixgbe/ixgbe_common.c b/drivers/net/ethernet/intel/ixgbe/ixgbe_common.c
index 3ea6765f9c5d8..ab2c0818f2417 100644
--- a/drivers/net/ethernet/intel/ixgbe/ixgbe_common.c
+++ b/drivers/net/ethernet/intel/ixgbe/ixgbe_common.c
@@ -857,7 +857,7 @@ int ixgbe_led_off_generic(struct ixgbe_hw *hw, u32 index)
* Initializes the EEPROM parameters ixgbe_eeprom_info within the
* ixgbe_hw struct in order to set up EEPROM access.
**/
-int ixgbe_init_eeprom_params_generic(struct ixgbe_hw *hw)
+void ixgbe_init_eeprom_params_generic(struct ixgbe_hw *hw)
{
struct ixgbe_eeprom_info *eeprom = &hw->eeprom;
u32 eec;
@@ -895,8 +895,6 @@ int ixgbe_init_eeprom_params_generic(struct ixgbe_hw *hw)
hw_dbg(hw, "Eeprom params: type = %d, size = %d, address bits: %d\n",
eeprom->type, eeprom->word_size, eeprom->address_bits);
}
-
- return 0;
}
/**
diff --git a/drivers/net/ethernet/intel/ixgbe/ixgbe_common.h b/drivers/net/ethernet/intel/ixgbe/ixgbe_common.h
index 6639069ad5283..8d4fd9074938b 100644
--- a/drivers/net/ethernet/intel/ixgbe/ixgbe_common.h
+++ b/drivers/net/ethernet/intel/ixgbe/ixgbe_common.h
@@ -25,7 +25,7 @@ int ixgbe_led_on_generic(struct ixgbe_hw *hw, u32 index);
int ixgbe_led_off_generic(struct ixgbe_hw *hw, u32 index);
int ixgbe_init_led_link_act_generic(struct ixgbe_hw *hw);
-int ixgbe_init_eeprom_params_generic(struct ixgbe_hw *hw);
+void ixgbe_init_eeprom_params_generic(struct ixgbe_hw *hw);
int ixgbe_write_eeprom_generic(struct ixgbe_hw *hw, u16 offset, u16 data);
int ixgbe_write_eeprom_buffer_bit_bang_generic(struct ixgbe_hw *hw, u16 offset,
u16 words, u16 *data);
diff --git a/drivers/net/ethernet/intel/ixgbe/ixgbe_e610.c b/drivers/net/ethernet/intel/ixgbe/ixgbe_e610.c
index 4d8ae5b56145a..eb20ef11f890b 100644
--- a/drivers/net/ethernet/intel/ixgbe/ixgbe_e610.c
+++ b/drivers/net/ethernet/intel/ixgbe/ixgbe_e610.c
@@ -2267,17 +2267,15 @@ int ixgbe_enter_lplu_e610(struct ixgbe_hw *hw)
*
* Initialize the EEPROM parameters ixgbe_eeprom_info within the ixgbe_hw
* struct in order to set up EEPROM access.
- *
- * Return: the operation exit code.
*/
-int ixgbe_init_eeprom_params_e610(struct ixgbe_hw *hw)
+void ixgbe_init_eeprom_params_e610(struct ixgbe_hw *hw)
{
struct ixgbe_eeprom_info *eeprom = &hw->eeprom;
u32 gens_stat;
u8 sr_size;
if (eeprom->type != ixgbe_eeprom_uninitialized)
- return 0;
+ return;
eeprom->type = ixgbe_flash;
@@ -2289,8 +2287,6 @@ int ixgbe_init_eeprom_params_e610(struct ixgbe_hw *hw)
hw_dbg(hw, "Eeprom params: type = %d, size = %d\n", eeprom->type,
eeprom->word_size);
-
- return 0;
}
/**
@@ -3681,11 +3677,8 @@ int ixgbe_read_ee_aci_e610(struct ixgbe_hw *hw, u16 offset, u16 *data)
{
int err;
- if (hw->eeprom.type == ixgbe_eeprom_uninitialized) {
- err = hw->eeprom.ops.init_params(hw);
- if (err)
- return err;
- }
+ if (hw->eeprom.type == ixgbe_eeprom_uninitialized)
+ hw->eeprom.ops.init_params(hw);
err = ixgbe_acquire_nvm(hw, LIBIE_AQC_RES_ACCESS_READ);
if (err)
@@ -3714,11 +3707,8 @@ int ixgbe_read_ee_aci_buffer_e610(struct ixgbe_hw *hw, u16 offset,
{
int err;
- if (hw->eeprom.type == ixgbe_eeprom_uninitialized) {
- err = hw->eeprom.ops.init_params(hw);
- if (err)
- return err;
- }
+ if (hw->eeprom.type == ixgbe_eeprom_uninitialized)
+ hw->eeprom.ops.init_params(hw);
err = ixgbe_acquire_nvm(hw, LIBIE_AQC_RES_ACCESS_READ);
if (err)
@@ -3747,11 +3737,8 @@ int ixgbe_validate_eeprom_checksum_e610(struct ixgbe_hw *hw, u16 *checksum_val)
{
int err;
- if (hw->eeprom.type == ixgbe_eeprom_uninitialized) {
- err = hw->eeprom.ops.init_params(hw);
- if (err)
- return err;
- }
+ if (hw->eeprom.type == ixgbe_eeprom_uninitialized)
+ hw->eeprom.ops.init_params(hw);
err = ixgbe_nvm_validate_checksum(hw);
if (err)
diff --git a/drivers/net/ethernet/intel/ixgbe/ixgbe_e610.h b/drivers/net/ethernet/intel/ixgbe/ixgbe_e610.h
index 2cb76a3d30ae6..2bc1210756fe1 100644
--- a/drivers/net/ethernet/intel/ixgbe/ixgbe_e610.h
+++ b/drivers/net/ethernet/intel/ixgbe/ixgbe_e610.h
@@ -58,7 +58,7 @@ int ixgbe_setup_phy_link_e610(struct ixgbe_hw *hw);
int ixgbe_setup_eee_e610(struct ixgbe_hw *hw, bool enable_eee);
int ixgbe_set_phy_power_e610(struct ixgbe_hw *hw, bool on);
int ixgbe_enter_lplu_e610(struct ixgbe_hw *hw);
-int ixgbe_init_eeprom_params_e610(struct ixgbe_hw *hw);
+void ixgbe_init_eeprom_params_e610(struct ixgbe_hw *hw);
int ixgbe_aci_get_netlist_node(struct ixgbe_hw *hw,
struct ixgbe_aci_cmd_get_link_topo *cmd,
u8 *node_part_number, u16 *node_handle);
diff --git a/drivers/net/ethernet/intel/ixgbe/ixgbe_main.c b/drivers/net/ethernet/intel/ixgbe/ixgbe_main.c
index f91856498eb2d..b337e2d4cf1c3 100644
--- a/drivers/net/ethernet/intel/ixgbe/ixgbe_main.c
+++ b/drivers/net/ethernet/intel/ixgbe/ixgbe_main.c
@@ -7058,10 +7058,7 @@ static int ixgbe_sw_init(struct ixgbe_adapter *adapter,
adapter->tx_work_limit = IXGBE_DEFAULT_TX_WORK;
/* initialize eeprom parameters */
- if (hw->eeprom.ops.init_params(hw)) {
- e_dev_err("EEPROM initialization failed\n");
- return -EIO;
- }
+ hw->eeprom.ops.init_params(hw);
/* PF holds first pool slot */
set_bit(0, adapter->fwd_bitmask);
diff --git a/drivers/net/ethernet/intel/ixgbe/ixgbe_type.h b/drivers/net/ethernet/intel/ixgbe/ixgbe_type.h
index a461b6542f96b..48a74c89a799c 100644
--- a/drivers/net/ethernet/intel/ixgbe/ixgbe_type.h
+++ b/drivers/net/ethernet/intel/ixgbe/ixgbe_type.h
@@ -3476,7 +3476,7 @@ struct ixgbe_hw;
/* Function pointer table */
struct ixgbe_eeprom_operations {
- int (*init_params)(struct ixgbe_hw *);
+ void (*init_params)(struct ixgbe_hw *hw);
int (*read)(struct ixgbe_hw *, u16, u16 *);
int (*read_buffer)(struct ixgbe_hw *, u16, u16, u16 *);
int (*write)(struct ixgbe_hw *, u16, u16);
diff --git a/drivers/net/ethernet/intel/ixgbe/ixgbe_x540.c b/drivers/net/ethernet/intel/ixgbe/ixgbe_x540.c
index e67e2feb045b3..d77c6efd800f2 100644
--- a/drivers/net/ethernet/intel/ixgbe/ixgbe_x540.c
+++ b/drivers/net/ethernet/intel/ixgbe/ixgbe_x540.c
@@ -191,7 +191,7 @@ int ixgbe_start_hw_X540(struct ixgbe_hw *hw)
* Initializes the EEPROM parameters ixgbe_eeprom_info within the
* ixgbe_hw struct in order to set up EEPROM access.
**/
-int ixgbe_init_eeprom_params_X540(struct ixgbe_hw *hw)
+void ixgbe_init_eeprom_params_X540(struct ixgbe_hw *hw)
{
struct ixgbe_eeprom_info *eeprom = &hw->eeprom;
@@ -210,8 +210,6 @@ int ixgbe_init_eeprom_params_X540(struct ixgbe_hw *hw)
hw_dbg(hw, "Eeprom params: type = %d, size = %d\n",
eeprom->type, eeprom->word_size);
}
-
- return 0;
}
/**
diff --git a/drivers/net/ethernet/intel/ixgbe/ixgbe_x540.h b/drivers/net/ethernet/intel/ixgbe/ixgbe_x540.h
index 6ed360c5b605b..282d10b7d4733 100644
--- a/drivers/net/ethernet/intel/ixgbe/ixgbe_x540.h
+++ b/drivers/net/ethernet/intel/ixgbe/ixgbe_x540.h
@@ -19,6 +19,6 @@ int ixgbe_blink_led_stop_X540(struct ixgbe_hw *hw, u32 index);
int ixgbe_acquire_swfw_sync_X540(struct ixgbe_hw *hw, u32 mask);
void ixgbe_release_swfw_sync_X540(struct ixgbe_hw *hw, u32 mask);
void ixgbe_init_swfw_sync_X540(struct ixgbe_hw *hw);
-int ixgbe_init_eeprom_params_X540(struct ixgbe_hw *hw);
+void ixgbe_init_eeprom_params_X540(struct ixgbe_hw *hw);
#endif /* _IXGBE_X540_H_ */
diff --git a/drivers/net/ethernet/intel/ixgbe/ixgbe_x550.c b/drivers/net/ethernet/intel/ixgbe/ixgbe_x550.c
index 4a0ccbf448a2a..a8d300e3f471a 100644
--- a/drivers/net/ethernet/intel/ixgbe/ixgbe_x550.c
+++ b/drivers/net/ethernet/intel/ixgbe/ixgbe_x550.c
@@ -629,7 +629,7 @@ static int ixgbe_fc_autoneg_fw(struct ixgbe_hw *hw)
* Initializes the EEPROM parameters ixgbe_eeprom_info within the
* ixgbe_hw struct in order to set up EEPROM access.
**/
-static int ixgbe_init_eeprom_params_X550(struct ixgbe_hw *hw)
+static void ixgbe_init_eeprom_params_X550(struct ixgbe_hw *hw)
{
struct ixgbe_eeprom_info *eeprom = &hw->eeprom;
@@ -648,8 +648,6 @@ static int ixgbe_init_eeprom_params_X550(struct ixgbe_hw *hw)
hw_dbg(hw, "Eeprom params: type = %d, size = %d\n",
eeprom->type, eeprom->word_size);
}
-
- return 0;
}
/**
--
2.34.1