From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mails.dpdk.org (mails.dpdk.org [217.70.189.124]) by inbox.dpdk.org (Postfix) with ESMTP id D4A9C463B9 for ; Fri, 14 Mar 2025 13:59:17 +0100 (CET) Received: from mails.dpdk.org (localhost [127.0.0.1]) by mails.dpdk.org (Postfix) with ESMTP id CA0FD40289; Fri, 14 Mar 2025 13:59:17 +0100 (CET) Received: from mail.loongson.cn (mail.loongson.cn [114.242.206.163]) by mails.dpdk.org (Postfix) with ESMTP id 7F2FC400D5 for ; Fri, 14 Mar 2025 13:59:15 +0100 (CET) Received: from loongson.cn (unknown [10.40.64.71]) by gateway (Coremail) with SMTP id _____8DxWOEfKNRn7X6WAA--.59093S3; Fri, 14 Mar 2025 20:59:12 +0800 (CST) Received: from localhost.localdomain (unknown [10.40.64.71]) by front1 (Coremail) with SMTP id qMiowMBxXsUeKNRnd91KAA--.13867S3; Fri, 14 Mar 2025 20:59:10 +0800 (CST) Received: from localhost.localdomain (localhost.localdomain [127.0.0.1]) by localhost.localdomain (8.15.2/8.15.2) with ESMTPS id 52ECN5b31390302 (version=TLSv1.3 cipher=TLS_AES_256_GCM_SHA384 bits=256 verify=NOT); Fri, 14 Mar 2025 20:23:05 +0800 Received: (from root@localhost) by localhost.localdomain (8.15.2/8.15.2/Submit) id 52ECN4sW1390301; Fri, 14 Mar 2025 20:23:04 +0800 Date: Fri, 14 Mar 2025 20:23:04 +0800 From: qemudev@loongson.cn Message-Id: <202503141223.52ECN4sW1390301@localhost.localdomain> Content-Type: text/plain; charset="utf-8" Subject: |FAILURE| pw152404 [PATCH] raw/cnxk_gpio: switch to character based GPIO interface In-Reply-To: <20250314125710.4118027-1-tduszynski@marvell.com> References: <20250314125710.4118027-1-tduszynski@marvell.com> To: test-report@dpdk.org Cc: Tomasz Duszynski , zhoumin@loongson.cn X-CM-TRANSID: qMiowMBxXsUeKNRnd91KAA--.13867S3 X-CM-SenderInfo: pthp3vthy6z05rqj20fqof0/1tbiAgEBD2fTZuAORAABs0 X-Coremail-Antispam: 1Uk129KBj9fXoWDZr45ur48KFy5Kr18Gr4DAwc_yoW7Xry3Ao Wxury3ZFWrtrn7Ar43trsxu3Z09rs0yrs8A3Wavrs0gFWUJFyaqFy8JF13XFW5Ja15Jw4k A3yUZFyxJr45tas5l-sFpf9Il3svdjkaLaAFLSUrUUUUjb8apTn2vfkv8UJUUUU8wcxFpf 9Il3svdxBIdaVrn0xqx4xG64xvF2IEw4CE5I8CrVC2j2Jv73VFW2AGmfu7bjvjm3AaLaJ3 UjIYCTnIWjp_UUU5i7kC6x804xWl14x267AKxVWUJVW8JwAFc2x0x2IEx4CE42xK8VAvwI 8IcIk0rVWrJVCq3wAFIxvE14AKwVWUJVWUGwA2ocxC64kIII0Yj41l84x0c7CEw4AK67xG Y2AK021l84ACjcxK6xIIjxv20xvE14v26r1j6r1xM28EF7xvwVC0I7IYx2IY6xkF7I0E14 v26r4j6F4UM28EF7xvwVC2z280aVAFwI0_GcCE3s1l84ACjcxK6I8E87Iv6xkF7I0E14v2 6rxl6s0DM2AIxVAIcxkEcVAq07x20xvEncxIr21l57IF6xkI12xvs2x26I8E6xACxx1l5I 8CrVACY4xI64kE6c02F40Ex7xfMcIj6xIIjxv20xvE14v26r106r15McIj6I8E87Iv67AK xVW8JVWxJwAm72CE4IkC6x0Yz7v_Jr0_Gr1lw4CEc2x0rVAKj4xxMxAIw28IcxkI7VAKI4 8JMxC20s026xCaFVCjc4AY6r1j6r4UMI8I3I0E5I8CrVAFwI0_Jr0_Jr4lx2IqxVCjr7xv wVAFwI0_JrI_JrWlx4CE17CEb7AF67AKxVWUXVWUAwCIc40Y0x0EwIxGrwCI42IY6xIIjx v20xvE14v26r1j6r1xMIIF0xvE2Ix0cI8IcVCY1x0267AKxVWUJVW8JwCI42IY6xAIw20E Y4v20xvaj40_Jr0_JF4lIxAIcVC2z280aVAFwI0_Gr0_Cr1lIxAIcVC2z280aVCY1x0267 AKxVW8JVW8JrUvcSsGvfC2KfnxnUUI43ZEXa7IU88pnPUUUUU== X-BeenThere: test-report@dpdk.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: automatic DPDK test reports List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: test-report-bounces@dpdk.org Test-Label: loongarch-compilation Test-Status: FAILURE http://dpdk.org/patch/152404 _ninja build failure_ Submitter: Tomasz Duszynski Date: Fri, 14 Mar 2025 13:57:09 +0100 DPDK git baseline: Repo:dpdk-next-net-mrvl Branch: for-next-net CommitID: 5f37ee9c859f3ce08ca4364f1d8c0e70ec33ac83 152404 --> ninja build failed Test environment and result as below: +---------------------+----------------+ | Environment | compilation | +---------------------+----------------+ | Loongnix-Server 8.3 | FAIL | +---------------------+----------------+ Loongnix-Server 8.3 Kernel: 4.19.190+ Compiler: gcc 8.3 Ninja build logs: -------------------------------BEGIN LOGS---------------------------- FAILED: drivers/libtmp_rte_raw_cnxk_gpio.a.p/raw_cnxk_gpio_cnxk_gpio_selftest.c.o cc -Idrivers/libtmp_rte_raw_cnxk_gpio.a.p -Idrivers -I../drivers -Idrivers/raw/cnxk_gpio -I../drivers/raw/cnxk_gpio -Ilib/rawdev -I../lib/rawdev -I. -I.. -Iconfig -I../config -Ilib/eal/include -I../lib/eal/include -Ilib/eal/linux/include -I../lib/eal/linux/include -Ilib/eal/loongarch/include -I../lib/eal/loongarch/include -I../kernel/linux -Ilib/eal/common -I../lib/eal/common -Ilib/eal -I../lib/eal -Ilib/kvargs -I../lib/kvargs -Ilib/log -I../lib/log -Ilib/metrics -I../lib/metrics -Ilib/telemetry -I../lib/telemetry -Idrivers/bus/vdev -I../drivers/bus/vdev -Idrivers/common/cnxk -I../drivers/common/cnxk -Idrivers/bus/pci -I../drivers/bus/pci -Ilib/net -I../lib/net -Ilib/ethdev -I../lib/ethdev -Ilib/meter -I../lib/meter -Ilib/pci -I../lib/pci -I../drivers/bus/pci/linux -Ilib/mbuf -I../lib/mbuf -Ilib/mempool -I../lib/mempool -Ilib/ring -I../lib/ring -Ilib/security -I../lib/security -Ilib/cryptodev -I../lib/cryptodev -Ilib/rcu -I../lib/rcu -fdiagnostics-color=always -pipe -D_FILE_OFFSET_BI TS=64 -Wall -Winvalid-pch -Wextra -std=c11 -O3 -include rte_config.h -Wvla -Wcast-qual -Wdeprecated -Wformat -Wformat-nonliteral -Wformat-security -Wmissing-declarations -Wmissing-prototypes -Wnested-externs -Wold-style-definition -Wpointer-arith -Wsign-compare -Wstrict-prototypes -Wundef -Wwrite-strings -Wno-packed-not-aligned -Wno-missing-field-initializers -D_GNU_SOURCE -fPIC -march=loongarch64 -DALLOW_EXPERIMENTAL_API -DALLOW_INTERNAL_API -Wno-format-truncation -DRTE_LOG_DEFAULT_LOGTYPE=pmd.raw.cnxk_gpio -MD -MQ drivers/libtmp_rte_raw_cnxk_gpio.a.p/raw_cnxk_gpio_cnxk_gpio_selftest.c.o -MF drivers/libtmp_rte_raw_cnxk_gpio.a.p/raw_cnxk_gpio_cnxk_gpio_selftest.c.o.d -o drivers/libtmp_rte_raw_cnxk_gpio.a.p/raw_cnxk_gpio_cnxk_gpio_selftest.c.o -c ../drivers/raw/cnxk_gpio/cnxk_gpio_selftest.c ./drivers/raw/cnxk_gpio/cnxk_gpio_selftest.c: In function ‘cnxk_gpio_irq_handler’: ./drivers/raw/cnxk_gpio/cnxk_gpio_selftest.c:69:16: error: dereferencing pointer to incomplete type ‘struct gpio_v2_line_event’ if ((int)event->offset != gpio) ^~ [1794/2683] Compiling C object drivers/libtmp_rte_net_virtio.a.p/net_virtio_virtqueue.c.o [1795/2683] Compiling C object drivers/libtmp_rte_net_tap.a.p/net_tap_rte_eth_tap.c.o [1796/2683] Compiling C object drivers/libtmp_rte_raw_cnxk_bphy.a.p/raw_cnxk_bphy_cnxk_bphy.c.o [1797/2683] Compiling C object drivers/libtmp_rte_net_txgbe.a.p/net_txgbe_txgbe_flow.c.o [1798/2683] Compiling C object drivers/libtmp_rte_net_xsc.a.p/net_xsc_xsc_vfio_mbox.c.o [1799/2683] Compiling C object drivers/libtmp_rte_raw_cnxk_bphy.a.p/raw_cnxk_bphy_cnxk_bphy_cgx.c.o [1800/2683] Compiling C object drivers/libtmp_rte_raw_cnxk_bphy.a.p/raw_cnxk_bphy_cnxk_bphy_cgx_test.c.o [1801/2683] Compiling C object drivers/libtmp_rte_net_xsc.a.p/net_xsc_xsc_np.c.o [1802/2683] Generating rte_net_softnic.sym_chk with a custom command (wrapped by meson to capture output) [1803/2683] Compiling C object drivers/libtmp_rte_net_xsc.a.p/net_xsc_xsc_vfio.c.o [1804/2683] Compiling C object drivers/libtmp_rte_raw_cnxk_bphy.a.p/raw_cnxk_bphy_cnxk_bphy_irq.c.o [1805/2683] Compiling C object drivers/net/txgbe/base/libtxgbe_base.a.p/txgbe_phy.c.o [1806/2683] Compiling C object drivers/libtmp_rte_net_xsc.a.p/net_xsc_xsc_rx.c.o [1807/2683] Compiling C object drivers/libtmp_rte_net_xsc.a.p/net_xsc_xsc_tx.c.o [1808/2683] Compiling C object drivers/libtmp_rte_net_xsc.a.p/net_xsc_xsc_ethdev.c.o [1809/2683] Generating rte_net_idpf.sym_chk with a custom command (wrapped by meson to capture output) [1810/2683] Generating rte_net_ring.sym_chk with a custom command (wrapped by meson to capture output) [1811/2683] Compiling C object drivers/libtmp_rte_raw_cnxk_rvu_lf.a.p/raw_cnxk_rvu_lf_cnxk_rvu_lf.c.o [1812/2683] Compiling C object drivers/libtmp_rte_net_thunderx.a.p/net_thunderx_nicvf_ethdev.c.o [1813/2683] Compiling C object drivers/net/txgbe/base/libtxgbe_base.a.p/txgbe_hw.c.o [1814/2683] Compiling C object drivers/libtmp_rte_net_virtio.a.p/net_virtio_virtio_user_virtio_user_dev.c.o [1815/2683] Compiling C object drivers/libtmp_rte_net_vhost.a.p/net_vhost_rte_eth_vhost.c.o [1816/2683] Compiling C object drivers/libtmp_rte_raw_cnxk_gpio.a.p/raw_cnxk_gpio_cnxk_gpio.c.o FAILED: drivers/libtmp_rte_raw_cnxk_gpio.a.p/raw_cnxk_gpio_cnxk_gpio.c.o cc -Idrivers/libtmp_rte_raw_cnxk_gpio.a.p -Idrivers -I../drivers -Idrivers/raw/cnxk_gpio -I../drivers/raw/cnxk_gpio -Ilib/rawdev -I../lib/rawdev -I. -I.. -Iconfig -I../config -Ilib/eal/include -I../lib/eal/include -Ilib/eal/linux/include -I../lib/eal/linux/include -Ilib/eal/loongarch/include -I../lib/eal/loongarch/include -I../kernel/linux -Ilib/eal/common -I../lib/eal/common -Ilib/eal -I../lib/eal -Ilib/kvargs -I../lib/kvargs -Ilib/log -I../lib/log -Ilib/metrics -I../lib/metrics -Ilib/telemetry -I../lib/telemetry -Idrivers/bus/vdev -I../drivers/bus/vdev -Idrivers/common/cnxk -I../drivers/common/cnxk -Idrivers/bus/pci -I../drivers/bus/pci -Ilib/net -I../lib/net -Ilib/ethdev -I../lib/ethdev -Ilib/meter -I../lib/meter -Ilib/pci -I../lib/pci -I../drivers/bus/pci/linux -Ilib/mbuf -I../lib/mbuf -Ilib/mempool -I../lib/mempool -Ilib/ring -I../lib/ring -Ilib/security -I../lib/security -Ilib/cryptodev -I../lib/cryptodev -Ilib/rcu -I../lib/rcu -fdiagnostics-color=always -pipe -D_FILE_OFFSET_BI TS=64 -Wall -Winvalid-pch -Wextra -std=c11 -O3 -include rte_config.h -Wvla -Wcast-qual -Wdeprecated -Wformat -Wformat-nonliteral -Wformat-security -Wmissing-declarations -Wmissing-prototypes -Wnested-externs -Wold-style-definition -Wpointer-arith -Wsign-compare -Wstrict-prototypes -Wundef -Wwrite-strings -Wno-packed-not-aligned -Wno-missing-field-initializers -D_GNU_SOURCE -fPIC -march=loongarch64 -DALLOW_EXPERIMENTAL_API -DALLOW_INTERNAL_API -Wno-format-truncation -DRTE_LOG_DEFAULT_LOGTYPE=pmd.raw.cnxk_gpio -MD -MQ drivers/libtmp_rte_raw_cnxk_gpio.a.p/raw_cnxk_gpio_cnxk_gpio.c.o -MF drivers/libtmp_rte_raw_cnxk_gpio.a.p/raw_cnxk_gpio_cnxk_gpio.c.o.d -o drivers/libtmp_rte_raw_cnxk_gpio.a.p/raw_cnxk_gpio_cnxk_gpio.c.o -c ../drivers/raw/cnxk_gpio/cnxk_gpio.c ./drivers/raw/cnxk_gpio/cnxk_gpio.c: In function ‘cnxk_gpio_available’: ./drivers/raw/cnxk_gpio/cnxk_gpio.c:340:9: error: variable ‘info’ has initializer but incomplete type struct gpio_v2_line_info info = { .offset = gpio->num }; ^~~~~~~~~~~~~~~~~ ./drivers/raw/cnxk_gpio/cnxk_gpio.c:340:37: error: ‘struct gpio_v2_line_info’ has no member named ‘offset’ struct gpio_v2_line_info info = { .offset = gpio->num }; ^~~~~~ ./drivers/raw/cnxk_gpio/cnxk_gpio.c:340:46: warning: excess elements in struct initializer struct gpio_v2_line_info info = { .offset = gpio->num }; ^~~~ ./drivers/raw/cnxk_gpio/cnxk_gpio.c:340:46: note: (near initialization for ‘info’) ./drivers/raw/cnxk_gpio/cnxk_gpio.c:340:27: error: storage size of ‘info’ isn’t known struct gpio_v2_line_info info = { .offset = gpio->num }; ^~~~ ./drivers/raw/cnxk_gpio/cnxk_gpio.c:343:49: error: ‘GPIO_V2_GET_LINEINFO_IOCTL’ undeclared (first use in this function); did you mean ‘GPIO_GET_LINEINFO_IOCTL’? ret = cnxk_gpio_gpiochip_ioctl(gpio->gpiochip, GPIO_V2_GET_LINEINFO_IOCTL, &info); ^~~~~~~~~~~~~~~~~~~~~~~~~~ GPIO_GET_LINEINFO_IOCTL ./drivers/raw/cnxk_gpio/cnxk_gpio.c:343:49: note: each undeclared identifier is reported only once for each function it appears in ./drivers/raw/cnxk_gpio/cnxk_gpio.c:347:24: error: ‘GPIO_V2_LINE_FLAG_USED’ undeclared (first use in this function); did you mean ‘GPIOLINE_FLAG_IS_OUT’? return !(info.flags & GPIO_V2_LINE_FLAG_USED); ^~~~~~~~~~~~~~~~~~~~~~ GPIOLINE_FLAG_IS_OUT ./drivers/raw/cnxk_gpio/cnxk_gpio.c:340:27: warning: unused variable ‘info’ [-Wunused-variable] struct gpio_v2_line_info info = { .offset = gpio->num }; ^~~~ ./drivers/raw/cnxk_gpio/cnxk_gpio.c: In function ‘cnxk_gpio_queue_setup’: ./drivers/raw/cnxk_gpio/cnxk_gpio.c:355:9: error: variable ‘req’ has initializer but incomplete type struct gpio_v2_line_request req = {0}; ^~~~~~~~~~~~~~~~~~~~ ./drivers/raw/cnxk_gpio/cnxk_gpio.c:355:37: warning: excess elements in struct initializer struct gpio_v2_line_request req = {0}; ^ ./drivers/raw/cnxk_gpio/cnxk_gpio.c:355:37: note: (near initialization for ‘req’) ./drivers/raw/cnxk_gpio/cnxk_gpio.c:355:30: error: storage size of ‘req’ isn’t known struct gpio_v2_line_request req = {0}; ^~~ ./drivers/raw/cnxk_gpio/cnxk_gpio.c:386:49: error: ‘GPIO_V2_GET_LINE_IOCTL’ undeclared (first use in this function); did you mean ‘GPIO_GET_LINEINFO_IOCTL’? ret = cnxk_gpio_gpiochip_ioctl(gpio->gpiochip, GPIO_V2_GET_LINE_IOCTL, &req); ^~~~~~~~~~~~~~~~~~~~~~ GPIO_GET_LINEINFO_IOCTL ./drivers/raw/cnxk_gpio/cnxk_gpio.c:355:30: warning: unused variable ‘req’ [-Wunused-variable] struct gpio_v2_line_request req = {0}; ^~~ ./drivers/raw/cnxk_gpio/cnxk_gpio.c: In function ‘cnxk_gpio_intr_handler’: ./drivers/raw/cnxk_gpio/cnxk_gpio.c:401:28: error: storage size of ‘event’ isn’t known struct gpio_v2_line_event event; ^~~~~ ./drivers/raw/cnxk_gpio/cnxk_gpio.c:401:28: warning: unused variable ‘event’ [-Wunused-variable] ./drivers/raw/cnxk_gpio/cnxk_gpio.c: At top level: ./drivers/raw/cnxk_gpio/cnxk_gpio.c:504:25: error: field ‘flag’ has incomplete type enum gpio_v2_line_flag flag; ^~~~ ./drivers/raw/cnxk_gpio/cnxk_gpio.c:507:32: error: ‘GPIO_V2_LINE_FLAG_EDGE_FALLING’ undeclared here (not in a function); did you mean ‘GPIOLINE_FLAG_OPEN_DRAIN’? { CNXK_GPIO_PIN_EDGE_FALLING, GPIO_V2_LINE_FLAG_EDGE_FALLING }, ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ GPIOLINE_FLAG_OPEN_DRAIN ./drivers/raw/cnxk_gpio/cnxk_gpio.c:508:31: error: ‘GPIO_V2_LINE_FLAG_EDGE_RISING’ undeclared here (not in a function); did you mean ‘GPIOLINE_FLAG_OPEN_DRAIN’? { CNXK_GPIO_PIN_EDGE_RISING, GPIO_V2_LINE_FLAG_EDGE_RISING }, ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~ GPIOLINE_FLAG_OPEN_DRAIN ./drivers/raw/cnxk_gpio/cnxk_gpio.c:513:1: error: return type is an incomplete type cnxk_gpio_edge_to_flag(enum cnxk_gpio_pin_edge edge) ^~~~~~~~~~~~~~~~~~~~~~ ./drivers/raw/cnxk_gpio/cnxk_gpio.c: In function ‘cnxk_gpio_edge_to_flag’: ./drivers/raw/cnxk_gpio/cnxk_gpio.c:522:9: warning: ‘return’ with a value, in function returning void return cnxk_gpio_edge_flag[i].flag; ^~~~~~~~~~~~~~~~~~~ ./drivers/raw/cnxk_gpio/cnxk_gpio.c:513:1: note: declared here cnxk_gpio_edge_to_flag(enum cnxk_gpio_pin_edge edge) ^~~~~~~~~~~~~~~~~~~~~~ ./drivers/raw/cnxk_gpio/cnxk_gpio.c: At top level: ./drivers/raw/cnxk_gpio/cnxk_gpio.c:526:47: error: parameter 1 (‘flag’) has incomplete type cnxk_gpio_flag_to_edge(enum gpio_v2_line_flag flag) ~~~~~~~~~~~~~~~~~~~~~~~^~~~ ./drivers/raw/cnxk_gpio/cnxk_gpio.c:526:1: warning: function declaration isn’t a prototype [-Wstrict-prototypes] cnxk_gpio_flag_to_edge(enum gpio_v2_line_flag flag) ^~~~~~~~~~~~~~~~~~~~~~ ./drivers/raw/cnxk_gpio/cnxk_gpio.c: In function ‘cnxk_gpio_flag_to_edge’: ./drivers/raw/cnxk_gpio/cnxk_gpio.c:531:36: error: invalid operands to binary & (have ‘const struct *’ and ‘const struct *’) if ((cnxk_gpio_edge_flag[i].flag & flag) == cnxk_gpio_edge_flag[i].flag) ~~~~~~~~~~~~~~~~~~~ ^ ./drivers/raw/cnxk_gpio/cnxk_gpio.c:526:47: warning: unused parameter ‘flag’ [-Wunused-parameter] cnxk_gpio_flag_to_edge(enum gpio_v2_line_flag flag) ~~~~~~~~~~~~~~~~~~~~~~~^~~~ ./drivers/raw/cnxk_gpio/cnxk_gpio.c: At top level: ./drivers/raw/cnxk_gpio/cnxk_gpio.c:540:25: error: field ‘flag’ has incomplete type enum gpio_v2_line_flag flag; ^~~~ ./drivers/raw/cnxk_gpio/cnxk_gpio.c:542:26: error: ‘GPIO_V2_LINE_FLAG_INPUT’ undeclared here (not in a function); did you mean ‘GPIOLINE_FLAG_IS_OUT’? { CNXK_GPIO_PIN_DIR_IN, GPIO_V2_LINE_FLAG_INPUT }, ^~~~~~~~~~~~~~~~~~~~~~~ GPIOLINE_FLAG_IS_OUT ./drivers/raw/cnxk_gpio/cnxk_gpio.c:543:27: error: ‘GPIO_V2_LINE_FLAG_OUTPUT’ undeclared here (not in a function); did you mean ‘GPIOLINE_FLAG_IS_OUT’? { CNXK_GPIO_PIN_DIR_OUT, GPIO_V2_LINE_FLAG_OUTPUT }, ^~~~~~~~~~~~~~~~~~~~~~~~ GPIOLINE_FLAG_IS_OUT ./drivers/raw/cnxk_gpio/cnxk_gpio.c:549:1: error: return type is an incomplete type cnxk_gpio_dir_to_flag(enum cnxk_gpio_pin_dir dir) ^~~~~~~~~~~~~~~~~~~~~ ./drivers/raw/cnxk_gpio/cnxk_gpio.c: In function ‘cnxk_gpio_dir_to_flag’: ./drivers/raw/cnxk_gpio/cnxk_gpio.c:558:9: warning: ‘return’ with a value, in function returning void return cnxk_gpio_dir_flag[i].flag; ^~~~~~~~~~~~~~~~~~ ./drivers/raw/cnxk_gpio/cnxk_gpio.c:549:1: note: declared here cnxk_gpio_dir_to_flag(enum cnxk_gpio_pin_dir dir) ^~~~~~~~~~~~~~~~~~~~~ ./drivers/raw/cnxk_gpio/cnxk_gpio.c: At top level: ./drivers/raw/cnxk_gpio/cnxk_gpio.c:562:46: error: parameter 1 (‘flag’) has incomplete type cnxk_gpio_flag_to_dir(enum gpio_v2_line_flag flag) ~~~~~~~~~~~~~~~~~~~~~~~^~~~ ./drivers/raw/cnxk_gpio/cnxk_gpio.c:562:1: warning: function declaration isn’t a prototype [-Wstrict-prototypes] cnxk_gpio_flag_to_dir(enum gpio_v2_line_flag flag) ^~~~~~~~~~~~~~~~~~~~~ ./drivers/raw/cnxk_gpio/cnxk_gpio.c: In function ‘cnxk_gpio_flag_to_dir’: ./drivers/raw/cnxk_gpio/cnxk_gpio.c:567:35: error: invalid operands to binary & (have ‘const struct *’ and ‘const struct *’) if ((cnxk_gpio_dir_flag[i].flag & flag) == cnxk_gpio_dir_flag[i].flag) ~~~~~~~~~~~~~~~~~~ ^ ./drivers/raw/cnxk_gpio/cnxk_gpio.c:562:46: warning: unused parameter ‘flag’ [-Wunused-parameter] cnxk_gpio_flag_to_dir(enum gpio_v2_line_flag flag) ~~~~~~~~~~~~~~~~~~~~~~~^~~~ ./drivers/raw/cnxk_gpio/cnxk_gpio.c: In function ‘cnxk_gpio_process_buf’: ./drivers/raw/cnxk_gpio/cnxk_gpio.c:649:9: error: variable ‘values’ has initializer but incomplete type struct gpio_v2_line_values values = {0}; ^~~~~~~~~~~~~~~~~~~ ./drivers/raw/cnxk_gpio/cnxk_gpio.c:649:39: warning: excess elements in struct initializer struct gpio_v2_line_values values = {0}; ^ ./drivers/raw/cnxk_gpio/cnxk_gpio.c:649:39: note: (near initialization for ‘values’) ./drivers/raw/cnxk_gpio/cnxk_gpio.c:649:29: error: storage size of ‘values’ isn’t known struct gpio_v2_line_values values = {0}; ^~~~~~ ./drivers/raw/cnxk_gpio/cnxk_gpio.c:650:9: error: variable ‘config’ has initializer but incomplete type struct gpio_v2_line_config config = {0}; ^~~~~~~~~~~~~~~~~~~ ./drivers/raw/cnxk_gpio/cnxk_gpio.c:650:39: warning: excess elements in struct initializer struct gpio_v2_line_config config = {0}; ^ ./drivers/raw/cnxk_gpio/cnxk_gpio.c:650:39: note: (near initialization for ‘config’) ./drivers/raw/cnxk_gpio/cnxk_gpio.c:650:29: error: storage size of ‘config’ isn’t known struct gpio_v2_line_config config = {0}; ^~~~~~ ./drivers/raw/cnxk_gpio/cnxk_gpio.c:651:9: error: variable ‘info’ has initializer but incomplete type struct gpio_v2_line_info info = {0}; ^~~~~~~~~~~~~~~~~ ./drivers/raw/cnxk_gpio/cnxk_gpio.c:651:35: warning: excess elements in struct initializer struct gpio_v2_line_info info = {0}; ^ ./drivers/raw/cnxk_gpio/cnxk_gpio.c:651:35: note: (near initialization for ‘info’) ./drivers/raw/cnxk_gpio/cnxk_gpio.c:651:27: error: storage size of ‘info’ isn’t known struct gpio_v2_line_info info = {0}; ^~~~ ./drivers/raw/cnxk_gpio/cnxk_gpio.c:657:6: error: ‘(const struct *)&’ is a pointer; did you mean to use ‘->’? info.offset = gpio->num; ^ -> ./drivers/raw/cnxk_gpio/cnxk_gpio.c:657:2: warning: statement with no effect [-Wunused-value] info.offset = gpio->num; ^~~~ ./drivers/raw/cnxk_gpio/cnxk_gpio.c:658:49: error: ‘GPIO_V2_GET_LINEINFO_IOCTL’ undeclared (first use in this function); did you mean ‘GPIO_GET_LINEINFO_IOCTL’? ret = cnxk_gpio_gpiochip_ioctl(gpio->gpiochip, GPIO_V2_GET_LINEINFO_IOCTL, &info); ^~~~~~~~~~~~~~~~~~~~~~~~~~ GPIO_GET_LINEINFO_IOCTL ./drivers/raw/cnxk_gpio/cnxk_gpio.c:658:49: warning: passing argument 2 of ‘cnxk_gpio_gpiochip_ioctl’ makes integer from pointer without a cast [-Wint-conversion] ./drivers/raw/cnxk_gpio/cnxk_gpio.c:57:72: note: expected ‘long unsigned int’ but argument is of type ‘const struct *’ cnxk_gpio_gpiochip_ioctl(struct cnxk_gpiochip *gpiochip, unsigned long cmd, void *arg) ~~~~~~~~~~~~~~^~~ ./drivers/raw/cnxk_gpio/cnxk_gpio.c:658:77: warning: passing argument 3 of ‘cnxk_gpio_gpiochip_ioctl’ discards ‘const’ qualifier from pointer target type [-Wdiscarded-array-qualifiers] ret = cnxk_gpio_gpiochip_ioctl(gpio->gpiochip, GPIO_V2_GET_LINEINFO_IOCTL, &info); ^~~~~ ./drivers/raw/cnxk_gpio/cnxk_gpio.c:57:83: note: expected ‘void *’ but argument is of type ‘const struct (*)[1]’ cnxk_gpio_gpiochip_ioctl(struct cnxk_gpiochip *gpiochip, unsigned long cmd, void *arg) ~~~~~~^~~ ./drivers/raw/cnxk_gpio/cnxk_gpio.c:662:6: error: ‘(const struct *)&’ is a pointer; did you mean to use ‘->’? info.flags &= ~GPIO_V2_LINE_FLAG_USED; ^ -> ./drivers/raw/cnxk_gpio/cnxk_gpio.c:662:17: error: ‘GPIO_V2_LINE_FLAG_USED’ undeclared (first use in this function); did you mean ‘GPIOLINE_FLAG_IS_OUT’? info.flags &= ~GPIO_V2_LINE_FLAG_USED; ^~~~~~~~~~~~~~~~~~~~~~ GPIOLINE_FLAG_IS_OUT ./drivers/raw/cnxk_gpio/cnxk_gpio.c:662:16: error: wrong type argument to bit-complement info.flags &= ~GPIO_V2_LINE_FLAG_USED; ^ ./drivers/raw/cnxk_gpio/cnxk_gpio.c:662:2: warning: statement with no effect [-Wunused-value] info.flags &= ~GPIO_V2_LINE_FLAG_USED; ^~~~ ./drivers/raw/cnxk_gpio/cnxk_gpio.c:666:9: error: ‘(const struct *)&’ is a pointer; did you mean to use ‘->’? values.bits = *(int *)msg->data ? RTE_BIT64(gpio->num) : 0; ^ -> ./drivers/raw/cnxk_gpio/cnxk_gpio.c:666:3: warning: statement with no effect [-Wunused-value] values.bits = *(int *)msg->data ? RTE_BIT64(gpio->num) : 0; ^~~~~~ ./drivers/raw/cnxk_gpio/cnxk_gpio.c:667:9: error: ‘(const struct *)&’ is a pointer; did you mean to use ‘->’? values.mask = RTE_BIT64(gpio->num); ^ -> ./drivers/raw/cnxk_gpio/cnxk_gpio.c:667:3: warning: statement with no effect [-Wunused-value] values.mask = RTE_BIT64(gpio->num); ^~~~~~ ./drivers/raw/cnxk_gpio/cnxk_gpio.c:669:31: error: ‘GPIO_V2_LINE_SET_VALUES_IOCTL’ undeclared (first use in this function); did you mean ‘GPIOHANDLE_SET_LINE_VALUES_IOCTL’? ret = cnxk_gpio_ioctl(gpio, GPIO_V2_LINE_SET_VALUES_IOCTL, &values); ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~ GPIOHANDLE_SET_LINE_VALUES_IOCTL ./drivers/raw/cnxk_gpio/cnxk_gpio.c:669:31: warning: passing argument 2 of ‘cnxk_gpio_ioctl’ makes integer from pointer without a cast [-Wint-conversion] ./drivers/raw/cnxk_gpio/cnxk_gpio.c:51:55: note: expected ‘long unsigned int’ but argument is of type ‘const struct *’ cnxk_gpio_ioctl(struct cnxk_gpio *gpio, unsigned long cmd, void *arg) ~~~~~~~~~~~~~~^~~ ./drivers/raw/cnxk_gpio/cnxk_gpio.c:669:62: warning: passing argument 3 of ‘cnxk_gpio_ioctl’ discards ‘const’ qualifier from pointer target type [-Wdiscarded-array-qualifiers] ret = cnxk_gpio_ioctl(gpio, GPIO_V2_LINE_SET_VALUES_IOCTL, &values); ^~~~~~~ ./drivers/raw/cnxk_gpio/cnxk_gpio.c:51:66: note: expected ‘void *’ but argument is of type ‘const struct (*)[1]’ cnxk_gpio_ioctl(struct cnxk_gpio *gpio, unsigned long cmd, void *arg) ~~~~~~^~~ ./drivers/raw/cnxk_gpio/cnxk_gpio.c:673:7: error: ‘(const struct *)&’ is a pointer; did you mean to use ‘->’? info.flags &= ~(GPIO_V2_LINE_FLAG_EDGE_RISING | GPIO_V2_LINE_FLAG_EDGE_FALLING); ^ -> ./drivers/raw/cnxk_gpio/cnxk_gpio.c:673:49: error: invalid operands to binary | (have ‘const struct *’ and ‘const struct *’) info.flags &= ~(GPIO_V2_LINE_FLAG_EDGE_RISING | GPIO_V2_LINE_FLAG_EDGE_FALLING); ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ^ ./drivers/raw/cnxk_gpio/cnxk_gpio.c:673:17: error: wrong type argument to bit-complement info.flags &= ~(GPIO_V2_LINE_FLAG_EDGE_RISING | GPIO_V2_LINE_FLAG_EDGE_FALLING); ^ ./drivers/raw/cnxk_gpio/cnxk_gpio.c:673:3: warning: statement with no effect [-Wunused-value] info.flags &= ~(GPIO_V2_LINE_FLAG_EDGE_RISING | GPIO_V2_LINE_FLAG_EDGE_FALLING); ^~~~ ./drivers/raw/cnxk_gpio/cnxk_gpio.c:674:7: error: ‘(const struct *)&’ is a pointer; did you mean to use ‘->’? info.flags |= cnxk_gpio_edge_to_flag(edge); ^ -> ./drivers/raw/cnxk_gpio/cnxk_gpio.c:674:3: warning: statement with no effect [-Wunused-value] info.flags |= cnxk_gpio_edge_to_flag(edge); ^~~~ ./drivers/raw/cnxk_gpio/cnxk_gpio.c:676:9: error: ‘(const struct *)&’ is a pointer; did you mean to use ‘->’? config.attrs[config.num_attrs].attr.id = GPIO_V2_LINE_ATTR_ID_FLAGS; ^ -> ./drivers/raw/cnxk_gpio/cnxk_gpio.c:676:22: error: ‘(const struct *)&’ is a pointer; did you mean to use ‘->’? config.attrs[config.num_attrs].attr.id = GPIO_V2_LINE_ATTR_ID_FLAGS; ^ -> ./drivers/raw/cnxk_gpio/cnxk_gpio.c:676:15: error: array subscript is not an integer config.attrs[config.num_attrs].attr.id = GPIO_V2_LINE_ATTR_ID_FLAGS; ^ ./drivers/raw/cnxk_gpio/cnxk_gpio.c:676:33: error: ‘(const struct *)&’ is a pointer; did you mean to use ‘->’? config.attrs[config.num_attrs].attr.id = GPIO_V2_LINE_ATTR_ID_FLAGS; ^ -> ./drivers/raw/cnxk_gpio/cnxk_gpio.c:676:38: error: ‘(const struct *)&’ is a pointer; did you mean to use ‘->’? config.attrs[config.num_attrs].attr.id = GPIO_V2_LINE_ATTR_ID_FLAGS; ^ -> ./drivers/raw/cnxk_gpio/cnxk_gpio.c:676:44: error: ‘GPIO_V2_LINE_ATTR_ID_FLAGS’ undeclared (first use in this function) config.attrs[config.num_attrs].attr.id = GPIO_V2_LINE_ATTR_ID_FLAGS; ^~~~~~~~~~~~~~~~~~~~~~~~~~ ./drivers/raw/cnxk_gpio/cnxk_gpio.c:676:3: warning: statement with no effect [-Wunused-value] config.attrs[config.num_attrs].attr.id = GPIO_V2_LINE_ATTR_ID_FLAGS; ^~~~~~ ./drivers/raw/cnxk_gpio/cnxk_gpio.c:677:9: error: ‘(const struct *)&’ is a pointer; did you mean to use ‘->’? config.attrs[config.num_attrs].attr.flags = info.flags; ^ -> ./drivers/raw/cnxk_gpio/cnxk_gpio.c:677:22: error: ‘(const struct *)&’ is a pointer; did you mean to use ‘->’? config.attrs[config.num_attrs].attr.flags = info.flags; ^ -> ./drivers/raw/cnxk_gpio/cnxk_gpio.c:677:15: error: array subscript is not an integer config.attrs[config.num_attrs].attr.flags = info.flags; ^ ./drivers/raw/cnxk_gpio/cnxk_gpio.c:677:33: error: ‘(const struct *)&’ is a pointer; did you mean to use ‘->’? config.attrs[config.num_attrs].attr.flags = info.flags; ^ -> ./drivers/raw/cnxk_gpio/cnxk_gpio.c:677:38: error: ‘(const struct *)&’ is a pointer; did you mean to use ‘->’? config.attrs[config.num_attrs].attr.flags = info.flags; ^ -> ./drivers/raw/cnxk_gpio/cnxk_gpio.c:677:51: error: ‘(const struct *)&’ is a pointer; did you mean to use ‘->’? config.attrs[config.num_attrs].attr.flags = info.flags; ^ -> ./drivers/raw/cnxk_gpio/cnxk_gpio.c:677:3: warning: statement with no effect [-Wunused-value] config.attrs[config.num_attrs].attr.flags = info.flags; ^~~~~~ ./drivers/raw/cnxk_gpio/cnxk_gpio.c:678:9: error: ‘(const struct *)&’ is a pointer; did you mean to use ‘->’? config.attrs[config.num_attrs].mask = RTE_BIT64(gpio->num); ^ -> ./drivers/raw/cnxk_gpio/cnxk_gpio.c:678:22: error: ‘(const struct *)&’ is a pointer; did you mean to use ‘->’? config.attrs[config.num_attrs].mask = RTE_BIT64(gpio->num); ^ -> ./drivers/raw/cnxk_gpio/cnxk_gpio.c:678:15: error: array subscript is not an integer config.attrs[config.num_attrs].mask = RTE_BIT64(gpio->num); ^ ./drivers/raw/cnxk_gpio/cnxk_gpio.c:678:33: error: ‘(const struct *)&’ is a pointer; did you mean to use ‘->’? config.attrs[config.num_attrs].mask = RTE_BIT64(gpio->num); ^ -> ./drivers/raw/cnxk_gpio/cnxk_gpio.c:678:3: warning: statement with no effect [-Wunused-value] config.attrs[config.num_attrs].mask = RTE_BIT64(gpio->num); ^~~~~~ ./drivers/raw/cnxk_gpio/cnxk_gpio.c:679:9: error: ‘(const struct *)&’ is a pointer; did you mean to use ‘->’? config.num_attrs++; ^ -> ./drivers/raw/cnxk_gpio/cnxk_gpio.c:679:19: error: lvalue required as increment operand config.num_attrs++; ^~ ./drivers/raw/cnxk_gpio/cnxk_gpio.c:679:3: warning: statement with no effect [-Wunused-value] config.num_attrs++; ^~~~~~ ./drivers/raw/cnxk_gpio/cnxk_gpio.c:681:31: error: ‘GPIO_V2_LINE_SET_CONFIG_IOCTL’ undeclared (first use in this function); did you mean ‘GPIO_GET_LINEINFO_IOCTL’? ret = cnxk_gpio_ioctl(gpio, GPIO_V2_LINE_SET_CONFIG_IOCTL, &config); ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~ GPIO_GET_LINEINFO_IOCTL ./drivers/raw/cnxk_gpio/cnxk_gpio.c:681:31: warning: passing argument 2 of ‘cnxk_gpio_ioctl’ makes integer from pointer without a cast [-Wint-conversion] ./drivers/raw/cnxk_gpio/cnxk_gpio.c:51:55: note: expected ‘long unsigned int’ but argument is of type ‘const struct *’ cnxk_gpio_ioctl(struct cnxk_gpio *gpio, unsigned long cmd, void *arg) ~~~~~~~~~~~~~~^~~ ./drivers/raw/cnxk_gpio/cnxk_gpio.c:681:62: warning: passing argument 3 of ‘cnxk_gpio_ioctl’ discards ‘const’ qualifier from pointer target type [-Wdiscarded-array-qualifiers] ret = cnxk_gpio_ioctl(gpio, GPIO_V2_LINE_SET_CONFIG_IOCTL, &config); ^~~~~~~ ./drivers/raw/cnxk_gpio/cnxk_gpio.c:51:66: note: expected ‘void *’ but argument is of type ‘const struct (*)[1]’ cnxk_gpio_ioctl(struct cnxk_gpio *gpio, unsigned long cmd, void *arg) ~~~~~~^~~ ./drivers/raw/cnxk_gpio/cnxk_gpio.c:685:9: error: ‘(const struct *)&’ is a pointer; did you mean to use ‘->’? config.attrs[config.num_attrs].attr.id = GPIO_V2_LINE_ATTR_ID_FLAGS; ^ -> ./drivers/raw/cnxk_gpio/cnxk_gpio.c:685:22: error: ‘(const struct *)&’ is a pointer; did you mean to use ‘->’? config.attrs[config.num_attrs].attr.id = GPIO_V2_LINE_ATTR_ID_FLAGS; ^ -> ./drivers/raw/cnxk_gpio/cnxk_gpio.c:685:15: error: array subscript is not an integer config.attrs[config.num_attrs].attr.id = GPIO_V2_LINE_ATTR_ID_FLAGS; ^ ./drivers/raw/cnxk_gpio/cnxk_gpio.c:685:33: error: ‘(const struct *)&’ is a pointer; did you mean to use ‘->’? config.attrs[config.num_attrs].attr.id = GPIO_V2_LINE_ATTR_ID_FLAGS; ^ -> ./drivers/raw/cnxk_gpio/cnxk_gpio.c:685:38: error: ‘(const struct *)&’ is a pointer; did you mean to use ‘->’? config.attrs[config.num_attrs].attr.id = GPIO_V2_LINE_ATTR_ID_FLAGS; ^ -> ./drivers/raw/cnxk_gpio/cnxk_gpio.c:685:3: warning: statement with no effect [-Wunused-value] config.attrs[config.num_attrs].attr.id = GPIO_V2_LINE_ATTR_ID_FLAGS; ^~~~~~ ./drivers/raw/cnxk_gpio/cnxk_gpio.c:686:9: error: ‘(const struct *)&’ is a pointer; did you mean to use ‘->’? config.attrs[config.num_attrs].attr.flags = cnxk_gpio_dir_to_flag(dir); ^ -> ./drivers/raw/cnxk_gpio/cnxk_gpio.c:686:22: error: ‘(const struct *)&’ is a pointer; did you mean to use ‘->’? config.attrs[config.num_attrs].attr.flags = cnxk_gpio_dir_to_flag(dir); ^ -> ./drivers/raw/cnxk_gpio/cnxk_gpio.c:686:15: error: array subscript is not an integer config.attrs[config.num_attrs].attr.flags = cnxk_gpio_dir_to_flag(dir); ^ ./drivers/raw/cnxk_gpio/cnxk_gpio.c:686:33: error: ‘(const struct *)&’ is a pointer; did you mean to use ‘->’? config.attrs[config.num_attrs].attr.flags = cnxk_gpio_dir_to_flag(dir); ^ -> ./drivers/raw/cnxk_gpio/cnxk_gpio.c:686:38: error: ‘(const struct *)&’ is a pointer; did you mean to use ‘->’? config.attrs[config.num_attrs].attr.flags = cnxk_gpio_dir_to_flag(dir); ^ -> ./drivers/raw/cnxk_gpio/cnxk_gpio.c:686:3: warning: statement with no effect [-Wunused-value] config.attrs[config.num_attrs].attr.flags = cnxk_gpio_dir_to_flag(dir); ^~~~~~ ./drivers/raw/cnxk_gpio/cnxk_gpio.c:687:9: error: ‘(const struct *)&’ is a pointer; did you mean to use ‘->’? config.attrs[config.num_attrs].mask = RTE_BIT64(gpio->num); ^ -> ./drivers/raw/cnxk_gpio/cnxk_gpio.c:687:22: error: ‘(const struct *)&’ is a pointer; did you mean to use ‘->’? config.attrs[config.num_attrs].mask = RTE_BIT64(gpio->num); ^ -> ./drivers/raw/cnxk_gpio/cnxk_gpio.c:687:15: error: array subscript is not an integer config.attrs[config.num_attrs].mask = RTE_BIT64(gpio->num); ^ ./drivers/raw/cnxk_gpio/cnxk_gpio.c:687:33: error: ‘(const struct *)&’ is a pointer; did you mean to use ‘->’? config.attrs[config.num_attrs].mask = RTE_BIT64(gpio->num); ^ -> ./drivers/raw/cnxk_gpio/cnxk_gpio.c:687:3: warning: statement with no effect [-Wunused-value] config.attrs[config.num_attrs].mask = RTE_BIT64(gpio->num); ^~~~~~ ./drivers/raw/cnxk_gpio/cnxk_gpio.c:688:9: error: ‘(const struct *)&’ is a pointer; did you mean to use ‘->’? config.num_attrs++; ^ -> ./drivers/raw/cnxk_gpio/cnxk_gpio.c:688:19: error: lvalue required as increment operand config.num_attrs++; ^~ ./drivers/raw/cnxk_gpio/cnxk_gpio.c:688:3: warning: statement with no effect [-Wunused-value] config.num_attrs++; ^~~~~~ ./drivers/raw/cnxk_gpio/cnxk_gpio.c:691:10: error: ‘(const struct *)&’ is a pointer; did you mean to use ‘->’? config.attrs[config.num_attrs].attr.id = GPIO_V2_LINE_ATTR_ID_OUTPUT_VALUES; ^ -> ./drivers/raw/cnxk_gpio/cnxk_gpio.c:691:23: error: ‘(const struct *)&’ is a pointer; did you mean to use ‘->’? config.attrs[config.num_attrs].attr.id = GPIO_V2_LINE_ATTR_ID_OUTPUT_VALUES; ^ -> ./drivers/raw/cnxk_gpio/cnxk_gpio.c:691:16: error: array subscript is not an integer config.attrs[config.num_attrs].attr.id = GPIO_V2_LINE_ATTR_ID_OUTPUT_VALUES; ^ ./drivers/raw/cnxk_gpio/cnxk_gpio.c:691:34: error: ‘(const struct *)&’ is a pointer; did you mean to use ‘->’? config.attrs[config.num_attrs].attr.id = GPIO_V2_LINE_ATTR_ID_OUTPUT_VALUES; ^ -> ./drivers/raw/cnxk_gpio/cnxk_gpio.c:691:39: error: ‘(const struct *)&’ is a pointer; did you mean to use ‘->’? config.attrs[config.num_attrs].attr.id = GPIO_V2_LINE_ATTR_ID_OUTPUT_VALUES; ^ -> ./drivers/raw/cnxk_gpio/cnxk_gpio.c:691:45: error: ‘GPIO_V2_LINE_ATTR_ID_OUTPUT_VALUES’ undeclared (first use in this function) config.attrs[config.num_attrs].attr.id = GPIO_V2_LINE_ATTR_ID_OUTPUT_VALUES; ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./drivers/raw/cnxk_gpio/cnxk_gpio.c:691:4: warning: statement with no effect [-Wunused-value] config.attrs[config.num_attrs].attr.id = GPIO_V2_LINE_ATTR_ID_OUTPUT_VALUES; ^~~~~~ ./drivers/raw/cnxk_gpio/cnxk_gpio.c:692:10: error: ‘(const struct *)&’ is a pointer; did you mean to use ‘->’? config.attrs[config.num_attrs].attr.values = dir == CNXK_GPIO_PIN_DIR_HIGH ? ^ -> ./drivers/raw/cnxk_gpio/cnxk_gpio.c:692:23: error: ‘(const struct *)&’ is a pointer; did you mean to use ‘->’? config.attrs[config.num_attrs].attr.values = dir == CNXK_GPIO_PIN_DIR_HIGH ? ^ -> ./drivers/raw/cnxk_gpio/cnxk_gpio.c:692:16: error: array subscript is not an integer config.attrs[config.num_attrs].attr.values = dir == CNXK_GPIO_PIN_DIR_HIGH ? ^ ./drivers/raw/cnxk_gpio/cnxk_gpio.c:692:34: error: ‘(const struct *)&’ is a pointer; did you mean to use ‘->’? config.attrs[config.num_attrs].attr.values = dir == CNXK_GPIO_PIN_DIR_HIGH ? ^ -> ./drivers/raw/cnxk_gpio/cnxk_gpio.c:692:39: error: ‘(const struct *)&’ is a pointer; did you mean to use ‘->’? config.attrs[config.num_attrs].attr.values = dir == CNXK_GPIO_PIN_DIR_HIGH ? ^ -> ./drivers/raw/cnxk_gpio/cnxk_gpio.c:692:4: warning: statement with no effect [-Wunused-value] config.attrs[config.num_attrs].attr.values = dir == CNXK_GPIO_PIN_DIR_HIGH ? ^~~~~~ ./drivers/raw/cnxk_gpio/cnxk_gpio.c:694:10: error: ‘(const struct *)&’ is a pointer; did you mean to use ‘->’? config.attrs[config.num_attrs].mask = RTE_BIT64(gpio->num); ^ -> ./drivers/raw/cnxk_gpio/cnxk_gpio.c:694:23: error: ‘(const struct *)&’ is a pointer; did you mean to use ‘->’? config.attrs[config.num_attrs].mask = RTE_BIT64(gpio->num); ^ -> ./drivers/raw/cnxk_gpio/cnxk_gpio.c:694:16: error: array subscript is not an integer config.attrs[config.num_attrs].mask = RTE_BIT64(gpio->num); ^ ./drivers/raw/cnxk_gpio/cnxk_gpio.c:694:34: error: ‘(const struct *)&’ is a pointer; did you mean to use ‘->’? config.attrs[config.num_attrs].mask = RTE_BIT64(gpio->num); ^ -> ./drivers/raw/cnxk_gpio/cnxk_gpio.c:694:4: warning: statement with no effect [-Wunused-value] config.attrs[config.num_attrs].mask = RTE_BIT64(gpio->num); ^~~~~~ ./drivers/raw/cnxk_gpio/cnxk_gpio.c:695:10: error: ‘(const struct *)&’ is a pointer; did you mean to use ‘->’? config.num_attrs++; ^ -> ./drivers/raw/cnxk_gpio/cnxk_gpio.c:695:20: error: lvalue required as increment operand config.num_attrs++; ^~ ./drivers/raw/cnxk_gpio/cnxk_gpio.c:695:4: warning: statement with no effect [-Wunused-value] config.num_attrs++; ^~~~~~ ./drivers/raw/cnxk_gpio/cnxk_gpio.c:698:31: warning: passing argument 2 of ‘cnxk_gpio_ioctl’ makes integer from pointer without a cast [-Wint-conversion] ret = cnxk_gpio_ioctl(gpio, GPIO_V2_LINE_SET_CONFIG_IOCTL, &config); ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./drivers/raw/cnxk_gpio/cnxk_gpio.c:51:55: note: expected ‘long unsigned int’ but argument is of type ‘const struct *’ cnxk_gpio_ioctl(struct cnxk_gpio *gpio, unsigned long cmd, void *arg) ~~~~~~~~~~~~~~^~~ ./drivers/raw/cnxk_gpio/cnxk_gpio.c:698:62: warning: passing argument 3 of ‘cnxk_gpio_ioctl’ discards ‘const’ qualifier from pointer target type [-Wdiscarded-array-qualifiers] ret = cnxk_gpio_ioctl(gpio, GPIO_V2_LINE_SET_CONFIG_IOCTL, &config); ^~~~~~~ ./drivers/raw/cnxk_gpio/cnxk_gpio.c:51:66: note: expected ‘void *’ but argument is of type ‘const struct (*)[1]’ cnxk_gpio_ioctl(struct cnxk_gpio *gpio, unsigned long cmd, void *arg) ~~~~~~^~~ ./drivers/raw/cnxk_gpio/cnxk_gpio.c:702:8: error: ‘(const struct *)&’ is a pointer; did you mean to use ‘->’? info.flags |= GPIO_V2_LINE_FLAG_ACTIVE_LOW; ^ -> ./drivers/raw/cnxk_gpio/cnxk_gpio.c:702:18: error: ‘GPIO_V2_LINE_FLAG_ACTIVE_LOW’ undeclared (first use in this function); did you mean ‘GPIOLINE_FLAG_ACTIVE_LOW’? info.flags |= GPIO_V2_LINE_FLAG_ACTIVE_LOW; ^~~~~~~~~~~~~~~~~~~~~~~~~~~~ GPIOLINE_FLAG_ACTIVE_LOW ./drivers/raw/cnxk_gpio/cnxk_gpio.c:702:4: warning: statement with no effect [-Wunused-value] info.flags |= GPIO_V2_LINE_FLAG_ACTIVE_LOW; ^~~~ ./drivers/raw/cnxk_gpio/cnxk_gpio.c:704:8: error: ‘(const struct *)&’ is a pointer; did you mean to use ‘->’? info.flags &= ~GPIO_V2_LINE_FLAG_ACTIVE_LOW; ^ -> ./drivers/raw/cnxk_gpio/cnxk_gpio.c:704:18: error: wrong type argument to bit-complement info.flags &= ~GPIO_V2_LINE_FLAG_ACTIVE_LOW; ^ ./drivers/raw/cnxk_gpio/cnxk_gpio.c:704:4: warning: statement with no effect [-Wunused-value] info.flags &= ~GPIO_V2_LINE_FLAG_ACTIVE_LOW; ^~~~ ./drivers/raw/cnxk_gpio/cnxk_gpio.c:706:9: error: ‘(const struct *)&’ is a pointer; did you mean to use ‘->’? config.attrs[config.num_attrs].attr.id = GPIO_V2_LINE_ATTR_ID_FLAGS; ^ -> ./drivers/raw/cnxk_gpio/cnxk_gpio.c:706:22: error: ‘(const struct *)&’ is a pointer; did you mean to use ‘->’? config.attrs[config.num_attrs].attr.id = GPIO_V2_LINE_ATTR_ID_FLAGS; ^ -> ./drivers/raw/cnxk_gpio/cnxk_gpio.c:706:15: error: array subscript is not an integer config.attrs[config.num_attrs].attr.id = GPIO_V2_LINE_ATTR_ID_FLAGS; ^ ./drivers/raw/cnxk_gpio/cnxk_gpio.c:706:33: error: ‘(const struct *)&’ is a pointer; did you mean to use ‘->’? config.attrs[config.num_attrs].attr.id = GPIO_V2_LINE_ATTR_ID_FLAGS; ^ -> ./drivers/raw/cnxk_gpio/cnxk_gpio.c:706:38: error: ‘(const struct *)&’ is a pointer; did you mean to use ‘->’? config.attrs[config.num_attrs].attr.id = GPIO_V2_LINE_ATTR_ID_FLAGS; ^ -> ./drivers/raw/cnxk_gpio/cnxk_gpio.c:706:3: warning: statement with no effect [-Wunused-value] config.attrs[config.num_attrs].attr.id = GPIO_V2_LINE_ATTR_ID_FLAGS; ^~~~~~ ./drivers/raw/cnxk_gpio/cnxk_gpio.c:707:9: error: ‘(const struct *)&’ is a pointer; did you mean to use ‘->’? config.attrs[config.num_attrs].attr.flags = info.flags; ^ -> ./drivers/raw/cnxk_gpio/cnxk_gpio.c:707:22: error: ‘(const struct *)&’ is a pointer; did you mean to use ‘->’? config.attrs[config.num_attrs].attr.flags = info.flags; ^ -> ./drivers/raw/cnxk_gpio/cnxk_gpio.c:707:15: error: array subscript is not an integer config.attrs[config.num_attrs].attr.flags = info.flags; ^ ./drivers/raw/cnxk_gpio/cnxk_gpio.c:707:33: error: ‘(const struct *)&’ is a pointer; did you mean to use ‘->’? config.attrs[config.num_attrs].attr.flags = info.flags; ^ -> ./drivers/raw/cnxk_gpio/cnxk_gpio.c:707:38: error: ‘(const struct *)&’ is a pointer; did you mean to use ‘->’? config.attrs[config.num_attrs].attr.flags = info.flags; ^ -> ./drivers/raw/cnxk_gpio/cnxk_gpio.c:707:51: error: ‘(const struct *)&’ is a pointer; did you mean to use ‘->’? config.attrs[config.num_attrs].attr.flags = info.flags; ^ -> ./drivers/raw/cnxk_gpio/cnxk_gpio.c:707:3: warning: statement with no effect [-Wunused-value] config.attrs[config.num_attrs].attr.flags = info.flags; ^~~~~~ ./drivers/raw/cnxk_gpio/cnxk_gpio.c:708:9: error: ‘(const struct *)&’ is a pointer; did you mean to use ‘->’? config.attrs[config.num_attrs].mask = RTE_BIT64(gpio->num); ^ -> ./drivers/raw/cnxk_gpio/cnxk_gpio.c:708:22: error: ‘(const struct *)&’ is a pointer; did you mean to use ‘->’? config.attrs[config.num_attrs].mask = RTE_BIT64(gpio->num); ^ -> ./drivers/raw/cnxk_gpio/cnxk_gpio.c:708:15: error: array subscript is not an integer config.attrs[config.num_attrs].mask = RTE_BIT64(gpio->num); ^ ./drivers/raw/cnxk_gpio/cnxk_gpio.c:708:33: error: ‘(const struct *)&’ is a pointer; did you mean to use ‘->’? config.attrs[config.num_attrs].mask = RTE_BIT64(gpio->num); ^ -> ./drivers/raw/cnxk_gpio/cnxk_gpio.c:708:3: warning: statement with no effect [-Wunused-value] config.attrs[config.num_attrs].mask = RTE_BIT64(gpio->num); ^~~~~~ ./drivers/raw/cnxk_gpio/cnxk_gpio.c:709:9: error: ‘(const struct *)&’ is a pointer; did you mean to use ‘->’? config.num_attrs++; ^ -> ./drivers/raw/cnxk_gpio/cnxk_gpio.c:709:19: error: lvalue required as increment operand config.num_attrs++; ^~ ./drivers/raw/cnxk_gpio/cnxk_gpio.c:709:3: warning: statement with no effect [-Wunused-value] config.num_attrs++; ^~~~~~ ./drivers/raw/cnxk_gpio/cnxk_gpio.c:711:31: warning: passing argument 2 of ‘cnxk_gpio_ioctl’ makes integer from pointer without a cast [-Wint-conversion] ret = cnxk_gpio_ioctl(gpio, GPIO_V2_LINE_SET_CONFIG_IOCTL, &config); ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./drivers/raw/cnxk_gpio/cnxk_gpio.c:51:55: note: expected ‘long unsigned int’ but argument is of type ‘const struct *’ cnxk_gpio_ioctl(struct cnxk_gpio *gpio, unsigned long cmd, void *arg) ~~~~~~~~~~~~~~^~~ ./drivers/raw/cnxk_gpio/cnxk_gpio.c:711:62: warning: passing argument 3 of ‘cnxk_gpio_ioctl’ discards ‘const’ qualifier from pointer target type [-Wdiscarded-array-qualifiers] ret = cnxk_gpio_ioctl(gpio, GPIO_V2_LINE_SET_CONFIG_IOCTL, &config); ^~~~~~~ ./drivers/raw/cnxk_gpio/cnxk_gpio.c:51:66: note: expected ‘void *’ but argument is of type ‘const struct (*)[1]’ cnxk_gpio_ioctl(struct cnxk_gpio *gpio, unsigned long cmd, void *arg) ~~~~~~^~~ ./drivers/raw/cnxk_gpio/cnxk_gpio.c:714:9: error: ‘(const struct *)&’ is a pointer; did you mean to use ‘->’? values.mask = RTE_BIT64(gpio->num); ^ -> ./drivers/raw/cnxk_gpio/cnxk_gpio.c:714:3: warning: statement with no effect [-Wunused-value] values.mask = RTE_BIT64(gpio->num); ^~~~~~ ./drivers/raw/cnxk_gpio/cnxk_gpio.c:715:31: error: ‘GPIO_V2_LINE_GET_VALUES_IOCTL’ undeclared (first use in this function); did you mean ‘GPIOHANDLE_GET_LINE_VALUES_IOCTL’? ret = cnxk_gpio_ioctl(gpio, GPIO_V2_LINE_GET_VALUES_IOCTL, &values); ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~ GPIOHANDLE_GET_LINE_VALUES_IOCTL ./drivers/raw/cnxk_gpio/cnxk_gpio.c:715:31: warning: passing argument 2 of ‘cnxk_gpio_ioctl’ makes integer from pointer without a cast [-Wint-conversion] ./drivers/raw/cnxk_gpio/cnxk_gpio.c:51:55: note: expected ‘long unsigned int’ but argument is of type ‘const struct *’ cnxk_gpio_ioctl(struct cnxk_gpio *gpio, unsigned long cmd, void *arg) ~~~~~~~~~~~~~~^~~ ./drivers/raw/cnxk_gpio/cnxk_gpio.c:715:62: warning: passing argument 3 of ‘cnxk_gpio_ioctl’ discards ‘const’ qualifier from pointer target type [-Wdiscarded-array-qualifiers] ret = cnxk_gpio_ioctl(gpio, GPIO_V2_LINE_GET_VALUES_IOCTL, &values); ^~~~~~~ ./drivers/raw/cnxk_gpio/cnxk_gpio.c:51:66: note: expected ‘void *’ but argument is of type ‘const struct (*)[1]’ cnxk_gpio_ioctl(struct cnxk_gpio *gpio, unsigned long cmd, void *arg) ~~~~~~^~~ ./drivers/raw/cnxk_gpio/cnxk_gpio.c:723:26: error: ‘(const struct *)&’ is a pointer; did you mean to use ‘->’? *(int *)rsp = !!(values.bits & RTE_BIT64(gpio->num)); ^ -> ./drivers/raw/cnxk_gpio/cnxk_gpio.c:723:32: error: invalid operands to binary & (have ‘const struct *’ and ‘long unsigned int’) *(int *)rsp = !!(values.bits & RTE_BIT64(gpio->num)); ~~~~~~ ^ ./drivers/raw/cnxk_gpio/cnxk_gpio.c:730:64: error: ‘(const struct *)&’ is a pointer; did you mean to use ‘->’? *(enum cnxk_gpio_pin_edge *)rsp = cnxk_gpio_flag_to_edge(info.flags); ^ -> ./drivers/raw/cnxk_gpio/cnxk_gpio.c:737:62: error: ‘(const struct *)&’ is a pointer; did you mean to use ‘->’? *(enum cnxk_gpio_pin_dir *)rsp = cnxk_gpio_flag_to_dir(info.flags); ^ -> ./drivers/raw/cnxk_gpio/cnxk_gpio.c:744:24: error: ‘(const struct *)&’ is a pointer; did you mean to use ‘->’? *(int *)rsp = !!(info.flags & GPIO_V2_LINE_FLAG_ACTIVE_LOW); ^ -> ./drivers/raw/cnxk_gpio/cnxk_gpio.c:744:31: error: invalid operands to binary & (have ‘const struct *’ and ‘const struct *’) *(int *)rsp = !!(info.flags & GPIO_V2_LINE_FLAG_ACTIVE_LOW); ~~~~ ^ ./drivers/raw/cnxk_gpio/cnxk_gpio.c:651:27: warning: unused variable ‘info’ [-Wunused-variable] struct gpio_v2_line_info info = {0}; ^~~~ ./drivers/raw/cnxk_gpio/cnxk_gpio.c:650:29: warning: unused variable ‘config’ [-Wunused-variable] struct gpio_v2_line_config config = {0}; ^~~~~~ ./drivers/raw/cnxk_gpio/cnxk_gpio.c:649:29: warning: unused variable ‘values’ [-Wunused-variable] struct gpio_v2_line_values values = {0}; ^~~~~~ ./drivers/raw/cnxk_gpio/cnxk_gpio.c: In function ‘cnxk_gpio_available’: ./drivers/raw/cnxk_gpio/cnxk_gpio.c:348:1: warning: control reaches end of non-void function [-Wreturn-type] } ^ [1817/2683] Compiling C object drivers/libtmp_rte_net_vmxnet3.a.p/net_vmxnet3_vmxnet3_ethdev.c.o [1818/2683] Generating rte_net_ixgbe.sym_chk with a custom command (wrapped by meson to capture output) [1819/2683] Generating rte_net_ngbe.pmd.c with a custom command [1820/2683] Compiling C object drivers/libtmp_rte_net_qede.a.p/net_qede_qede_debug.c.o [1821/2683] Compiling C object drivers/libtmp_rte_net_virtio.a.p/net_virtio_virtio_ethdev.c.o [1822/2683] Compiling C object drivers/libtmp_rte_net_txgbe.a.p/net_txgbe_txgbe_ethdev.c.o [1823/2683] Compiling C object drivers/libtmp_rte_net_vmxnet3.a.p/net_vmxnet3_vmxnet3_rxtx.c.o [1824/2683] Compiling C object drivers/libtmp_rte_net_virtio.a.p/net_virtio_virtio_rxtx.c.o [1825/2683] Compiling C object drivers/libtmp_rte_net_txgbe.a.p/net_txgbe_txgbe_rxtx.c.o [1826/2683] Generating rte_common_cnxk.sym_chk with a custom command (wrapped by meson to capture output) ninja: build stopped: subcommand failed. -------------------------------END LOGS------------------------------