powerpc: non-GPL export for eeh_dev_check_failure
Subsystems (2)
PATCH 1/1 powerpc: non-GPL export for eeh_dev_check_failure
EEH kernel services are inconsistently exported by the kernel. eeh_check_failure is exported for any use, but eeh_dev_check_failure is exported only for GPL use. While eeh_check_failure is implemented for a specific purpose to be used by services such as readl, it is not suited for a purpose where caller needs eeh status. This functionality is provided by eeh_dev_check_failure.
This patch relaxes the export for eeh_dev_check_failure to make it consistent with eeh_check_failure() and usable by non-GPL modules.
--- arch/powerpc/kernel/eeh.c | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-)
arch/powerpc/kernel/eeh.c +1 -2
@@ -496,8 +496,7 @@ dn_unlock:eeh_serialize_unlock (flags);return rc; } - -EXPORT_SYMBOL_GPL (eeh_dev_check_failure); +EXPORT_SYMBOL (eeh_dev_check_failure);/** * eeh_check_failure - Check if all 1's data is due to EEH slot freeze
--
2.0.1
Quoted 11 lines · On Tue, 05 Aug 2014 20:12:09 +0530 Vishal Mansur <[email protected]>…
EEH kernel services are inconsistently exported by the kernel.
eeh_check_failureis exported for any use, buteeh_dev_check_failureis exported only for GPL use. Whileeeh_check_failureis implemented for a specific purpose to be used by services such as readl, it is not suited for a purpose where caller needs eeh status. This functionality is provided byeeh_dev_check_failure.This patch relaxes the export for
eeh_dev_check_failureto make it consistent witheeh_check_failure()and usable by non-GPL modules.
The GPL covers all derivative works. Tweaking this doesn't magically allow you to use the feature in non GPL code. Your legal department can I am sure explain in detail further.
Alan
Quoted 11 lines · One Thousand Gnomes
Quoted 8 lines · On Tue, 05 Aug 2014 20:12:09 +0530 Vishal Mansur <[email protected]>…
EEH kernel services are inconsistently exported by the kernel.
eeh_check_failureis exported for any use, buteeh_dev_check_failureis exported only for GPL use. Whileeeh_check_failureis implemented for a specific purpose to be used by services such as readl, it is not suited for a purpose where caller needs eeh status. This functionality is provided byeeh_dev_check_failure.
Quoted 7 lines
Quoted 3 lines
This patch relaxes the export for
eeh_dev_check_failureto make it consistent witheeh_check_failure()and usable by non-GPL modules.The GPL covers all derivative works. Tweaking this doesn't magically allow you to use the feature in non GPL code. Your legal department can I am sure explain in detail further.
This is an interesting case... I assume this has to do with a well known GPU manufacturer...
The PCI APIs are generally exported in such a way that a non-GPL driver can use them (regardless of whether one considers a non-GPL driver to be legal here or not, this is besides the point).
eeh_dev_check_failure() can be considered as powerpc specific extension of the PCI API for use by PCI drivers and as such, it *could* be construed that we should be consistent (and consistent with eeh_check_failure()) and expose it as an EXPORT_SYMBOL without the GPL suffix.
So I'm somewhat tempted to take this patch, but Vishal, the driver in question could, I suppose, as a workaround, use a readl to some scratch register of some description, no ?
Cheers,
Ben.
Quoted 6 lines
Alan
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to [email protected]
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/
Quoted 33 lines · Benjamin Herrenschmidt
Quoted 11 lines · One Thousand Gnomes
Quoted 8 lines · On Tue, 05 Aug 2014 20:12:09 +0530 Vishal Mansur <[email protected]>…
EEH kernel services are inconsistently exported by the kernel.
eeh_check_failureis exported for any use, buteeh_dev_check_failureis exported only for GPL use. Whileeeh_check_failureis implemented for a specific purpose to be used by services such as readl, it is not suited for a purpose where caller needs eeh status. This functionality is provided byeeh_dev_check_failure.Quoted 7 lines
Quoted 3 lines
This patch relaxes the export for
eeh_dev_check_failureto make it consistent witheeh_check_failure()and usable by non-GPL modules.The GPL covers all derivative works. Tweaking this doesn't magically allow you to use the feature in non GPL code. Your legal department can I am sure explain in detail further.
This is an interesting case... I assume this has to do with a well known GPU manufacturer...
The PCI APIs are generally exported in such a way that a non-GPL driver can use them (regardless of whether one considers a non-GPL driver to be legal here or not, this is besides the point).
eeh_dev_check_failure()can be considered as powerpc specific extension of the PCI API for use by PCI drivers and as such, it *could* be construed that we should be consistent (and consistent witheeh_check_failure()) and expose it as anEXPORT_SYMBOLwithout the GPL suffix.
Quoted 3 lines
So I'm somewhat tempted to take this patch, but Vishal, the driver in question could, I suppose, as a workaround, use a readl to some scratch register of some description, no ?
Ben, calling readl to some scratch register will be same as calling eeh_check_failure, caller will not be able to get eeh status.
Hence for the purpose where caller wants to know eeh status during a bad register read, it can not be worked around using readl.
Thanks,
Vishal
Quoted 12 lines
Cheers,
Ben.Quoted 6 lines
Alan
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to [email protected]
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/