Hi, It is a prework to allow reusing some specific Intel code (eq. fwlog).
Move common *_aq_desc structure to libie header and changing it in ice, ixgbe, i40e and iavf. Only generic adminq commands can be easily moved to common header, as rest is slightly different. Format remains the same. It will be better to correctly move it when it will be needed to commonize other part of the code. Move *_aq_str() to new libie module (libie_adminq) and use it across drivers. The functions are exactly the same in each driver. Some more adminq helpers/functions can be moved to libie_adminq when needed. v2 --> v3: [2] * rebase * fix kdoc (patch 1 and 5) * remove space before tab (patch 1) v1 --> v2: [1] * add short descriptions in kdoc (patch 1, 5) * handle all error types in switch to allow clean build (patch 3) [1] https://lore.kernel.org/netdev/20250312062426.2544608-1-michal.swiatkow...@linux.intel.com/ [2] https://lore.kernel.org/netdev/20250410100121.2353754-1-michal.swiatkow...@linux.intel.com/ Michal Swiatkowski (8): ice, libie: move generic adminq descriptors to lib ixgbe: use libie adminq descriptors i40e: use libie adminq descriptors iavf: use libie adminq descriptors libie: add adminq helper for converting err to str ice: use libie_aq_str iavf: use libie_aq_str i40e: use libie_aq_str drivers/net/ethernet/intel/Kconfig | 3 + drivers/net/ethernet/intel/libie/Kconfig | 6 + drivers/net/ethernet/intel/libie/Makefile | 4 + drivers/net/ethernet/intel/i40e/i40e_adminq.h | 12 +- .../net/ethernet/intel/i40e/i40e_adminq_cmd.h | 155 +--- .../net/ethernet/intel/i40e/i40e_prototype.h | 15 +- drivers/net/ethernet/intel/i40e/i40e_type.h | 6 +- drivers/net/ethernet/intel/iavf/iavf_adminq.h | 12 +- .../net/ethernet/intel/iavf/iavf_adminq_cmd.h | 83 +- .../net/ethernet/intel/iavf/iavf_prototype.h | 3 +- drivers/net/ethernet/intel/iavf/iavf_type.h | 2 +- drivers/net/ethernet/intel/ice/ice.h | 1 - .../net/ethernet/intel/ice/ice_adminq_cmd.h | 270 +------ drivers/net/ethernet/intel/ice/ice_common.h | 6 +- drivers/net/ethernet/intel/ice/ice_controlq.h | 8 +- drivers/net/ethernet/intel/ixgbe/ixgbe_e610.h | 12 +- .../ethernet/intel/ixgbe/ixgbe_type_e610.h | 226 +----- include/linux/net/intel/libie/adminq.h | 309 ++++++++ drivers/net/ethernet/intel/i40e/i40e_adminq.c | 68 +- drivers/net/ethernet/intel/i40e/i40e_client.c | 7 +- drivers/net/ethernet/intel/i40e/i40e_common.c | 730 ++++++++---------- drivers/net/ethernet/intel/i40e/i40e_dcb.c | 10 +- drivers/net/ethernet/intel/i40e/i40e_dcb_nl.c | 8 +- .../net/ethernet/intel/i40e/i40e_debugfs.c | 46 +- .../net/ethernet/intel/i40e/i40e_ethtool.c | 36 +- drivers/net/ethernet/intel/i40e/i40e_main.c | 240 +++--- drivers/net/ethernet/intel/i40e/i40e_nvm.c | 18 +- .../ethernet/intel/i40e/i40e_virtchnl_pf.c | 27 +- drivers/net/ethernet/intel/iavf/iavf_adminq.c | 62 +- drivers/net/ethernet/intel/iavf/iavf_common.c | 110 +-- drivers/net/ethernet/intel/iavf/iavf_main.c | 5 +- .../net/ethernet/intel/iavf/iavf_virtchnl.c | 2 +- .../net/ethernet/intel/ice/devlink/devlink.c | 10 +- .../net/ethernet/intel/ice/devlink/health.c | 6 +- drivers/net/ethernet/intel/ice/ice_common.c | 390 +++++----- drivers/net/ethernet/intel/ice/ice_controlq.c | 53 +- drivers/net/ethernet/intel/ice/ice_dcb.c | 36 +- drivers/net/ethernet/intel/ice/ice_dcb_lib.c | 2 +- drivers/net/ethernet/intel/ice/ice_ddp.c | 47 +- drivers/net/ethernet/intel/ice/ice_dpll.c | 20 +- drivers/net/ethernet/intel/ice/ice_ethtool.c | 12 +- .../net/ethernet/intel/ice/ice_fw_update.c | 38 +- drivers/net/ethernet/intel/ice/ice_fwlog.c | 16 +- drivers/net/ethernet/intel/ice/ice_lag.c | 4 +- drivers/net/ethernet/intel/ice/ice_lib.c | 10 +- drivers/net/ethernet/intel/ice/ice_main.c | 63 +- drivers/net/ethernet/intel/ice/ice_nvm.c | 38 +- drivers/net/ethernet/intel/ice/ice_ptp_hw.c | 20 +- drivers/net/ethernet/intel/ice/ice_sched.c | 18 +- drivers/net/ethernet/intel/ice/ice_sriov.c | 4 +- drivers/net/ethernet/intel/ice/ice_switch.c | 55 +- drivers/net/ethernet/intel/ice/ice_vf_mbx.c | 6 +- drivers/net/ethernet/intel/ice/ice_virtchnl.c | 6 +- .../net/ethernet/intel/ice/ice_vlan_mode.c | 6 +- .../net/ethernet/intel/ice/ice_vsi_vlan_lib.c | 24 +- .../net/ethernet/intel/ixgbe/devlink/region.c | 4 +- drivers/net/ethernet/intel/ixgbe/ixgbe_e610.c | 272 +++---- .../ethernet/intel/ixgbe/ixgbe_fw_update.c | 4 +- drivers/net/ethernet/intel/libie/adminq.c | 52 ++ 59 files changed, 1578 insertions(+), 2140 deletions(-) create mode 100644 include/linux/net/intel/libie/adminq.h create mode 100644 drivers/net/ethernet/intel/libie/adminq.c -- 2.42.0