Message ID | 1510773058-1482-1-git-send-email-cjia@nvidia.com (mailing list archive) |
---|---|
State | New, archived |
Delegated to: | Bjorn Helgaas |
Headers | show |
On Wed, Nov 15, 2017 at 11:10:58AM -0800, Neo Jia wrote: > This will allow proprietary linux drivers to adopt SR-IOV spec from > PCI-SIG, also switch pci_reset_function to non-GPL symbol as it mainly > does pci config space access per spec. Clear NAK. Thos were added intentional, and even if they were changed your driver would still be a derived work and had to be published under a GPLv2-compatible license.
On Fri, Nov 17, 2017 at 06:55:04AM -0800, Christoph Hellwig wrote: > On Wed, Nov 15, 2017 at 11:10:58AM -0800, Neo Jia wrote: > > This will allow proprietary linux drivers to adopt SR-IOV spec from > > PCI-SIG, also switch pci_reset_function to non-GPL symbol as it mainly > > does pci config space access per spec. > > Clear NAK. Thos were added intentional, and even if they were changed > your driver would still be a derived work and had to be published under > a GPLv2-compatible license. Hi Christoph, Just to be clear, here the request is to allow proprietary driver continue supporting Linux OS when adopting SR-IOV - a PCIE virtualization technology standardized by PCI SIG. Similar interfaces we have seen inside Linux kernels are pci_enable_msi, pci_enable_misx_range, which allows proprietary to work when following a PCI SIG standard. Thanks, Neo
> Just to be clear, here the request is to allow proprietary driver continue > supporting Linux OS when adopting SR-IOV - a PCIE virtualization technology > standardized by PCI SIG. And the anser in the previous mail was pretty clear: no. And while we're at it go talk to your lawyers again that you don't have a derived work, because I suspect you do with such intimate entangling.
On Thu, Nov 23, 2017 at 05:23:00AM -0800, Christoph Hellwig wrote: > > Just to be clear, here the request is to allow proprietary driver continue > > supporting Linux OS when adopting SR-IOV - a PCIE virtualization technology > > standardized by PCI SIG. > > And the anser in the previous mail was pretty clear: no. And while > we're at it go talk to your lawyers again that you don't have a derived > work, because I suspect you do with such intimate entangling. Hi Christoph, Right now, Linux kernel is providing PCI kernel interfaces to support proprietary PCI driver when it follows the standard from PCI SIG spec. So here we are just following the precedence of such to enable a SR-IOV capable device. I treat this no difference to the scenario when a proprietary PCI driver is used to only support MSI (pci_enable_msi) and later add MSI-X support (pci_enable_msix_range). Thanks, Neo
On Fri, 2017-11-24 at 23:37 -0800, Neo Jia wrote: > On Thu, Nov 23, 2017 at 05:23:00AM -0800, Christoph Hellwig wrote: > > > Just to be clear, here the request is to allow proprietary driver continue > > > supporting Linux OS when adopting SR-IOV - a PCIE virtualization technology > > > standardized by PCI SIG. > > > > And the anser in the previous mail was pretty clear: no. And while > > we're at it go talk to your lawyers again that you don't have a derived > > work, because I suspect you do with such intimate entangling. > > Hi Christoph, > > Right now, Linux kernel is providing PCI kernel interfaces to support > proprietary PCI driver when it follows the standard from PCI SIG spec. Some, but not all. For example, the SVM interfaces are also exported with EXPORT_SYMBOL_GPL, and may not be used by drivers which violate the GPL licence of the kernel. You have already been told that this won't be changed. Please stop asking.
diff --git a/drivers/pci/iov.c b/drivers/pci/iov.c index 6bacb8995e96..ecc6e7cddc57 100644 --- a/drivers/pci/iov.c +++ b/drivers/pci/iov.c @@ -673,7 +673,7 @@ int pci_enable_sriov(struct pci_dev *dev, int nr_virtfn) return sriov_enable(dev, nr_virtfn); } -EXPORT_SYMBOL_GPL(pci_enable_sriov); +EXPORT_SYMBOL(pci_enable_sriov); /** * pci_disable_sriov - disable the SR-IOV capability @@ -688,7 +688,7 @@ void pci_disable_sriov(struct pci_dev *dev) sriov_disable(dev); } -EXPORT_SYMBOL_GPL(pci_disable_sriov); +EXPORT_SYMBOL(pci_disable_sriov); /** * pci_num_vf - return number of VFs associated with a PF device_release_driver diff --git a/drivers/pci/pci.c b/drivers/pci/pci.c index 4a7c6864fdf4..e8318abedc73 100644 --- a/drivers/pci/pci.c +++ b/drivers/pci/pci.c @@ -4367,7 +4367,7 @@ int pci_reset_function(struct pci_dev *dev) return rc; } -EXPORT_SYMBOL_GPL(pci_reset_function); +EXPORT_SYMBOL(pci_reset_function); /** * pci_reset_function_locked - quiesce and reset a PCI device function