Messages in this thread |  | | From | Sasha Levin <> | | Subject | Re: [PATCH v3 1/9] kernel/api: introduce kernel API specification framework | | Date | Tue, 5 May 2026 03:45:40 -0400 |
| |
On Sun, Apr 26, 2026 at 11:37:45PM -0400, Nathan Chancellor wrote: > On Fri, 24 Apr 2026 12:51:21 -0400, Sasha Levin <sashal@kernel.org> wrote: > > diff --git a/kernel/Makefile b/kernel/Makefile > > index 6785982013dc..564315153643 100644 > > --- a/kernel/Makefile > > +++ b/kernel/Makefile > > @@ -59,6 +59,9 @@ obj-y += dma/ > > obj-y += entry/ > > obj-y += unwind/ > > obj-$(CONFIG_MODULES) += module/ > > +obj-$(CONFIG_KAPI_SPEC) += api/ > > +# Ensure api/ is always cleaned even when CONFIG_KAPI_SPEC is not set > > +obj- += api/ > > If $(CONFIG_KAPI_SPEC) is not set, shouldn't > > obj-$(CONFIG_KAPI_SPEC) += api/ > > evaluate to > > obj- += api/ > > anyways? Why the duplication? This is the only place in the kernel where > this would be needed?
You are right, the explicit "obj- += api/" is redundant. Nicolas pointed to scripts/Makefile.clean which already evaluates obj- during 'make clean', so the conditional gate alone is sufficient. Dropped in v4.
> > diff --git a/kernel/api/.gitignore b/kernel/api/.gitignore > > new file mode 100644 > > index 000000000000..ca2f632621cf > > --- /dev/null > > +++ b/kernel/api/.gitignore > > @@ -0,0 +1,2 @@ > > +# SPDX-License-Identifier: GPL-2.0-only > > +/generated_api_specs.c > > This appears unused?
Correct, leftover from an earlier prototype that generated a single combined .c file. Nothing in the current series produces generated_api_specs.c, so the .gitignore is removed entirely in v4.
> > diff --git a/kernel/api/Kconfig b/kernel/api/Kconfig > > new file mode 100644 > > index 000000000000..d1072728742a > > --- /dev/null > > +++ b/kernel/api/Kconfig > > @@ -0,0 +1,77 @@ > > +# SPDX-License-Identifier: GPL-2.0-only > > +# > > +# Kernel API Specification Framework Configuration > > +# > > + > > +config KAPI_SPEC > > + bool "Kernel API Specification Framework" > > + default n > > I think 'default n' is tautological since 'n' is the default for all > bool symbols. Consider dropping it on all symbols throughtout this file.
Dropped from KAPI_SPEC, KAPI_RUNTIME_CHECKS, and KAPI_SPEC_DEBUGFS in v4. KAPI_KUNIT_TEST already uses "default KUNIT_ALL_TESTS" and is left unchanged.
Thanks for the review!
-- Thanks, Sasha
|  |