From be904b855200ef4672c765918b31338b59c4847c Mon Sep 17 00:00:00 2001 From: Tom Zhao Date: Mon, 11 May 2020 13:28:40 +0100 Subject: sfc: make capability checking a nic_type function Various MCDI functions (especially in filter handling) need to check the datapath caps, but those live in nic_data (since they don't exist on Siena). Decouple from ef10-specific data structures by adding check_caps to the nic_type, to allow using these functions from non-ef10 drivers. Also add a convenience macro efx_has_cap() to reduce the amount of boilerplate involved in calling it. Signed-off-by: Edward Cree Signed-off-by: David S. Miller --- drivers/net/ethernet/sfc/siena.c | 7 +++++++ 1 file changed, 7 insertions(+) (limited to 'drivers/net/ethernet/sfc/siena.c') diff --git a/drivers/net/ethernet/sfc/siena.c b/drivers/net/ethernet/sfc/siena.c index baa464161626..ed1cb6caa69d 100644 --- a/drivers/net/ethernet/sfc/siena.c +++ b/drivers/net/ethernet/sfc/siena.c @@ -948,6 +948,13 @@ fail: #endif /* CONFIG_SFC_MTD */ +unsigned int siena_check_caps(const struct efx_nic *efx, + u8 flag, u32 offset) +{ + /* Siena did not support MC_CMD_GET_CAPABILITIES */ + return 0; +} + /************************************************************************** * * Revision-dependent attributes used by efx.c and nic.c -- cgit v1.2.3 From 527c1e615b4c6616abb5c7b14c2ff5b04a029175 Mon Sep 17 00:00:00 2001 From: Edward Cree Date: Tue, 12 May 2020 14:24:34 +0100 Subject: sfc: actually wire up siena_check_caps() Assign it to siena_a0_nic_type.check_caps function pointer. Fixes: be904b855200 ("sfc: make capability checking a nic_type function") Signed-off-by: Edward Cree Signed-off-by: David S. Miller --- drivers/net/ethernet/sfc/siena.c | 1 + 1 file changed, 1 insertion(+) (limited to 'drivers/net/ethernet/sfc/siena.c') diff --git a/drivers/net/ethernet/sfc/siena.c b/drivers/net/ethernet/sfc/siena.c index ed1cb6caa69d..d8b052979b1b 100644 --- a/drivers/net/ethernet/sfc/siena.c +++ b/drivers/net/ethernet/sfc/siena.c @@ -1093,4 +1093,5 @@ const struct efx_nic_type siena_a0_nic_type = { 1 << HWTSTAMP_FILTER_PTP_V1_L4_EVENT | 1 << HWTSTAMP_FILTER_PTP_V2_L4_EVENT), .rx_hash_key_size = 16, + .check_caps = siena_check_caps, }; -- cgit v1.2.3 From 1b0cde4091877cd7fe4b29f67645cc391b86c9ca Mon Sep 17 00:00:00 2001 From: Edward Cree Date: Tue, 12 May 2020 14:24:58 +0100 Subject: sfc: siena_check_caps() can be static Reported-by: Jakub Kicinski Reported-by: kbuild test robot Signed-off-by: Edward Cree Signed-off-by: David S. Miller --- drivers/net/ethernet/sfc/siena.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) (limited to 'drivers/net/ethernet/sfc/siena.c') diff --git a/drivers/net/ethernet/sfc/siena.c b/drivers/net/ethernet/sfc/siena.c index d8b052979b1b..891e9fb6abec 100644 --- a/drivers/net/ethernet/sfc/siena.c +++ b/drivers/net/ethernet/sfc/siena.c @@ -948,8 +948,8 @@ fail: #endif /* CONFIG_SFC_MTD */ -unsigned int siena_check_caps(const struct efx_nic *efx, - u8 flag, u32 offset) +static unsigned int siena_check_caps(const struct efx_nic *efx, + u8 flag, u32 offset) { /* Siena did not support MC_CMD_GET_CAPABILITIES */ return 0; -- cgit v1.2.3