From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from smtp.tuxdriver.com (charlotte.tuxdriver.com [70.61.120.58]) by dpdk.org (Postfix) with ESMTP id BAF61AFD2 for ; Tue, 29 Apr 2014 16:23:46 +0200 (CEST) Received: from hmsreliant.think-freely.org ([2001:470:8:a08:7aac:c0ff:fec2:933b] helo=localhost) by smtp.tuxdriver.com with esmtpsa (TLSv1:AES128-SHA:128) (Exim 4.63) (envelope-from ) id 1Wf8wj-00076t-6X; Tue, 29 Apr 2014 10:23:49 -0400 Date: Tue, 29 Apr 2014 10:23:44 -0400 From: Neil Horman To: David Marchand Message-ID: <20140429142344.GB14945@hmsreliant.think-freely.org> References: <1398780963-3694-1-git-send-email-david.marchand@6wind.com> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <1398780963-3694-1-git-send-email-david.marchand@6wind.com> User-Agent: Mutt/1.5.21 (2010-09-15) X-Spam-Score: -2.9 (--) X-Spam-Status: No Cc: dev@dpdk.org Subject: Re: [dpdk-dev] [PATCH] kni: fix build for debian kernel 3.2 X-BeenThere: dev@dpdk.org X-Mailman-Version: 2.1.15 Precedence: list List-Id: patches and discussions about DPDK List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 29 Apr 2014 14:23:47 -0000 On Tue, Apr 29, 2014 at 04:16:03PM +0200, David Marchand wrote: > Following debian kernel headers upgrade to 3.2.57-3, pci capability accessors > have been backported (upstream commit 8c0d3a02c1309eb6112d2e7c8172e8ceb26ecfca, > ("PCI: Add accessors for PCI Express Capability", v3.7-rc1)). > > It results in the same compilation error as redhat 6.x. > However, there is no clear way to determine we are building on a debian kernel. > So, rather than determine if we are building on a distribution kernel, look at > PCI_EXP_LNKSTA2 that appeared in this upstream commit. > > Signed-off-by: David Marchand > --- > lib/librte_eal/linuxapp/kni/ethtool/igb/kcompat.h | 6 ++---- > 1 file changed, 2 insertions(+), 4 deletions(-) > > diff --git a/lib/librte_eal/linuxapp/kni/ethtool/igb/kcompat.h b/lib/librte_eal/linuxapp/kni/ethtool/igb/kcompat.h > index d2f65ab..19df483 100644 > --- a/lib/librte_eal/linuxapp/kni/ethtool/igb/kcompat.h > +++ b/lib/librte_eal/linuxapp/kni/ethtool/igb/kcompat.h > @@ -3691,8 +3691,7 @@ static inline u8 pci_pcie_type(struct pci_dev *pdev) > > #define ptp_clock_register(caps, args...) ptp_clock_register(caps) > > -#if !(SLE_VERSION_CODE && SLE_VERSION_CODE >= SLE_VERSION(11,3,0)) && \ > - !(RHEL_RELEASE_CODE && RHEL_RELEASE_CODE >= RHEL_RELEASE_VERSION(6,5)) > +#ifndef PCI_EXP_LNKSTA2 > int __kc_pcie_capability_read_word(struct pci_dev *dev, int pos, u16 *val); > #define pcie_capability_read_word(d,p,v) __kc_pcie_capability_read_word(d,p,v) > int __kc_pcie_capability_write_word(struct pci_dev *dev, int pos, u16 val); > @@ -3709,8 +3708,7 @@ static inline int pcie_capability_clear_word(struct pci_dev *dev, int pos, > { > return __kc_pcie_capability_clear_and_set_word(dev, pos, clear, 0); > } > -#endif /* !(SLE_VERSION_CODE && SLE_VERSION_CODE >= SLE_VERSION(11,3,0)) && \ > - !(RHEL_RELEASE_CODE && RHEL_RELEASE_CODE >= RHEL_RELEASE_VERSION(6,5)) */ > +#endif /* !PCI_EXP_LNKSTA2 */ > > #if (SLE_VERSION_CODE && SLE_VERSION_CODE >= SLE_VERSION(11,3,0)) > #define USE_CONST_DEV_UC_CHAR > -- > 1.7.10.4 > > Acked-by: Neil Horman Though, not to grind on this issue, but if the PMDs for real hardware were converted to use VFIO, the kni interface wouldn't really be needed anymore, nor would any of the other kernel code being maintained out of tree here Neil