On Tue, Aug 18, 2015 at 4:49 PM, Dale <rdalek1...@gmail.com> wrote: > > If you have any info on how to override this, I'd be glad to see it. > Just a link or something would help. >
I haven't tested it, but I'd think the simplest solution would be something like this (which just turns EXPORT_SYMBOL_GPL into EXPORT_SYMBOL, and should be a lot easier than fixing every export that the drivers use): diff --git a/include/linux/export.h b/include/linux/export.h index 96e45ea..b1bc4c3 100644 --- a/include/linux/export.h +++ b/include/linux/export.h @@ -69,7 +69,7 @@ extern struct module __this_module; __EXPORT_SYMBOL(sym, "") #define EXPORT_SYMBOL_GPL(sym) \ - __EXPORT_SYMBOL(sym, "_gpl") + __EXPORT_SYMBOL(sym, "") #define EXPORT_SYMBOL_GPL_FUTURE(sym) \ __EXPORT_SYMBOL(sym, "_gpl_future") I really think that this kind of approach by the kernel devs isn't really going to go anywhere. It might cause companies like nvidia/ati to just dump linux support, but it seems more likely that they'd just play workaround games. Maybe they create a GPL module that just exposes all the APIs as non-GPL. Maybe they make it clear that their module is non-GPL, but have it report itself as GPL to the kernel. I think the kernel devs would be hard-pressed to mount some kind of GPL infringement lawsuit. In general US courts have tended to block attempts to use copyright/trademark/patents/etc simply to prevent interoperability, and that is basically what this is. And would we really want it any other way? How is this not like Brother sticking chips in their ink cartridges containing copyrighted code, or the chip in lightning cables? I do get the frustration of the kernel developers. The GPU makers should be competing on their GPUs, not on their drivers. However, Linux isn't their main market and forcing the issue is probably just going to drive them to ignore it. -- Rich