Skip to content

Commit f33e8c0

Browse files
fengchengwendavid-marchand
authored andcommitted
net/sfc: use new kvargs process API
Add sfc_kvargs_process_opt() function to handle only-key case, and remove redundancy NULL judgement of value because the rte_kvargs_process (which invoked in sfc_kvargs_process()) will handle it. Signed-off-by: Chengwen Feng <[email protected]>
1 parent de89988 commit f33e8c0

File tree

4 files changed

+19
-10
lines changed

4 files changed

+19
-10
lines changed

drivers/common/sfc_efx/sfc_efx.c

Lines changed: 0 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -23,9 +23,6 @@ sfc_efx_kvarg_dev_class_handler(__rte_unused const char *key,
2323
{
2424
enum sfc_efx_dev_class *dev_class = opaque;
2525

26-
if (class_str == NULL)
27-
return *dev_class;
28-
2926
if (strcmp(class_str, "vdpa") == 0) {
3027
*dev_class = SFC_EFX_DEV_CLASS_VDPA;
3128
} else if (strcmp(class_str, "net") == 0) {

drivers/net/sfc/sfc_ethdev.c

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -2835,8 +2835,8 @@ sfc_eth_dev_set_ops(struct rte_eth_dev *dev)
28352835
if (encp->enc_rx_es_super_buffer_supported)
28362836
avail_caps |= SFC_DP_HW_FW_CAP_RX_ES_SUPER_BUFFER;
28372837

2838-
rc = sfc_kvargs_process(sa, SFC_KVARG_RX_DATAPATH,
2839-
sfc_kvarg_string_handler, &rx_name);
2838+
rc = sfc_kvargs_process_opt(sa, SFC_KVARG_RX_DATAPATH,
2839+
sfc_kvarg_string_handler, &rx_name);
28402840
if (rc != 0)
28412841
goto fail_kvarg_rx_datapath;
28422842

@@ -2878,8 +2878,8 @@ sfc_eth_dev_set_ops(struct rte_eth_dev *dev)
28782878

28792879
sfc_notice(sa, "use %s Rx datapath", sas->dp_rx_name);
28802880

2881-
rc = sfc_kvargs_process(sa, SFC_KVARG_TX_DATAPATH,
2882-
sfc_kvarg_string_handler, &tx_name);
2881+
rc = sfc_kvargs_process_opt(sa, SFC_KVARG_TX_DATAPATH,
2882+
sfc_kvarg_string_handler, &tx_name);
28832883
if (rc != 0)
28842884
goto fail_kvarg_tx_datapath;
28852885

@@ -3073,8 +3073,8 @@ sfc_parse_switch_mode(struct sfc_adapter *sa, bool has_representors)
30733073

30743074
sfc_log_init(sa, "entry");
30753075

3076-
rc = sfc_kvargs_process(sa, SFC_KVARG_SWITCH_MODE,
3077-
sfc_kvarg_string_handler, &switch_mode);
3076+
rc = sfc_kvargs_process_opt(sa, SFC_KVARG_SWITCH_MODE,
3077+
sfc_kvarg_string_handler, &switch_mode);
30783078
if (rc != 0)
30793079
goto fail_kvargs;
30803080

drivers/net/sfc/sfc_kvargs.c

Lines changed: 11 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -73,6 +73,16 @@ sfc_kvargs_process(struct sfc_adapter *sa, const char *key_match,
7373
return -rte_kvargs_process(sa->kvargs, key_match, handler, opaque_arg);
7474
}
7575

76+
int
77+
sfc_kvargs_process_opt(struct sfc_adapter *sa, const char *key_match,
78+
arg_handler_t handler, void *opaque_arg)
79+
{
80+
if (sa->kvargs == NULL)
81+
return 0;
82+
83+
return -rte_kvargs_process_opt(sa->kvargs, key_match, handler, opaque_arg);
84+
}
85+
7686
int
7787
sfc_kvarg_bool_handler(__rte_unused const char *key,
7888
const char *value_str, void *opaque)
@@ -104,7 +114,7 @@ sfc_kvarg_long_handler(__rte_unused const char *key,
104114
long value;
105115
char *endptr;
106116

107-
if (!value_str || !opaque)
117+
if (!opaque)
108118
return -EINVAL;
109119

110120
value = strtol(value_str, &endptr, 0);

drivers/net/sfc/sfc_kvargs.h

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -83,6 +83,8 @@ void sfc_kvargs_cleanup(struct sfc_adapter *sa);
8383

8484
int sfc_kvargs_process(struct sfc_adapter *sa, const char *key_match,
8585
arg_handler_t handler, void *opaque_arg);
86+
int sfc_kvargs_process_opt(struct sfc_adapter *sa, const char *key_match,
87+
arg_handler_t handler, void *opaque_arg);
8688

8789
int sfc_kvarg_bool_handler(const char *key, const char *value_str,
8890
void *opaque);

0 commit comments

Comments
 (0)