summaryrefslogtreecommitdiff
path: root/tools/net/ynl/ynl-gen-c.py
diff options
context:
space:
mode:
authorJiri Pirko <jiri@nvidia.com>2023-08-03 13:13:32 +0200
committerJakub Kicinski <kuba@kernel.org>2023-08-04 14:03:01 -0700
commitfa8ba3502ade9e4a8e447066b0d94261fbbe1906 (patch)
treec7ebf7d8fdc0926819e7ba676653c03d17d6dd96 /tools/net/ynl/ynl-gen-c.py
parenteab7be688b4416588d19ee1fe5edbfa79a639b42 (diff)
ynl-gen-c.py: render netlink policies static for split ops
When policies are rendered for split ops, they are consumed in the same file. No need to expose them for user outside, make them static. Signed-off-by: Jiri Pirko <jiri@nvidia.com> Reviewed-by: Jakub Kicinski <kuba@kernel.org> Link: https://lore.kernel.org/r/20230803111340.1074067-5-jiri@resnulli.us Signed-off-by: Jakub Kicinski <kuba@kernel.org>
Diffstat (limited to 'tools/net/ynl/ynl-gen-c.py')
-rwxr-xr-xtools/net/ynl/ynl-gen-c.py8
1 files changed, 6 insertions, 2 deletions
diff --git a/tools/net/ynl/ynl-gen-c.py b/tools/net/ynl/ynl-gen-c.py
index 2ea6af892b68..e64311331726 100755
--- a/tools/net/ynl/ynl-gen-c.py
+++ b/tools/net/ynl/ynl-gen-c.py
@@ -1843,13 +1843,13 @@ def print_ntf_type_free(ri):
def print_req_policy_fwd(cw, struct, ri=None, terminate=True):
- if terminate and ri and kernel_can_gen_family_struct(struct.family):
+ if terminate and ri and policy_should_be_static(struct.family):
return
if terminate:
prefix = 'extern '
else:
- if kernel_can_gen_family_struct(struct.family) and ri:
+ if ri and policy_should_be_static(struct.family):
prefix = 'static '
else:
prefix = ''
@@ -1877,6 +1877,10 @@ def kernel_can_gen_family_struct(family):
return family.proto == 'genetlink'
+def policy_should_be_static(family):
+ return family.kernel_policy == 'split' or kernel_can_gen_family_struct(family)
+
+
def print_kernel_op_table_fwd(family, cw, terminate):
exported = not kernel_can_gen_family_struct(family)