net: devlink: add port_init/fini() helpers to allow pre-register/post-unregister...
authorJiri Pirko <jiri@nvidia.com>
Thu, 29 Sep 2022 07:28:58 +0000 (09:28 +0200)
committerJakub Kicinski <kuba@kernel.org>
Sat, 1 Oct 2022 01:17:16 +0000 (18:17 -0700)
commitae3bbc04d4bfef5d0332cd4edda3ac8f714cea23
treee150b9e6fd1d7233eb6c3a05bf53b89cae4d40ea
parent081adcfe930e4b01a55eaa329b2e453a442f35a9
net: devlink: add port_init/fini() helpers to allow pre-register/post-unregister functions

Lifetime of some of the devlink objects, like regions, is currently
forced to be different for devlink instance and devlink port instance
(per-port regions). The reason is that for devlink ports, the internal
structures initialization happens only after devlink_port_register() is
called.

To resolve this inconsistency, introduce new set of helpers to allow
driver to initialize devlink pointer and region list before
devlink_register() is called. That allows port regions to be created
before devlink port registration and destroyed after devlink
port unregistration.

Signed-off-by: Jiri Pirko <jiri@nvidia.com>
Signed-off-by: Jakub Kicinski <kuba@kernel.org>
include/net/devlink.h
net/core/devlink.c