[elrepo] What is the chance of an el7 e1000 driver?

Phil Perry phil at elrepo.org
Thu Jun 2 15:10:40 EDT 2016


On 02/06/16 18:26, Nick Howitt wrote:
> Hi Akemi,
>
> Have you been able to make any progress with this or is it a lost cause?
>
> Regards,
>
> Nick
>

Hi Nick,

Unfortunately at this point I'd say it's looking like a lost cause - far 
too many errors for me to wade my way through trying to fix:

Building target platforms: x86_64
Building for target x86_64
Executing(%prep): /bin/sh -e /var/tmp/rpm-tmp.c5jstt
+ umask 022
+ cd /home/phil/rpmbuild/BUILD
+ cd /home/phil/rpmbuild/BUILD
+ rm -rf e1000-8.0.35
+ /usr/bin/gzip -dc /home/phil/rpmbuild/SOURCES/e1000-8.0.35.tar.gz
+ /usr/bin/tar -xf -
+ STATUS=0
+ '[' 0 -ne 0 ']'
+ cd e1000-8.0.35
+ /usr/bin/chmod -Rf a+rX,u+w,g-w,o-w .
+ /usr/bin/chmod a-x e1000.7 README
+ /usr/bin/gzip e1000.7
+ /usr/bin/cp /home/phil/rpmbuild/SOURCES/ELRepo-e1000-8.0.35-Makefile 
src/Makefile
+ echo 'override e1000 * weak-updates/e1000'
+ exit 0
Executing(%build): /bin/sh -e /var/tmp/rpm-tmp.V2K4Gs
+ umask 022
+ cd /home/phil/rpmbuild/BUILD
+ cd e1000-8.0.35
+ pushd src
~/rpmbuild/BUILD/e1000-8.0.35/src ~/rpmbuild/BUILD/e1000-8.0.35
+ /usr/bin/make KSRC=/usr/src/kernels/3.10.0-327.el7.x86_64
/usr/bin/make -C /usr/src/kernels/3.10.0-327.el7.x86_64 
SUBDIRS=/home/phil/rpmbuild/BUILD/e1000-8.0.35/src modules
make[1]: Entering directory `/usr/src/kernels/3.10.0-327.el7.x86_64'
   CC [M]  /home/phil/rpmbuild/BUILD/e1000-8.0.35/src/e1000_main.o
/home/phil/rpmbuild/BUILD/e1000-8.0.35/src/e1000_main.c:134:23: error: 
expected '=', ',', ';', 'asm' or '__attribute__' before 'e1000_remove'
  static void __devexit e1000_remove(struct pci_dev *pdev);
                        ^
/home/phil/rpmbuild/BUILD/e1000-8.0.35/src/e1000_main.c:253:2: error: 
implicit declaration of function '__devexit_p' 
[-Werror=implicit-function-declaration]
   .remove   = __devexit_p(e1000_remove),
   ^
/home/phil/rpmbuild/BUILD/e1000-8.0.35/src/e1000_main.c:253:26: error: 
'e1000_remove' undeclared here (not in a function)
   .remove   = __devexit_p(e1000_remove),
                           ^
/home/phil/rpmbuild/BUILD/e1000-8.0.35/src/e1000_main.c:695:2: error: 
unknown field 'ndo_set_multicast_list' specified in initializer
   .ndo_set_multicast_list = e1000_set_multi,
   ^
/home/phil/rpmbuild/BUILD/e1000-8.0.35/src/e1000_main.c:695:2: warning: 
initialization from incompatible pointer type [enabled by default]
/home/phil/rpmbuild/BUILD/e1000-8.0.35/src/e1000_main.c:695:2: warning: 
(near initialization for 'e1000_netdev_ops.ndo_vlan_rx_add_vid') 
[enabled by default]
/home/phil/rpmbuild/BUILD/e1000-8.0.35/src/e1000_main.c:702:2: error: 
unknown field 'ndo_vlan_rx_register' specified in initializer
   .ndo_vlan_rx_register = e1000_vlan_rx_register,
   ^
/home/phil/rpmbuild/BUILD/e1000-8.0.35/src/e1000_main.c:702:26: error: 
'e1000_vlan_rx_register' undeclared here (not in a function)
   .ndo_vlan_rx_register = e1000_vlan_rx_register,
                           ^
/home/phil/rpmbuild/BUILD/e1000-8.0.35/src/e1000_main.c:703:25: error: 
'e1000_vlan_rx_add_vid' undeclared here (not in a function)
   .ndo_vlan_rx_add_vid = e1000_vlan_rx_add_vid,
                          ^
/home/phil/rpmbuild/BUILD/e1000-8.0.35/src/e1000_main.c:704:26: error: 
'e1000_vlan_rx_kill_vid' undeclared here (not in a function)
   .ndo_vlan_rx_kill_vid = e1000_vlan_rx_kill_vid,
                           ^
/home/phil/rpmbuild/BUILD/e1000-8.0.35/src/e1000_main.c:722:22: error: 
expected '=', ',', ';', 'asm' or '__attribute__' before 'e1000_probe'
  static int __devinit e1000_probe(struct pci_dev *pdev,
                       ^
/home/phil/rpmbuild/BUILD/e1000-8.0.35/src/e1000_main.c:1093:23: error: 
expected '=', ',', ';', 'asm' or '__attribute__' before 'e1000_remove'
  static void __devexit e1000_remove(struct pci_dev *pdev)
                        ^
/home/phil/rpmbuild/BUILD/e1000-8.0.35/src/e1000_main.c:1141:22: error: 
expected '=', ',', ';', 'asm' or '__attribute__' before 'e1000_sw_init'
  static int __devinit e1000_sw_init(struct e1000_adapter *adapter)
                       ^
/home/phil/rpmbuild/BUILD/e1000-8.0.35/src/e1000_main.c:1192:22: error: 
expected '=', ',', ';', 'asm' or '__attribute__' before 'e1000_alloc_rings'
  static int __devinit e1000_alloc_rings(struct e1000_adapter *adapter)
                       ^
In file included from include/uapi/linux/stddef.h:1:0,
                  from include/linux/stddef.h:4,
                  from 
/usr/src/kernels/3.10.0-327.el7.x86_64/include/uapi/linux/posix_types.h:4,
                  from include/uapi/linux/types.h:13,
                  from include/linux/types.h:5,
                  from include/linux/list.h:4,
                  from include/linux/module.h:9,
                  from 
/home/phil/rpmbuild/BUILD/e1000-8.0.35/src/e1000_main.c:29:
/home/phil/rpmbuild/BUILD/e1000-8.0.35/src/e1000_main.c: In function 
'e1000_tx_map':
include/asm-generic/memory_model.h:52:52: error: invalid operands to 
binary - (have 'struct <anonymous>' and 'struct page *')
  #define __page_to_pfn(page) (unsigned long)((page) - vmemmap)
                                                     ^
include/linux/compiler.h:153:42: note: in definition of macro 'unlikely'
  # define unlikely(x) __builtin_expect(!!(x), 0)
                                           ^
include/asm-generic/memory_model.h:72:21: note: in expansion of macro 
'__page_to_pfn'
  #define page_to_pfn __page_to_pfn
                      ^
/usr/src/kernels/3.10.0-327.el7.x86_64/arch/x86/include/asm/io.h:137:44: 
note: in expansion of macro 'page_to_pfn'
  #define page_to_phys(page)    ((dma_addr_t)page_to_pfn(page) << 
PAGE_SHIFT)
                                             ^
/home/phil/rpmbuild/BUILD/e1000-8.0.35/src/e1000_main.c:2789:26: note: 
in expansion of macro 'page_to_phys'
         !((unsigned long)(page_to_phys(frag->page) + offset
                           ^
/home/phil/rpmbuild/BUILD/e1000-8.0.35/src/e1000_main.c:2801:11: error: 
incompatible type for argument 2 of 'dma_map_page'
            DMA_TO_DEVICE);
            ^
In file included from 
/usr/src/kernels/3.10.0-327.el7.x86_64/arch/x86/include/asm/dma-mapping.h:44:0,
                  from include/linux/dma-mapping.h:82,
                  from include/linux/skbuff.h:33,
                  from include/linux/if_ether.h:23,
                  from include/uapi/linux/ethtool.h:17,
                  from include/linux/ethtool.h:16,
                  from include/linux/netdevice.h:42,
                  from 
/home/phil/rpmbuild/BUILD/e1000-8.0.35/src/e1000_main.c:34:
include/asm-generic/dma-mapping-common.h:71:26: note: expected 'struct 
page *' but argument is of type 'struct <anonymous>'
  static inline dma_addr_t dma_map_page(struct device *dev, struct page 
*page,
                           ^
/home/phil/rpmbuild/BUILD/e1000-8.0.35/src/e1000_main.c: In function 
'e1000_receive_skb':
/home/phil/rpmbuild/BUILD/e1000-8.0.35/src/e1000_main.c:3731:2: warning: 
passing argument 1 of 'napi_gro_receive' from incompatible pointer type 
[enabled by default]
   napi_gro_receive(skb);
   ^
In file included from 
/home/phil/rpmbuild/BUILD/e1000-8.0.35/src/e1000_main.c:34:0:
include/linux/netdevice.h:2753:14: note: expected 'struct napi_struct *' 
but argument is of type 'struct sk_buff *'
  gro_result_t napi_gro_receive(struct napi_struct *napi, struct sk_buff 
*skb);
               ^
/home/phil/rpmbuild/BUILD/e1000-8.0.35/src/e1000_main.c:3731:2: error: 
too few arguments to function 'napi_gro_receive'
   napi_gro_receive(skb);
   ^
In file included from 
/home/phil/rpmbuild/BUILD/e1000-8.0.35/src/e1000_main.c:34:0:
include/linux/netdevice.h:2753:14: note: declared here
  gro_result_t napi_gro_receive(struct napi_struct *napi, struct sk_buff 
*skb);
               ^
/home/phil/rpmbuild/BUILD/e1000-8.0.35/src/e1000_main.c: In function 
'e1000_clean_jumbo_rx_irq':
/home/phil/rpmbuild/BUILD/e1000-8.0.35/src/e1000_main.c:3883:25: error: 
'KM_SKB_DATA_SOFTIRQ' undeclared (first use in this function)
                          KM_SKB_DATA_SOFTIRQ);
                          ^
/home/phil/rpmbuild/BUILD/e1000-8.0.35/src/e1000_main.c:3883:25: note: 
each undeclared identifier is reported only once for each function it 
appears in
/home/phil/rpmbuild/BUILD/e1000-8.0.35/src/e1000_main.c:3883:25: error: 
too many arguments to function 'kmap_atomic'
In file included from include/linux/pagemap.h:10:0,
                  from 
/home/phil/rpmbuild/BUILD/e1000-8.0.35/src/e1000_main.c:33:
include/linux/highmem.h:66:21: note: declared here
  static inline void *kmap_atomic(struct page *page)
                      ^
/home/phil/rpmbuild/BUILD/e1000-8.0.35/src/e1000_main.c:3886:39: error: 
macro "kunmap_atomic" passed 2 arguments, but takes just 1
                     KM_SKB_DATA_SOFTIRQ);
                                        ^
/home/phil/rpmbuild/BUILD/e1000-8.0.35/src/e1000_main.c:3885:6: error: 
'kunmap_atomic' undeclared (first use in this function)
       kunmap_atomic(vaddr,
       ^
/home/phil/rpmbuild/BUILD/e1000-8.0.35/src/e1000_main.c: At top level:
/home/phil/rpmbuild/BUILD/e1000-8.0.35/src/e1000_main.c:133:12: warning: 
'e1000_probe' used but never defined [enabled by default]
  static int e1000_probe(struct pci_dev *pdev, const struct 
pci_device_id *ent);
             ^
/home/phil/rpmbuild/BUILD/e1000-8.0.35/src/e1000_main.c:135:12: warning: 
'e1000_alloc_rings' declared 'static' but never defined [-Wunused-function]
  static int e1000_alloc_rings(struct e1000_adapter *adapter);
             ^
/home/phil/rpmbuild/BUILD/e1000-8.0.35/src/e1000_main.c:136:12: warning: 
'e1000_sw_init' declared 'static' but never defined [-Wunused-function]
  static int e1000_sw_init(struct e1000_adapter *adapter);
             ^
/home/phil/rpmbuild/BUILD/e1000-8.0.35/src/e1000_main.c:2136:13: 
warning: 'e1000_update_phy_info' defined but not used [-Wunused-function]
  static void e1000_update_phy_info(unsigned long data)
              ^
/home/phil/rpmbuild/BUILD/e1000-8.0.35/src/e1000_main.c:2142:13: 
warning: 'e1000_update_phy_info_task' defined but not used 
[-Wunused-function]
  static void e1000_update_phy_info_task(struct work_struct *work)
              ^
/home/phil/rpmbuild/BUILD/e1000-8.0.35/src/e1000_main.c:2252:13: 
warning: 'e1000_watchdog' defined but not used [-Wunused-function]
  static void e1000_watchdog(unsigned long data)
              ^
/home/phil/rpmbuild/BUILD/e1000-8.0.35/src/e1000_main.c:2260:13: 
warning: 'e1000_watchdog_task' defined but not used [-Wunused-function]
  static void e1000_watchdog_task(struct work_struct *work)
              ^
/home/phil/rpmbuild/BUILD/e1000-8.0.35/src/e1000_main.c:2156:13: 
warning: 'e1000_82547_tx_fifo_stall' defined but not used 
[-Wunused-function]
  static void e1000_82547_tx_fifo_stall(unsigned long data)
              ^
/home/phil/rpmbuild/BUILD/e1000-8.0.35/src/e1000_main.c:2166:13: 
warning: 'e1000_82547_tx_fifo_stall_task' defined but not used 
[-Wunused-function]
  static void e1000_82547_tx_fifo_stall_task(struct work_struct *work)
              ^
/home/phil/rpmbuild/BUILD/e1000-8.0.35/src/e1000_main.c:3509:12: 
warning: 'e1000_poll' defined but not used [-Wunused-function]
  static int e1000_poll(struct napi_struct *napi, int budget)
             ^
/home/phil/rpmbuild/BUILD/e1000-8.0.35/src/e1000_main.c:3128:13: 
warning: 'e1000_reset_task' defined but not used [-Wunused-function]
  static void e1000_reset_task(struct work_struct *work)
              ^
cc1: some warnings being treated as errors
make[2]: *** [/home/phil/rpmbuild/BUILD/e1000-8.0.35/src/e1000_main.o] 
Error 1
make[1]: *** [_module_/home/phil/rpmbuild/BUILD/e1000-8.0.35/src] Error 2
make[1]: Leaving directory `/usr/src/kernels/3.10.0-327.el7.x86_64'
make: *** [default] Error 2



More information about the elrepo mailing list