Hi,
On 2024/4/30 17:26, Maxime Ripard wrote:
Hi,
On Tue, Apr 30, 2024 at 01:35:21AM +0800, Sui Jingfeng wrote:
Linux kernel puts strict limits on which functions and data structures
are available to loadable kernel modules; only those that have been
explicitly exported with EXPORT_SYMBOL() or EXPORT_SYMBOL_GPL() are
accessible. In the case of EXPORT_SYMBOL_GPL(), only modules that declare
a GPL-compatible license will be able to see the symbol.
Since the whole drm_of.c file is declared with GPL-2.0-only license, so
let us keep functions in that source file consistently.
You're conflating two things: the license of the code itself (GPL2
here), and the license of the users of the symbols exported in that
file (anything).
There's no relationship between the two, and you have to make an
argument for changing the latter other than just because the license is
GPL because, again, those are two different things.
Yeah, I think you might be correct.
It seems that it is valid to have EXPORT_SYMBOL() in GPL-2.0-only licensed file.
Maxime
--
Best regards,
Sui