Aquantia / AQtion

Aquantia AQC multigigabit NIC linux driver (atlantic) - development preview
https://www.aquantia.com
85 stars 30 forks source link

cannot compile under Kubuntu 21.04 #29

Closed filippocastelli closed 3 years ago

filippocastelli commented 3 years ago

I'm trying to compile the drivers under Kubuntu 21.04 with kernel 5.11.0-17-generic.

sudo make fails with the following error trail.

Hope I'm not missing anything trivial

In file included from /home/phil/aquantia/AQtion-master/aq_ptp.c:20:
/home/phil/aquantia/AQtion-master/aq_nic.h:210:51: warning: ‘struct ethtool_regs’ declared inside parameter list will not be visible outside of this definition or declaration
  210 | int aq_nic_get_regs(struct aq_nic_s *self, struct ethtool_regs *regs, void *p);
      |                                                   ^~~~~~~~~~~~
/home/phil/aquantia/AQtion-master/aq_nic.h:227:18: warning: ‘struct ethtool_link_ksettings’ declared inside parameter list will not be visible outside of this definition or declaration
  227 |           struct ethtool_link_ksettings *cmd);
      |                  ^~~~~~~~~~~~~~~~~~~~~~
/home/phil/aquantia/AQtion-master/aq_nic.h:229:23: warning: ‘struct ethtool_link_ksettings’ declared inside parameter list will not be visible outside of this definition or declaration
  229 |          const struct ethtool_link_ksettings *cmd);
      |                       ^~~~~~~~~~~~~~~~~~~~~~
In file included from /home/phil/aquantia/AQtion-master/aq_ptp.c:25:
/home/phil/aquantia/AQtion-master/aq_filters.h:25:30: error: field ‘aq_fsp’ has incomplete type
   25 |  struct ethtool_rx_flow_spec aq_fsp;
      |                              ^~~~~~
/home/phil/aquantia/AQtion-master/aq_filters.h:30:61: warning: ‘struct ethtool_rxnfc’ declared inside parameter list will not be visible outside of this definition or declaration
   30 | int aq_add_rxnfc_rule(struct aq_nic_s *aq_nic, const struct ethtool_rxnfc *cmd);
      |                                                             ^~~~~~~~~~~~~
/home/phil/aquantia/AQtion-master/aq_filters.h:31:61: warning: ‘struct ethtool_rxnfc’ declared inside parameter list will not be visible outside of this definition or declaration
   31 | int aq_del_rxnfc_rule(struct aq_nic_s *aq_nic, const struct ethtool_rxnfc *cmd);
      |                                                             ^~~~~~~~~~~~~
/home/phil/aquantia/AQtion-master/aq_filters.h:32:55: warning: ‘struct ethtool_rxnfc’ declared inside parameter list will not be visible outside of this definition or declaration
   32 | int aq_get_rxnfc_rule(struct aq_nic_s *aq_nic, struct ethtool_rxnfc *cmd);
      |                                                       ^~~~~~~~~~~~~
/home/phil/aquantia/AQtion-master/aq_filters.h:33:60: warning: ‘struct ethtool_rxnfc’ declared inside parameter list will not be visible outside of this definition or declaration
   33 | int aq_get_rxnfc_all_rules(struct aq_nic_s *aq_nic, struct ethtool_rxnfc *cmd,
      |                                                            ^~~~~~~~~~~~~
/home/phil/aquantia/AQtion-master/aq_ptp.c: In function ‘aq_ptp_dpath_enable’:
/home/phil/aquantia/AQtion-master/aq_ptp.c:1065:9: error: variable ‘cmd’ has initializer but incomplete type
 1065 |  struct ethtool_rxnfc cmd = { 0 };
      |         ^~~~~~~~~~~~~
/home/phil/aquantia/AQtion-master/aq_ptp.c:1065:31: warning: excess elements in struct initializer
 1065 |  struct ethtool_rxnfc cmd = { 0 };
      |                               ^
/home/phil/aquantia/AQtion-master/aq_ptp.c:1065:31: note: (near initialization for ‘cmd’)
/home/phil/aquantia/AQtion-master/aq_ptp.c:1065:23: error: storage size of ‘cmd’ isn’t known
 1065 |  struct ethtool_rxnfc cmd = { 0 };
      |                       ^~~
/home/phil/aquantia/AQtion-master/aq_ptp.c:1079:8: error: invalid use of undefined type ‘struct ethtool_rx_flow_spec’
 1079 |     fsp->ring_cookie = rx_queue;
      |        ^~
/home/phil/aquantia/AQtion-master/aq_ptp.c:1080:8: error: invalid use of undefined type ‘struct ethtool_rx_flow_spec’
 1080 |     fsp->flow_type = UDP_V4_FLOW;
      |        ^~
In file included from /home/phil/aquantia/AQtion-master/aq_main.h:14,
                 from /home/phil/aquantia/AQtion-master/aq_main.c:10:
/home/phil/aquantia/AQtion-master/aq_nic.h:210:51: warning: ‘struct ethtool_regs’ declared inside parameter list will not be visible outside of this definition or declaration
  210 | int aq_nic_get_regs(struct aq_nic_s *self, struct ethtool_regs *regs, void *p);
      |                                                   ^~~~~~~~~~~~
/home/phil/aquantia/AQtion-master/aq_nic.h:227:18: warning: ‘struct ethtool_link_ksettings’ declared inside parameter list will not be visible outside of this definition or declaration
  227 |           struct ethtool_link_ksettings *cmd);
      |                  ^~~~~~~~~~~~~~~~~~~~~~
/home/phil/aquantia/AQtion-master/aq_nic.h:229:23: warning: ‘struct ethtool_link_ksettings’ declared inside parameter list will not be visible outside of this definition or declaration
  229 |          const struct ethtool_link_ksettings *cmd);
      |                       ^~~~~~~~~~~~~~~~~~~~~~
In file included from /home/phil/aquantia/AQtion-master/aq_main.c:19:
/home/phil/aquantia/AQtion-master/aq_filters.h:25:30: error: field ‘aq_fsp’ has incomplete type
   25 |  struct ethtool_rx_flow_spec aq_fsp;
      |                              ^~~~~~
/home/phil/aquantia/AQtion-master/aq_filters.h:30:61: warning: ‘struct ethtool_rxnfc’ declared inside parameter list will not be visible outside of this definition or declaration
   30 | int aq_add_rxnfc_rule(struct aq_nic_s *aq_nic, const struct ethtool_rxnfc *cmd);
      |                                                             ^~~~~~~~~~~~~
/home/phil/aquantia/AQtion-master/aq_filters.h:31:61: warning: ‘struct ethtool_rxnfc’ declared inside parameter list will not be visible outside of this definition or declaration
   31 | int aq_del_rxnfc_rule(struct aq_nic_s *aq_nic, const struct ethtool_rxnfc *cmd);
      |                                                             ^~~~~~~~~~~~~
/home/phil/aquantia/AQtion-master/aq_filters.h:32:55: warning: ‘struct ethtool_rxnfc’ declared inside parameter list will not be visible outside of this definition or declaration
   32 | int aq_get_rxnfc_rule(struct aq_nic_s *aq_nic, struct ethtool_rxnfc *cmd);
      |                                                       ^~~~~~~~~~~~~
/home/phil/aquantia/AQtion-master/aq_filters.h:33:60: warning: ‘struct ethtool_rxnfc’ declared inside parameter list will not be visible outside of this definition or declaration
   33 | int aq_get_rxnfc_all_rules(struct aq_nic_s *aq_nic, struct ethtool_rxnfc *cmd,
      |                                                            ^~~~~~~~~~~~~
In file included from /home/phil/aquantia/AQtion-master/aq_main.h:14,
                 from /home/phil/aquantia/AQtion-master/aq_pci_func.c:15:
/home/phil/aquantia/AQtion-master/aq_nic.h:210:51: warning: ‘struct ethtool_regs’ declared inside parameter list will not be visible outside of this definition or declaration
  210 | int aq_nic_get_regs(struct aq_nic_s *self, struct ethtool_regs *regs, void *p);
      |                                                   ^~~~~~~~~~~~
/home/phil/aquantia/AQtion-master/aq_nic.h:227:18: warning: ‘struct ethtool_link_ksettings’ declared inside parameter list will not be visible outside of this definition or declaration
  227 |           struct ethtool_link_ksettings *cmd);
      |                  ^~~~~~~~~~~~~~~~~~~~~~
/home/phil/aquantia/AQtion-master/aq_nic.h:229:23: warning: ‘struct ethtool_link_ksettings’ declared inside parameter list will not be visible outside of this definition or declaration
  229 |          const struct ethtool_link_ksettings *cmd);
      |                       ^~~~~~~~~~~~~~~~~~~~~~
In file included from /home/phil/aquantia/AQtion-master/aq_pci_func.c:23:
/home/phil/aquantia/AQtion-master/aq_filters.h:25:30: error: field ‘aq_fsp’ has incomplete type
   25 |  struct ethtool_rx_flow_spec aq_fsp;
      |                              ^~~~~~
/home/phil/aquantia/AQtion-master/aq_filters.h:30:61: warning: ‘struct ethtool_rxnfc’ declared inside parameter list will not be visible outside of this definition or declaration
   30 | int aq_add_rxnfc_rule(struct aq_nic_s *aq_nic, const struct ethtool_rxnfc *cmd);
      |                                                             ^~~~~~~~~~~~~
/home/phil/aquantia/AQtion-master/aq_filters.h:31:61: warning: ‘struct ethtool_rxnfc’ declared inside parameter list will not be visible outside of this definition or declaration
   31 | int aq_del_rxnfc_rule(struct aq_nic_s *aq_nic, const struct ethtool_rxnfc *cmd);
      |                                                             ^~~~~~~~~~~~~
/home/phil/aquantia/AQtion-master/aq_filters.h:32:55: warning: ‘struct ethtool_rxnfc’ declared inside parameter list will not be visible outside of this definition or declaration
   32 | int aq_get_rxnfc_rule(struct aq_nic_s *aq_nic, struct ethtool_rxnfc *cmd);
      |                                                       ^~~~~~~~~~~~~
/home/phil/aquantia/AQtion-master/aq_filters.h:33:60: warning: ‘struct ethtool_rxnfc’ declared inside parameter list will not be visible outside of this definition or declaration
   33 | int aq_get_rxnfc_all_rules(struct aq_nic_s *aq_nic, struct ethtool_rxnfc *cmd,
      |                                                            ^~~~~~~~~~~~~
/home/phil/aquantia/AQtion-master/aq_ptp.c:1080:22: error: ‘UDP_V4_FLOW’ undeclared (first use in this function)
 1080 |     fsp->flow_type = UDP_V4_FLOW;
      |                      ^~~~~~~~~~~
/home/phil/aquantia/AQtion-master/aq_ptp.c:1080:22: note: each undeclared identifier is reported only once for each function it appears in
/home/phil/aquantia/AQtion-master/aq_ptp.c:1081:8: error: invalid use of undefined type ‘struct ethtool_rx_flow_spec’
 1081 |     fsp->h_u.udp_ip4_spec.pdst =
      |        ^~
/home/phil/aquantia/AQtion-master/aq_ptp.c:1083:8: error: invalid use of undefined type ‘struct ethtool_rx_flow_spec’
 1083 |     fsp->m_u.udp_ip4_spec.pdst =
      |        ^~
/home/phil/aquantia/AQtion-master/aq_ptp.c:1097:8: error: invalid use of undefined type ‘struct ethtool_rx_flow_spec’
 1097 |     fsp->ring_cookie = rx_queue;
      |        ^~
/home/phil/aquantia/AQtion-master/aq_ptp.c:1098:8: error: invalid use of undefined type ‘struct ethtool_rx_flow_spec’
 1098 |     fsp->flow_type = UDP_V4_FLOW;
      |        ^~
/home/phil/aquantia/AQtion-master/aq_ptp.c:1099:8: error: invalid use of undefined type ‘struct ethtool_rx_flow_spec’
 1099 |     fsp->h_u.udp_ip4_spec.psrc = 0;
      |        ^~
/home/phil/aquantia/AQtion-master/aq_ptp.c:1100:8: error: invalid use of undefined type ‘struct ethtool_rx_flow_spec’
 1100 |     fsp->m_u.udp_ip4_spec.psrc = 0;
      |        ^~
/home/phil/aquantia/AQtion-master/aq_ptp.c:1101:8: error: invalid use of undefined type ‘struct ethtool_rx_flow_spec’
 1101 |     fsp->h_u.udp_ip4_spec.pdst =
      |        ^~
/home/phil/aquantia/AQtion-master/aq_ptp.c:1103:8: error: invalid use of undefined type ‘struct ethtool_rx_flow_spec’
 1103 |     fsp->m_u.udp_ip4_spec.pdst =
      |        ^~
/home/phil/aquantia/AQtion-master/aq_ptp.c:1105:8: error: invalid use of undefined type ‘struct ethtool_rx_flow_spec’
 1105 |     fsp->h_u.udp_ip4_spec.ip4dst =
      |        ^~
/home/phil/aquantia/AQtion-master/aq_ptp.c:1107:8: error: invalid use of undefined type ‘struct ethtool_rx_flow_spec’
 1107 |     fsp->m_u.udp_ip4_spec.ip4dst =
      |        ^~
/home/phil/aquantia/AQtion-master/aq_ptp.c:1122:26: error: invalid application of ‘sizeof’ to incomplete type ‘struct ethtool_rx_flow_spec’
 1122 |     memset(fsp, 0, sizeof(*fsp));
      |                          ^
/home/phil/aquantia/AQtion-master/aq_ptp.c:1123:8: error: invalid use of undefined type ‘struct ethtool_rx_flow_spec’
 1123 |     fsp->ring_cookie = rx_queue;
      |        ^~
/home/phil/aquantia/AQtion-master/aq_ptp.c:1124:8: error: invalid use of undefined type ‘struct ethtool_rx_flow_spec’
 1124 |     fsp->flow_type = UDP_V6_FLOW;
      |        ^~
/home/phil/aquantia/AQtion-master/aq_ptp.c:1124:22: error: ‘UDP_V6_FLOW’ undeclared (first use in this function)
 1124 |     fsp->flow_type = UDP_V6_FLOW;
      |                      ^~~~~~~~~~~
/home/phil/aquantia/AQtion-master/aq_ptp.c:1125:8: error: invalid use of undefined type ‘struct ethtool_rx_flow_spec’
 1125 |     fsp->h_u.udp_ip6_spec.psrc = 0;
      |        ^~
/home/phil/aquantia/AQtion-master/aq_ptp.c:1126:8: error: invalid use of undefined type ‘struct ethtool_rx_flow_spec’
 1126 |     fsp->m_u.udp_ip6_spec.psrc = 0;
      |        ^~
/home/phil/aquantia/AQtion-master/aq_ptp.c:1127:8: error: invalid use of undefined type ‘struct ethtool_rx_flow_spec’
 1127 |     fsp->h_u.udp_ip6_spec.pdst =
      |        ^~
/home/phil/aquantia/AQtion-master/aq_ptp.c:1129:8: error: invalid use of undefined type ‘struct ethtool_rx_flow_spec’
 1129 |     fsp->m_u.udp_ip6_spec.pdst =
      |        ^~
/home/phil/aquantia/AQtion-master/aq_ptp.c:1131:8: error: invalid use of undefined type ‘struct ethtool_rx_flow_spec’
 1131 |     fsp->h_u.udp_ip6_spec.ip6dst[0] =
      |        ^~
/home/phil/aquantia/AQtion-master/aq_ptp.c:1133:8: error: invalid use of undefined type ‘struct ethtool_rx_flow_spec’
 1133 |     fsp->m_u.udp_ip6_spec.ip6dst[0] =
      |        ^~
/home/phil/aquantia/AQtion-master/aq_ptp.c:1135:8: error: invalid use of undefined type ‘struct ethtool_rx_flow_spec’
 1135 |     fsp->h_u.udp_ip6_spec.ip6dst[3] =
      |        ^~
/home/phil/aquantia/AQtion-master/aq_ptp.c:1137:8: error: invalid use of undefined type ‘struct ethtool_rx_flow_spec’
 1137 |     fsp->m_u.udp_ip6_spec.ip6dst[3] =
      |        ^~
/home/phil/aquantia/AQtion-master/aq_ptp.c:1150:26: error: invalid application of ‘sizeof’ to incomplete type ‘struct ethtool_rx_flow_spec’
 1150 |     memset(fsp, 0, sizeof(*fsp));
      |                          ^
/home/phil/aquantia/AQtion-master/aq_ptp.c:1151:8: error: invalid use of undefined type ‘struct ethtool_rx_flow_spec’
 1151 |     fsp->ring_cookie = rx_queue;
      |        ^~
/home/phil/aquantia/AQtion-master/aq_ptp.c:1152:8: error: invalid use of undefined type ‘struct ethtool_rx_flow_spec’
 1152 |     fsp->flow_type = UDP_V6_FLOW;
      |        ^~
/home/phil/aquantia/AQtion-master/aq_ptp.c:1153:8: error: invalid use of undefined type ‘struct ethtool_rx_flow_spec’
 1153 |     fsp->h_u.udp_ip6_spec.psrc = 0;
      |        ^~
make[2]: *** [scripts/Makefile.build:287: /home/phil/aquantia/AQtion-master/aq_pci_func.o] Errore 1
/home/phil/aquantia/AQtion-master/aq_ptp.c:1154:8: error: invalid use of undefined type ‘struct ethtool_rx_flow_spec’
 1154 |     fsp->m_u.udp_ip6_spec.psrc = 0;
      |        ^~
make[2]: *** Attesa per i processi non terminati....
/home/phil/aquantia/AQtion-master/aq_ptp.c:1155:8: error: invalid use of undefined type ‘struct ethtool_rx_flow_spec’
 1155 |     fsp->h_u.udp_ip6_spec.pdst =
      |        ^~
/home/phil/aquantia/AQtion-master/aq_ptp.c:1157:8: error: invalid use of undefined type ‘struct ethtool_rx_flow_spec’
 1157 |     fsp->m_u.udp_ip6_spec.pdst =
      |        ^~
/home/phil/aquantia/AQtion-master/aq_ptp.c:1159:8: error: invalid use of undefined type ‘struct ethtool_rx_flow_spec’
 1159 |     fsp->h_u.udp_ip6_spec.ip6dst[0] =
      |        ^~
/home/phil/aquantia/AQtion-master/aq_ptp.c:1161:8: error: invalid use of undefined type ‘struct ethtool_rx_flow_spec’
 1161 |     fsp->m_u.udp_ip6_spec.ip6dst[0] =
      |        ^~
/home/phil/aquantia/AQtion-master/aq_ptp.c:1163:8: error: invalid use of undefined type ‘struct ethtool_rx_flow_spec’
 1163 |     fsp->h_u.udp_ip6_spec.ip6dst[3] =
      |        ^~
/home/phil/aquantia/AQtion-master/aq_ptp.c:1165:8: error: invalid use of undefined type ‘struct ethtool_rx_flow_spec’
 1165 |     fsp->m_u.udp_ip6_spec.ip6dst[3] =
      |        ^~
/home/phil/aquantia/AQtion-master/aq_ptp.c:1179:26: error: invalid application of ‘sizeof’ to incomplete type ‘struct ethtool_rx_flow_spec’
 1179 |     memset(fsp, 0, sizeof(*fsp));
      |                          ^
/home/phil/aquantia/AQtion-master/aq_ptp.c:1180:8: error: invalid use of undefined type ‘struct ethtool_rx_flow_spec’
 1180 |     fsp->ring_cookie = rx_queue;
      |        ^~
/home/phil/aquantia/AQtion-master/aq_ptp.c:1181:8: error: invalid use of undefined type ‘struct ethtool_rx_flow_spec’
 1181 |     fsp->flow_type = UDP_V4_FLOW;
      |        ^~
/home/phil/aquantia/AQtion-master/aq_ptp.c:1182:8: error: invalid use of undefined type ‘struct ethtool_rx_flow_spec’
 1182 |     fsp->h_u.udp_ip4_spec.psrc = 0;
      |        ^~
/home/phil/aquantia/AQtion-master/aq_ptp.c:1183:8: error: invalid use of undefined type ‘struct ethtool_rx_flow_spec’
 1183 |     fsp->m_u.udp_ip4_spec.psrc = 0;
      |        ^~
/home/phil/aquantia/AQtion-master/aq_ptp.c:1184:8: error: invalid use of undefined type ‘struct ethtool_rx_flow_spec’
 1184 |     fsp->h_u.udp_ip4_spec.pdst =
      |        ^~
/home/phil/aquantia/AQtion-master/aq_ptp.c:1186:8: error: invalid use of undefined type ‘struct ethtool_rx_flow_spec’
 1186 |     fsp->m_u.udp_ip4_spec.pdst =
      |        ^~
/home/phil/aquantia/AQtion-master/aq_ptp.c:1188:8: error: invalid use of undefined type ‘struct ethtool_rx_flow_spec’
 1188 |     fsp->h_u.udp_ip4_spec.ip4dst =
      |        ^~
/home/phil/aquantia/AQtion-master/aq_ptp.c:1190:8: error: invalid use of undefined type ‘struct ethtool_rx_flow_spec’
 1190 |     fsp->m_u.udp_ip4_spec.ip4dst =
      |        ^~
/home/phil/aquantia/AQtion-master/aq_ptp.c:1065:23: warning: unused variable ‘cmd’ [-Wunused-variable]
 1065 |  struct ethtool_rxnfc cmd = { 0 };
      |                       ^~~
make[2]: *** [scripts/Makefile.build:287: /home/phil/aquantia/AQtion-master/aq_ptp.o] Errore 1
make[2]: *** [scripts/Makefile.build:287: /home/phil/aquantia/AQtion-master/aq_main.o] Errore 1
In file included from /home/phil/aquantia/AQtion-master/aq_nic.c:24:
/home/phil/aquantia/AQtion-master/aq_nic.h:210:51: warning: ‘struct ethtool_regs’ declared inside parameter list will not be visible outside of this definition or declaration
  210 | int aq_nic_get_regs(struct aq_nic_s *self, struct ethtool_regs *regs, void *p);
      |                                                   ^~~~~~~~~~~~
/home/phil/aquantia/AQtion-master/aq_nic.h:227:18: warning: ‘struct ethtool_link_ksettings’ declared inside parameter list will not be visible outside of this definition or declaration
  227 |           struct ethtool_link_ksettings *cmd);
      |                  ^~~~~~~~~~~~~~~~~~~~~~
/home/phil/aquantia/AQtion-master/aq_nic.h:229:23: warning: ‘struct ethtool_link_ksettings’ declared inside parameter list will not be visible outside of this definition or declaration
  229 |          const struct ethtool_link_ksettings *cmd);
      |                       ^~~~~~~~~~~~~~~~~~~~~~
In file included from /home/phil/aquantia/AQtion-master/aq_nic.c:33:
/home/phil/aquantia/AQtion-master/aq_filters.h:25:30: error: field ‘aq_fsp’ has incomplete type
   25 |  struct ethtool_rx_flow_spec aq_fsp;
      |                              ^~~~~~
/home/phil/aquantia/AQtion-master/aq_filters.h:30:61: warning: ‘struct ethtool_rxnfc’ declared inside parameter list will not be visible outside of this definition or declaration
   30 | int aq_add_rxnfc_rule(struct aq_nic_s *aq_nic, const struct ethtool_rxnfc *cmd);
      |                                                             ^~~~~~~~~~~~~
/home/phil/aquantia/AQtion-master/aq_filters.h:31:61: warning: ‘struct ethtool_rxnfc’ declared inside parameter list will not be visible outside of this definition or declaration
   31 | int aq_del_rxnfc_rule(struct aq_nic_s *aq_nic, const struct ethtool_rxnfc *cmd);
      |                                                             ^~~~~~~~~~~~~
/home/phil/aquantia/AQtion-master/aq_filters.h:32:55: warning: ‘struct ethtool_rxnfc’ declared inside parameter list will not be visible outside of this definition or declaration
   32 | int aq_get_rxnfc_rule(struct aq_nic_s *aq_nic, struct ethtool_rxnfc *cmd);
      |                                                       ^~~~~~~~~~~~~
/home/phil/aquantia/AQtion-master/aq_filters.h:33:60: warning: ‘struct ethtool_rxnfc’ declared inside parameter list will not be visible outside of this definition or declaration
   33 | int aq_get_rxnfc_all_rules(struct aq_nic_s *aq_nic, struct ethtool_rxnfc *cmd,
      |                                                            ^~~~~~~~~~~~~
In file included from /home/phil/aquantia/AQtion-master/aq_common.h:19,
                 from /home/phil/aquantia/AQtion-master/aq_nic.h:13,
                 from /home/phil/aquantia/AQtion-master/aq_nic.c:24:
/home/phil/aquantia/AQtion-master/aq_nic.c: In function ‘aq_nic_cfg_start’:
/home/phil/aquantia/AQtion-master/aq_cfg.h:74:26: error: ‘WAKE_MAGIC’ undeclared (first use in this function); did you mean ‘AAFS_MAGIC’?
   74 | #define AQ_CFG_WOL_MODES WAKE_MAGIC
      |                          ^~~~~~~~~~
/home/phil/aquantia/AQtion-master/aq_nic.c:151:13: note: in expansion of macro ‘AQ_CFG_WOL_MODES’
  151 |  cfg->wol = AQ_CFG_WOL_MODES;
      |             ^~~~~~~~~~~~~~~~
/home/phil/aquantia/AQtion-master/aq_cfg.h:74:26: note: each undeclared identifier is reported only once for each function it appears in
   74 | #define AQ_CFG_WOL_MODES WAKE_MAGIC
      |                          ^~~~~~~~~~
/home/phil/aquantia/AQtion-master/aq_nic.c:151:13: note: in expansion of macro ‘AQ_CFG_WOL_MODES’
  151 |  cfg->wol = AQ_CFG_WOL_MODES;
      |             ^~~~~~~~~~~~~~~~
/home/phil/aquantia/AQtion-master/aq_nic.c: At top level:
/home/phil/aquantia/AQtion-master/aq_nic.c:977:51: warning: ‘struct ethtool_regs’ declared inside parameter list will not be visible outside of this definition or declaration
  977 | int aq_nic_get_regs(struct aq_nic_s *self, struct ethtool_regs *regs, void *p)
      |                                                   ^~~~~~~~~~~~
/home/phil/aquantia/AQtion-master/aq_nic.c:977:5: error: conflicting types for ‘aq_nic_get_regs’
  977 | int aq_nic_get_regs(struct aq_nic_s *self, struct ethtool_regs *regs, void *p)
      |     ^~~~~~~~~~~~~~~
In file included from /home/phil/aquantia/AQtion-master/aq_nic.c:24:
/home/phil/aquantia/AQtion-master/aq_nic.h:210:5: note: previous declaration of ‘aq_nic_get_regs’ was here
  210 | int aq_nic_get_regs(struct aq_nic_s *self, struct ethtool_regs *regs, void *p);
      |     ^~~~~~~~~~~~~~~
/home/phil/aquantia/AQtion-master/aq_nic.c: In function ‘aq_nic_get_regs’:
/home/phil/aquantia/AQtion-master/aq_nic.c:985:6: error: invalid use of undefined type ‘struct ethtool_regs’
  985 |  regs->version = 1;
      |      ^~
/home/phil/aquantia/AQtion-master/aq_nic.c: At top level:
/home/phil/aquantia/AQtion-master/aq_nic.c:1090:18: warning: ‘struct ethtool_link_ksettings’ declared inside parameter list will not be visible outside of this definition or declaration
 1090 |           struct ethtool_link_ksettings *cmd)
      |                  ^~~~~~~~~~~~~~~~~~~~~~
/home/phil/aquantia/AQtion-master/aq_nic.c:1089:6: error: conflicting types for ‘aq_nic_get_link_ksettings’
 1089 | void aq_nic_get_link_ksettings(struct aq_nic_s *self,
      |      ^~~~~~~~~~~~~~~~~~~~~~~~~
In file included from /home/phil/aquantia/AQtion-master/aq_nic.c:24:
/home/phil/aquantia/AQtion-master/aq_nic.h:226:6: note: previous declaration of ‘aq_nic_get_link_ksettings’ was here
  226 | void aq_nic_get_link_ksettings(struct aq_nic_s *self,
      |      ^~~~~~~~~~~~~~~~~~~~~~~~~
/home/phil/aquantia/AQtion-master/aq_nic.c: In function ‘aq_nic_get_link_ksettings’:
/home/phil/aquantia/AQtion-master/aq_nic.c:1095:6: error: invalid use of undefined type ‘struct ethtool_link_ksettings’
 1095 |   cmd->base.port = PORT_FIBRE;
      |      ^~
/home/phil/aquantia/AQtion-master/aq_nic.c:1095:20: error: ‘PORT_FIBRE’ undeclared (first use in this function)
 1095 |   cmd->base.port = PORT_FIBRE;
      |                    ^~~~~~~~~~
/home/phil/aquantia/AQtion-master/aq_nic.c:1097:6: error: invalid use of undefined type ‘struct ethtool_link_ksettings’
 1097 |   cmd->base.port = PORT_TP;
      |      ^~
/home/phil/aquantia/AQtion-master/aq_nic.c:1097:20: error: ‘PORT_TP’ undeclared (first use in this function); did you mean ‘IPPROTO_TP’?
 1097 |   cmd->base.port = PORT_TP;
      |                    ^~~~~~~
      |                    IPPROTO_TP
/home/phil/aquantia/AQtion-master/aq_nic.c:1099:5: error: invalid use of undefined type ‘struct ethtool_link_ksettings’
 1099 |  cmd->base.duplex = DUPLEX_UNKNOWN;
      |     ^~
/home/phil/aquantia/AQtion-master/aq_nic.c:1099:21: error: ‘DUPLEX_UNKNOWN’ undeclared (first use in this function); did you mean ‘AGP_UNKNOWN’?
 1099 |  cmd->base.duplex = DUPLEX_UNKNOWN;
      |                     ^~~~~~~~~~~~~~
      |                     AGP_UNKNOWN
/home/phil/aquantia/AQtion-master/aq_nic.c:1101:6: error: invalid use of undefined type ‘struct ethtool_link_ksettings’
 1101 |   cmd->base.duplex = self->link_status.full_duplex ?
      |      ^~
/home/phil/aquantia/AQtion-master/aq_nic.c:1102:8: error: ‘DUPLEX_FULL’ undeclared (first use in this function)
 1102 |        DUPLEX_FULL : DUPLEX_HALF;
      |        ^~~~~~~~~~~
/home/phil/aquantia/AQtion-master/aq_nic.c:1102:22: error: ‘DUPLEX_HALF’ undeclared (first use in this function)
 1102 |        DUPLEX_FULL : DUPLEX_HALF;
      |                      ^~~~~~~~~~~
/home/phil/aquantia/AQtion-master/aq_nic.c:1103:5: error: invalid use of undefined type ‘struct ethtool_link_ksettings’
 1103 |  cmd->base.autoneg = self->aq_nic_cfg.is_autoneg;
      |     ^~
/home/phil/aquantia/AQtion-master/aq_nic.c:1105:2: error: implicit declaration of function ‘ethtool_link_ksettings_zero_link_mode’ [-Werror=implicit-function-declaration]
 1105 |  ethtool_link_ksettings_zero_link_mode(cmd, supported);
      |  ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/home/phil/aquantia/AQtion-master/aq_nic.c:1105:45: error: ‘supported’ undeclared (first use in this function); did you mean ‘dma_supported’?
 1105 |  ethtool_link_ksettings_zero_link_mode(cmd, supported);
      |                                             ^~~~~~~~~
      |                                             dma_supported
/home/phil/aquantia/AQtion-master/aq_nic.c:1108:3: error: implicit declaration of function ‘ethtool_link_ksettings_add_link_mode’ [-Werror=implicit-function-declaration]
 1108 |   ethtool_link_ksettings_add_link_mode(cmd, supported,
      |   ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/home/phil/aquantia/AQtion-master/aq_nic.c:1109:12: error: invalid suffix "baseT_Full" on integer constant
 1109 |            10000baseT_Full);
      |            ^~~~~~~~~~~~~~~
/home/phil/aquantia/AQtion-master/aq_nic.c:1114:12: error: invalid suffix "baseT_Full" on integer constant
 1114 |            5000baseT_Full);
      |            ^~~~~~~~~~~~~~
/home/phil/aquantia/AQtion-master/aq_nic.c:1118:12: error: invalid suffix "baseT_Full" on integer constant
 1118 |            2500baseT_Full);
      |            ^~~~~~~~~~~~~~
/home/phil/aquantia/AQtion-master/aq_nic.c:1122:12: error: invalid suffix "baseT_Full" on integer constant
 1122 |            1000baseT_Full);
      |            ^~~~~~~~~~~~~~
/home/phil/aquantia/AQtion-master/aq_nic.c:1126:12: error: invalid suffix "baseT_Half" on integer constant
 1126 |            1000baseT_Half);
      |            ^~~~~~~~~~~~~~
/home/phil/aquantia/AQtion-master/aq_nic.c:1130:12: error: invalid suffix "baseT_Full" on integer constant
 1130 |            100baseT_Full);
      |            ^~~~~~~~~~~~~
/home/phil/aquantia/AQtion-master/aq_nic.c:1134:12: error: invalid suffix "baseT_Half" on integer constant
 1134 |            100baseT_Half);
      |            ^~~~~~~~~~~~~
/home/phil/aquantia/AQtion-master/aq_nic.c:1138:12: error: invalid suffix "baseT_Full" on integer constant
 1138 |            10baseT_Full);
      |            ^~~~~~~~~~~~
/home/phil/aquantia/AQtion-master/aq_nic.c:1142:12: error: invalid suffix "baseT_Half" on integer constant
 1142 |            10baseT_Half);
      |            ^~~~~~~~~~~~
/home/phil/aquantia/AQtion-master/aq_nic.c:1146:12: error: ‘Pause’ undeclared (first use in this function)
 1146 |            Pause);
      |            ^~~~~
/home/phil/aquantia/AQtion-master/aq_nic.c:1148:12: error: ‘Asym_Pause’ undeclared (first use in this function)
 1148 |            Asym_Pause);
      |            ^~~~~~~~~~
/home/phil/aquantia/AQtion-master/aq_nic.c:1151:55: error: ‘Autoneg’ undeclared (first use in this function)
 1151 |  ethtool_link_ksettings_add_link_mode(cmd, supported, Autoneg);
      |                                                       ^~~~~~~
/home/phil/aquantia/AQtion-master/aq_nic.c:1154:56: error: ‘FIBRE’ undeclared (first use in this function)
 1154 |   ethtool_link_ksettings_add_link_mode(cmd, supported, FIBRE);
      |                                                        ^~~~~
/home/phil/aquantia/AQtion-master/aq_nic.c:1156:56: error: ‘TP’ undeclared (first use in this function)
 1156 |   ethtool_link_ksettings_add_link_mode(cmd, supported, TP);
      |                                                        ^~
/home/phil/aquantia/AQtion-master/aq_nic.c:1158:45: error: ‘advertising’ undeclared (first use in this function)
 1158 |  ethtool_link_ksettings_zero_link_mode(cmd, advertising);
      |                                             ^~~~~~~~~~~
/home/phil/aquantia/AQtion-master/aq_nic.c:1165:12: error: invalid suffix "baseT_Full" on integer constant
 1165 |            10000baseT_Full);
      |            ^~~~~~~~~~~~~~~
/home/phil/aquantia/AQtion-master/aq_nic.c:1169:12: error: invalid suffix "baseT_Full" on integer constant
 1169 |            5000baseT_Full);
      |            ^~~~~~~~~~~~~~
/home/phil/aquantia/AQtion-master/aq_nic.c:1173:12: error: invalid suffix "baseT_Full" on integer constant
 1173 |            2500baseT_Full);
      |            ^~~~~~~~~~~~~~
/home/phil/aquantia/AQtion-master/aq_nic.c:1177:12: error: invalid suffix "baseT_Full" on integer constant
 1177 |            1000baseT_Full);
      |            ^~~~~~~~~~~~~~
/home/phil/aquantia/AQtion-master/aq_nic.c:1181:12: error: invalid suffix "baseT_Half" on integer constant
 1181 |            1000baseT_Half);
      |            ^~~~~~~~~~~~~~
/home/phil/aquantia/AQtion-master/aq_nic.c:1185:12: error: invalid suffix "baseT_Full" on integer constant
 1185 |            100baseT_Full);
      |            ^~~~~~~~~~~~~
/home/phil/aquantia/AQtion-master/aq_nic.c:1189:12: error: invalid suffix "baseT_Half" on integer constant
 1189 |            100baseT_Half);
      |            ^~~~~~~~~~~~~
/home/phil/aquantia/AQtion-master/aq_nic.c:1193:12: error: invalid suffix "baseT_Full" on integer constant
 1193 |            10baseT_Full);
      |            ^~~~~~~~~~~~
/home/phil/aquantia/AQtion-master/aq_nic.c:1197:12: error: invalid suffix "baseT_Half" on integer constant
 1197 |            10baseT_Half);
      |            ^~~~~~~~~~~~
/home/phil/aquantia/AQtion-master/aq_nic.c:1214:45: error: ‘lp_advertising’ undeclared (first use in this function)
 1214 |  ethtool_link_ksettings_zero_link_mode(cmd, lp_advertising);
      |                                             ^~~~~~~~~~~~~~
/home/phil/aquantia/AQtion-master/aq_nic.c:1219:12: error: invalid suffix "baseT_Full" on integer constant
 1219 |            10000baseT_Full);
      |            ^~~~~~~~~~~~~~~
/home/phil/aquantia/AQtion-master/aq_nic.c:1223:12: error: invalid suffix "baseT_Full" on integer constant
 1223 |            5000baseT_Full);
      |            ^~~~~~~~~~~~~~
/home/phil/aquantia/AQtion-master/aq_nic.c:1227:12: error: invalid suffix "baseT_Full" on integer constant
 1227 |            2500baseT_Full);
      |            ^~~~~~~~~~~~~~
/home/phil/aquantia/AQtion-master/aq_nic.c:1231:12: error: invalid suffix "baseT_Full" on integer constant
 1231 |            1000baseT_Full);
      |            ^~~~~~~~~~~~~~
/home/phil/aquantia/AQtion-master/aq_nic.c:1235:12: error: invalid suffix "baseT_Half" on integer constant
 1235 |            1000baseT_Half);
      |            ^~~~~~~~~~~~~~
/home/phil/aquantia/AQtion-master/aq_nic.c:1239:12: error: invalid suffix "baseT_Full" on integer constant
 1239 |            100baseT_Full);
      |            ^~~~~~~~~~~~~
/home/phil/aquantia/AQtion-master/aq_nic.c:1243:12: error: invalid suffix "baseT_Half" on integer constant
 1243 |            100baseT_Half);
      |            ^~~~~~~~~~~~~
/home/phil/aquantia/AQtion-master/aq_nic.c:1247:12: error: invalid suffix "baseT_Full" on integer constant
 1247 |            10baseT_Full);
      |            ^~~~~~~~~~~~
/home/phil/aquantia/AQtion-master/aq_nic.c:1251:12: error: invalid suffix "baseT_Half" on integer constant
 1251 |            10baseT_Half);
      |            ^~~~~~~~~~~~
/home/phil/aquantia/AQtion-master/aq_nic.c: At top level:
/home/phil/aquantia/AQtion-master/aq_nic.c:1263:23: warning: ‘struct ethtool_link_ksettings’ declared inside parameter list will not be visible outside of this definition or declaration
 1263 |          const struct ethtool_link_ksettings *cmd)
      |                       ^~~~~~~~~~~~~~~~~~~~~~
/home/phil/aquantia/AQtion-master/aq_nic.c:1262:5: error: conflicting types for ‘aq_nic_set_link_ksettings’
 1262 | int aq_nic_set_link_ksettings(struct aq_nic_s *self,
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~
In file included from /home/phil/aquantia/AQtion-master/aq_nic.c:24:
/home/phil/aquantia/AQtion-master/aq_nic.h:228:5: note: previous declaration of ‘aq_nic_set_link_ksettings’ was here
  228 | int aq_nic_set_link_ksettings(struct aq_nic_s *self,
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~
/home/phil/aquantia/AQtion-master/aq_nic.c: In function ‘aq_nic_set_link_ksettings’:
/home/phil/aquantia/AQtion-master/aq_nic.c:1265:20: error: invalid use of undefined type ‘const struct ethtool_link_ksettings’
 1265 |  int fduplex = (cmd->base.duplex == DUPLEX_FULL);
      |                    ^~
/home/phil/aquantia/AQtion-master/aq_nic.c:1265:37: error: ‘DUPLEX_FULL’ undeclared (first use in this function)
 1265 |  int fduplex = (cmd->base.duplex == DUPLEX_FULL);
      |                                     ^~~~~~~~~~~
/home/phil/aquantia/AQtion-master/aq_nic.c:1266:17: error: invalid use of undefined type ‘const struct ethtool_link_ksettings’
 1266 |  u32 speed = cmd->base.speed;
      |                 ^~
/home/phil/aquantia/AQtion-master/aq_nic.c:1270:26: error: ‘SPEED_1000’ undeclared (first use in this function); did you mean ‘SPEED_5000’?
 1270 |  if (!fduplex && speed > SPEED_1000) {
      |                          ^~~~~~~~~~
      |                          SPEED_5000
/home/phil/aquantia/AQtion-master/aq_nic.c:1275:9: error: invalid use of undefined type ‘const struct ethtool_link_ksettings’
 1275 |  if (cmd->base.autoneg == AUTONEG_ENABLE) {
      |         ^~
/home/phil/aquantia/AQtion-master/aq_nic.c:1275:27: error: ‘AUTONEG_ENABLE’ undeclared (first use in this function)
 1275 |  if (cmd->base.autoneg == AUTONEG_ENABLE) {
      |                           ^~~~~~~~~~~~~~
/home/phil/aquantia/AQtion-master/aq_nic.c:1280:8: error: ‘SPEED_10’ undeclared (first use in this function); did you mean ‘SPEED_5000’?
 1280 |   case SPEED_10:
      |        ^~~~~~~~
      |        SPEED_5000
/home/phil/aquantia/AQtion-master/aq_nic.c:1284:8: error: ‘SPEED_100’ undeclared (first use in this function); did you mean ‘SPEED_5000’?
 1284 |   case SPEED_100:
      |        ^~~~~~~~~
      |        SPEED_5000
/home/phil/aquantia/AQtion-master/aq_nic.c:1293:8: error: ‘SPEED_2500’ undeclared (first use in this function); did you mean ‘SPEED_5000’?
 1293 |   case SPEED_2500:
      |        ^~~~~~~~~~
      |        SPEED_5000
/home/phil/aquantia/AQtion-master/aq_nic.c:1301:8: error: ‘SPEED_10000’ undeclared (first use in this function); did you mean ‘SPEED_5000’?
 1301 |   case SPEED_10000:
      |        ^~~~~~~~~~~
      |        SPEED_5000
cc1: some warnings being treated as errors
make[2]: *** [scripts/Makefile.build:287: /home/phil/aquantia/AQtion-master/aq_nic.o] Errore 1
make[1]: *** [Makefile:1837: /home/phil/aquantia/AQtion-master] Errore 2
make: *** [Makefile:36: all] Errore 2
Forusim commented 3 years ago

Have exact same issue on Kubuntu 21.04. Compiled on Linux Mint 20.01 (Ubuntu 20.04) without issues, but switched to kernel 5.11 for Intel Rocket Lake support.

cail commented 3 years ago

Please try version 2.4.14 - should be fixed.

Forusim commented 3 years ago

Thanks for quick reply, are the warnings expected?

user@host:~/Downloads/AQtion-master$ make
make -j4 -C /lib/modules/5.11.0-18-generic/build M="/home/user/Downloads/AQtion-master" modules
make[1]: Entering directory '/usr/src/linux-headers-5.11.0-18-generic'
  CC [M]  /home/user/Downloads/AQtion-master/aq_main.o
  CC [M]  /home/user/Downloads/AQtion-master/aq_nic.o
  CC [M]  /home/user/Downloads/AQtion-master/aq_pci_func.o
  CC [M]  /home/user/Downloads/AQtion-master/aq_vec.o
  CC [M]  /home/user/Downloads/AQtion-master/aq_ring.o
  CC [M]  /home/user/Downloads/AQtion-master/aq_ptp.o
  CC [M]  /home/user/Downloads/AQtion-master/aq_filters.o
  CC [M]  /home/user/Downloads/AQtion-master/aq_hw_utils.o
  CC [M]  /home/user/Downloads/AQtion-master/aq_ethtool.o
  CC [M]  /home/user/Downloads/AQtion-master/aq_drvinfo.o
  CC [M]  /home/user/Downloads/AQtion-master/aq_trace.o
  CC [M]  /home/user/Downloads/AQtion-master/aq_phy.o
  CC [M]  /home/user/Downloads/AQtion-master/aq_compat.o
  CC [M]  /home/user/Downloads/AQtion-master/aq_tsn.o
  CC [M]  /home/user/Downloads/AQtion-master/aq_sysfs.o
  CC [M]  /home/user/Downloads/AQtion-master/hw_atl/hw_atl_a0.o
  CC [M]  /home/user/Downloads/AQtion-master/hw_atl/hw_atl_b0.o
  CC [M]  /home/user/Downloads/AQtion-master/hw_atl/hw_atl_utils.o
  CC [M]  /home/user/Downloads/AQtion-master/hw_atl/hw_atl_utils_fw2x.o
  CC [M]  /home/user/Downloads/AQtion-master/hw_atl/hw_atl_llh.o
  CC [M]  /home/user/Downloads/AQtion-master/hw_atl/hw_atl_fw_hostboot.o
  CC [M]  /home/user/Downloads/AQtion-master/hw_atl/hw_atl_fw_image.o
  CC [M]  /home/user/Downloads/AQtion-master/hw_atl2/hw_atl2_llh.o
  CC [M]  /home/user/Downloads/AQtion-master/hw_atl2/hw_atl2.o
  CC [M]  /home/user/Downloads/AQtion-master/hw_atl2/hw_atl2_utils.o
  CC [M]  /home/user/Downloads/AQtion-master/hw_atl2/hw_atl2_utils_fw.o
  CC [M]  /home/user/Downloads/AQtion-master/macsec/macsec_api.o
  CC [M]  /home/user/Downloads/AQtion-master/aq_macsec.o
  LD [M]  /home/user/Downloads/AQtion-master/atlantic.o
  MODPOST /home/user/Downloads/AQtion-master/Module.symvers
  CC [M]  /home/user/Downloads/AQtion-master/atlantic.mod.o
  LD [M]  /home/user/Downloads/AQtion-master/atlantic.ko
  BTF [M] /home/user/Downloads/AQtion-master/atlantic.ko
Skipping BTF generation for /home/user/Downloads/AQtion-master/atlantic.ko due to unavailability of vmlinux
make[1]: Leaving directory '/usr/src/linux-headers-5.11.0-18-generic'
user@host:~/Downloads/AQtion-master$ sudo rmmod atlantic
user@host:~/Downloads/AQtion-master$ sudo make load
modprobe ptp
modprobe crc_itu_t
modprobe -q macsec || true
insmod ./atlantic.ko
user@host:~/Downloads/AQtion-master$ 
::1              ff00::0          ip6-allnodes     ip6-localnet     localhost        
host             ff02::1          ip6-allrouters   ip6-loopback     
fe00::0          ff02::2          ip6-localhost    ip6-mcastprefix  
user@host:~/Downloads/AQtion-master$ sudo make install
make[1]: Entering directory '/home/user/Downloads/AQtion-master'
atlantic.ko is in initramfs.
CAUTION! Updating initramfs is potentially dangerous.
Attempt initramfs update? [yN] y
update-initramfs: Generating /boot/initrd.img-5.11.0-18-generic
W: Possible missing firmware /lib/firmware/mrvl/91B1.fw for module atlantic
W: Possible missing firmware /lib/firmware/mrvl/87B1.fw for module atlantic
W: Possible missing firmware /lib/firmware/mrvl/80B1.fw for module atlantic
make[1]: Leaving directory '/home/user/Downloads/AQtion-master'
cail commented 3 years ago

Yes, FW files are optional.