linux/drivers/net/ethernet/netronome/nfp
Taehee Yoo ab92d68fc2 net: core: add generic lockdep keys
Some interface types could be nested.
(VLAN, BONDING, TEAM, MACSEC, MACVLAN, IPVLAN, VIRT_WIFI, VXLAN, etc..)
These interface types should set lockdep class because, without lockdep
class key, lockdep always warn about unexisting circular locking.

In the current code, these interfaces have their own lockdep class keys and
these manage itself. So that there are so many duplicate code around the
/driver/net and /net/.
This patch adds new generic lockdep keys and some helper functions for it.

This patch does below changes.
a) Add lockdep class keys in struct net_device
   - qdisc_running, xmit, addr_list, qdisc_busylock
   - these keys are used as dynamic lockdep key.
b) When net_device is being allocated, lockdep keys are registered.
   - alloc_netdev_mqs()
c) When net_device is being free'd llockdep keys are unregistered.
   - free_netdev()
d) Add generic lockdep key helper function
   - netdev_register_lockdep_key()
   - netdev_unregister_lockdep_key()
   - netdev_update_lockdep_key()
e) Remove unnecessary generic lockdep macro and functions
f) Remove unnecessary lockdep code of each interfaces.

After this patch, each interface modules don't need to maintain
their lockdep keys.

Signed-off-by: Taehee Yoo <ap420073@gmail.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
2019-10-24 14:53:48 -07:00
..
abm nfp: abm: fix memory leak in nfp_abm_u32_knode_replace 2019-09-27 20:55:51 +02:00
bpf Kbuild updates for v5.4 2019-09-20 08:36:47 -07:00
crypto nfp: tls: don't leave key material in freed FW cmsg skbs 2019-07-08 20:21:09 -07:00
flower Merge git://git.kernel.org/pub/scm/linux/kernel/git/netdev/net 2019-09-28 17:47:33 -07:00
nfpcore Kbuild updates for v5.4 2019-09-20 08:36:47 -07:00
nic treewide: remove dummy Makefiles for single targets 2019-08-21 21:05:21 +09:00
Makefile nfp: add devlink param infrastructure 2019-09-10 17:29:27 +01:00
ccm.c nfp: add support for sending control messages via mailbox 2019-06-06 14:13:39 -07:00
ccm.h nfp: tls: ignore queue limits for delete commands 2019-07-08 20:21:09 -07:00
ccm_mbox.c nfp: ccm: increase message limits 2019-07-08 20:21:09 -07:00
devlink_param.c nfp: devlink: set unknown fw_load_policy 2019-09-11 15:10:05 +01:00
nfp_abi.h nfp: replace long license headers with SPDX 2018-10-11 12:16:21 -07:00
nfp_app.c nfp: add offloads on representors 2018-11-30 13:30:44 -08:00
nfp_app.h nfp: allow fallback packets from non-reprs 2019-04-15 15:45:36 -07:00
nfp_app_nic.c nfp: replace long license headers with SPDX 2018-10-11 12:16:21 -07:00
nfp_asm.c nfp: replace long license headers with SPDX 2018-10-11 12:16:21 -07:00
nfp_asm.h nfp: replace long license headers with SPDX 2018-10-11 12:16:21 -07:00
nfp_devlink.c net: devlink: Add extack to shared buffer operations 2019-04-22 22:09:32 -07:00
nfp_hwmon.c nfp: replace long license headers with SPDX 2018-10-11 12:16:21 -07:00
nfp_main.c kdoc: fix nfp_fw_load documentation 2019-09-10 17:29:27 +01:00
nfp_main.h nfp: add devlink param infrastructure 2019-09-10 17:29:27 +01:00
nfp_net.h nfp: bpf: rework MTU checking 2019-08-31 00:49:05 +02:00
nfp_net_common.c nfp: bpf: rework MTU checking 2019-08-31 00:49:05 +02:00
nfp_net_ctrl.c nfp: parse crypto opcode TLV 2019-06-06 14:13:39 -07:00
nfp_net_ctrl.h nfp: prepare for more TX metadata prepend 2019-06-06 14:13:40 -07:00
nfp_net_debugdump.c nfp: replace long license headers with SPDX 2018-10-11 12:16:21 -07:00
nfp_net_debugfs.c nfp: no need to check return value of debugfs_create functions 2019-08-10 15:25:48 -07:00
nfp_net_ethtool.c nfp: tls: rename tls packet counters 2019-07-25 13:31:00 -07:00
nfp_net_main.c nfp: add devlink param infrastructure 2019-09-10 17:29:27 +01:00
nfp_net_repr.c net: core: add generic lockdep keys 2019-10-24 14:53:48 -07:00
nfp_net_repr.h nfp: add offloads on representors 2018-11-30 13:30:44 -08:00
nfp_net_sriov.c nfp: add SR-IOV trusted VF support 2019-04-19 21:00:31 -07:00
nfp_net_sriov.h nfp: add SR-IOV trusted VF support 2019-04-19 21:00:31 -07:00
nfp_netvf_main.c nfp: implement PCI driver shutdown callback 2019-04-26 12:08:13 -04:00
nfp_port.c nfp: reintroduce ndo_get_port_parent_id for representor ports 2019-05-08 16:32:36 -07:00
nfp_port.h nfp: move devlink port type set after netdev registration 2019-03-24 14:55:31 -04:00
nfp_shared_buf.c net: devlink: report cell size of shared buffers 2019-02-03 11:25:34 -08:00