ice: make use of DEFINE_FLEX() in ice_switch.c
Use DEFINE_FLEX() macro for 1-elem flex array members of ice_switch.c Signed-off-by: Przemek Kitszel <przemyslaw.kitszel@intel.com> Link: https://lore.kernel.org/r/20230912115937.1645707-8-przemyslaw.kitszel@intel.com Signed-off-by: Jakub Kicinski <kuba@kernel.org>
This commit is contained in:
parent
11dee3d611
commit
e268b97227
@ -1812,15 +1812,11 @@ ice_aq_alloc_free_vsi_list(struct ice_hw *hw, u16 *vsi_list_id,
|
||||
enum ice_sw_lkup_type lkup_type,
|
||||
enum ice_adminq_opc opc)
|
||||
{
|
||||
struct ice_aqc_alloc_free_res_elem *sw_buf;
|
||||
DEFINE_FLEX(struct ice_aqc_alloc_free_res_elem, sw_buf, elem, 1);
|
||||
u16 buf_len = __struct_size(sw_buf);
|
||||
struct ice_aqc_res_elem *vsi_ele;
|
||||
u16 buf_len;
|
||||
int status;
|
||||
|
||||
buf_len = struct_size(sw_buf, elem, 1);
|
||||
sw_buf = devm_kzalloc(ice_hw_to_dev(hw), buf_len, GFP_KERNEL);
|
||||
if (!sw_buf)
|
||||
return -ENOMEM;
|
||||
sw_buf->num_elems = cpu_to_le16(1);
|
||||
|
||||
if (lkup_type == ICE_SW_LKUP_MAC ||
|
||||
@ -1840,8 +1836,7 @@ ice_aq_alloc_free_vsi_list(struct ice_hw *hw, u16 *vsi_list_id,
|
||||
sw_buf->res_type =
|
||||
cpu_to_le16(ICE_AQC_RES_TYPE_VSI_LIST_PRUNE);
|
||||
} else {
|
||||
status = -EINVAL;
|
||||
goto ice_aq_alloc_free_vsi_list_exit;
|
||||
return -EINVAL;
|
||||
}
|
||||
|
||||
if (opc == ice_aqc_opc_free_res)
|
||||
@ -1849,16 +1844,14 @@ ice_aq_alloc_free_vsi_list(struct ice_hw *hw, u16 *vsi_list_id,
|
||||
|
||||
status = ice_aq_alloc_free_res(hw, sw_buf, buf_len, opc);
|
||||
if (status)
|
||||
goto ice_aq_alloc_free_vsi_list_exit;
|
||||
return status;
|
||||
|
||||
if (opc == ice_aqc_opc_alloc_res) {
|
||||
vsi_ele = &sw_buf->elem[0];
|
||||
*vsi_list_id = le16_to_cpu(vsi_ele->e.sw_resp);
|
||||
}
|
||||
|
||||
ice_aq_alloc_free_vsi_list_exit:
|
||||
devm_kfree(ice_hw_to_dev(hw), sw_buf);
|
||||
return status;
|
||||
return 0;
|
||||
}
|
||||
|
||||
/**
|
||||
@ -2088,15 +2081,10 @@ ice_aq_get_recipe_to_profile(struct ice_hw *hw, u32 profile_id, u8 *r_bitmap,
|
||||
*/
|
||||
int ice_alloc_recipe(struct ice_hw *hw, u16 *rid)
|
||||
{
|
||||
struct ice_aqc_alloc_free_res_elem *sw_buf;
|
||||
u16 buf_len;
|
||||
DEFINE_FLEX(struct ice_aqc_alloc_free_res_elem, sw_buf, elem, 1);
|
||||
u16 buf_len = __struct_size(sw_buf);
|
||||
int status;
|
||||
|
||||
buf_len = struct_size(sw_buf, elem, 1);
|
||||
sw_buf = kzalloc(buf_len, GFP_KERNEL);
|
||||
if (!sw_buf)
|
||||
return -ENOMEM;
|
||||
|
||||
sw_buf->num_elems = cpu_to_le16(1);
|
||||
sw_buf->res_type = cpu_to_le16((ICE_AQC_RES_TYPE_RECIPE <<
|
||||
ICE_AQC_RES_TYPE_S) |
|
||||
@ -2105,7 +2093,6 @@ int ice_alloc_recipe(struct ice_hw *hw, u16 *rid)
|
||||
ice_aqc_opc_alloc_res);
|
||||
if (!status)
|
||||
*rid = le16_to_cpu(sw_buf->elem[0].e.sw_resp);
|
||||
kfree(sw_buf);
|
||||
|
||||
return status;
|
||||
}
|
||||
@ -4434,28 +4421,19 @@ int
|
||||
ice_alloc_res_cntr(struct ice_hw *hw, u8 type, u8 alloc_shared, u16 num_items,
|
||||
u16 *counter_id)
|
||||
{
|
||||
struct ice_aqc_alloc_free_res_elem *buf;
|
||||
u16 buf_len;
|
||||
DEFINE_FLEX(struct ice_aqc_alloc_free_res_elem, buf, elem, 1);
|
||||
u16 buf_len = __struct_size(buf);
|
||||
int status;
|
||||
|
||||
/* Allocate resource */
|
||||
buf_len = struct_size(buf, elem, 1);
|
||||
buf = kzalloc(buf_len, GFP_KERNEL);
|
||||
if (!buf)
|
||||
return -ENOMEM;
|
||||
|
||||
buf->num_elems = cpu_to_le16(num_items);
|
||||
buf->res_type = cpu_to_le16(((type << ICE_AQC_RES_TYPE_S) &
|
||||
ICE_AQC_RES_TYPE_M) | alloc_shared);
|
||||
|
||||
status = ice_aq_alloc_free_res(hw, buf, buf_len, ice_aqc_opc_alloc_res);
|
||||
if (status)
|
||||
goto exit;
|
||||
return status;
|
||||
|
||||
*counter_id = le16_to_cpu(buf->elem[0].e.sw_resp);
|
||||
|
||||
exit:
|
||||
kfree(buf);
|
||||
return status;
|
||||
}
|
||||
|
||||
@ -4471,16 +4449,10 @@ int
|
||||
ice_free_res_cntr(struct ice_hw *hw, u8 type, u8 alloc_shared, u16 num_items,
|
||||
u16 counter_id)
|
||||
{
|
||||
struct ice_aqc_alloc_free_res_elem *buf;
|
||||
u16 buf_len;
|
||||
DEFINE_FLEX(struct ice_aqc_alloc_free_res_elem, buf, elem, 1);
|
||||
u16 buf_len = __struct_size(buf);
|
||||
int status;
|
||||
|
||||
/* Free resource */
|
||||
buf_len = struct_size(buf, elem, 1);
|
||||
buf = kzalloc(buf_len, GFP_KERNEL);
|
||||
if (!buf)
|
||||
return -ENOMEM;
|
||||
|
||||
buf->num_elems = cpu_to_le16(num_items);
|
||||
buf->res_type = cpu_to_le16(((type << ICE_AQC_RES_TYPE_S) &
|
||||
ICE_AQC_RES_TYPE_M) | alloc_shared);
|
||||
@ -4490,7 +4462,6 @@ ice_free_res_cntr(struct ice_hw *hw, u8 type, u8 alloc_shared, u16 num_items,
|
||||
if (status)
|
||||
ice_debug(hw, ICE_DBG_SW, "counter resource could not be freed\n");
|
||||
|
||||
kfree(buf);
|
||||
return status;
|
||||
}
|
||||
|
||||
@ -4508,15 +4479,10 @@ ice_free_res_cntr(struct ice_hw *hw, u8 type, u8 alloc_shared, u16 num_items,
|
||||
*/
|
||||
int ice_share_res(struct ice_hw *hw, u16 type, u8 shared, u16 res_id)
|
||||
{
|
||||
struct ice_aqc_alloc_free_res_elem *buf;
|
||||
u16 buf_len;
|
||||
DEFINE_FLEX(struct ice_aqc_alloc_free_res_elem, buf, elem, 1);
|
||||
u16 buf_len = __struct_size(buf);
|
||||
int status;
|
||||
|
||||
buf_len = struct_size(buf, elem, 1);
|
||||
buf = kzalloc(buf_len, GFP_KERNEL);
|
||||
if (!buf)
|
||||
return -ENOMEM;
|
||||
|
||||
buf->num_elems = cpu_to_le16(1);
|
||||
if (shared)
|
||||
buf->res_type = cpu_to_le16(((type << ICE_AQC_RES_TYPE_S) &
|
||||
@ -4534,7 +4500,6 @@ int ice_share_res(struct ice_hw *hw, u16 type, u8 shared, u16 res_id)
|
||||
ice_debug(hw, ICE_DBG_SW, "Could not set resource type %u id %u to %s\n",
|
||||
type, res_id, shared ? "SHARED" : "DEDICATED");
|
||||
|
||||
kfree(buf);
|
||||
return status;
|
||||
}
|
||||
|
||||
|
Loading…
x
Reference in New Issue
Block a user