Re: [PATCH] powerpc: non-GPL export for eeh_dev_check_failure
From: Vishal Mansur
Date: Wed Aug 13 2014 - 03:30:18 EST
On 8/11/2014 8:46 AM, Benjamin Herrenschmidt wrote:
> On Tue, 2014-08-05 at 15:51 +0100, One Thousand Gnomes wrote:
>> On Tue, 05 Aug 2014 20:12:09 +0530
>> Vishal Mansur <vmansur@xxxxxxxxxxxxxxxxxx> wrote:
>>
>>> 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.
>>
>> 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 ?
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
>
> Cheers,
> Ben.
>
>> Alan
>> --
>> To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
>> the body of a message to majordomo@xxxxxxxxxxxxxxx
>> More majordomo info at http://vger.kernel.org/majordomo-info.html
>> Please read the FAQ at http://www.tux.org/lkml/
>
>
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/