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 12AD8A0032 for ; Thu, 16 Dec 2021 13:36:20 +0100 (CET) Received: from [217.70.189.124] (localhost [127.0.0.1]) by mails.dpdk.org (Postfix) with ESMTP id D18DB40143; Thu, 16 Dec 2021 13:36:19 +0100 (CET) Received: from mga17.intel.com (mga17.intel.com [192.55.52.151]) by mails.dpdk.org (Postfix) with ESMTP id 7555D40143 for ; Thu, 16 Dec 2021 13:36:17 +0100 (CET) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=intel.com; i=@intel.com; q=dns/txt; s=Intel; t=1639658177; x=1671194177; h=from:to:cc:subject:date:message-id:in-reply-to: references:mime-version:content-transfer-encoding; bh=JrDb/rNp0+cQun18DTb9Om92etCuf5+F+7t2LMsoIDE=; b=aLsrCnPn3CJOYdVKO0DL/EjQIJ6nzE+I6rVaRP2yOZ3/++QVX0mYBbjf 6zXsdCHi/+JNbtcXdPcrcqyzVqLTBsjkf3WXSu9ZEJTJbeSCIVRb+SnKv Vtjdh6LiFaxDk8IcGNYwvGDI/Yei7YKjHg/PQUbIrHvO1/2C8JsGjdYDa YcIH4nmyN91m+u40LTJGz9Aq60Um7pSMKu8bMSRElfh9YX0rHjtiyszEr mo+rg+9qniyj9Sc+QqLS5TFxlaQUlN46kq25nIExwPwcHkcrlnohWwEpw UImppWMEjhNvx7skDyFpAzNhDbo5ystrtxa9/NejHeloKm9OhxLvBaYyA Q==; X-IronPort-AV: E=McAfee;i="6200,9189,10199"; a="220156115" X-IronPort-AV: E=Sophos;i="5.88,211,1635231600"; d="scan'208";a="220156115" Received: from fmsmga003.fm.intel.com ([10.253.24.29]) by fmsmga107.fm.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 16 Dec 2021 04:36:15 -0800 X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="5.88,211,1635231600"; d="scan'208";a="605491179" Received: from silpixa00399752.ir.intel.com (HELO silpixa00399752.ger.corp.intel.com) ([10.237.222.27]) by FMSMGA003.fm.intel.com with ESMTP; 16 Dec 2021 04:36:15 -0800 From: Ferruh Yigit To: stable@dpdk.org Cc: Christian Ehrhardt Subject: [PATCH 19.11 v2] igb_uio: fix build for switch fall through Date: Thu, 16 Dec 2021 12:36:11 +0000 Message-Id: <20211216123611.2125507-1-ferruh.yigit@intel.com> X-Mailer: git-send-email 2.33.1 In-Reply-To: <20211215190011.1928990-1-ferruh.yigit@intel.com> References: <20211215190011.1928990-1-ferruh.yigit@intel.com> MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-BeenThere: stable@dpdk.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: patches for DPDK stable branches List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: stable-bounces@dpdk.org Linux is using '-Wimplicit-fallthrough=5' compiler option, which doesn't take any fall through comments into account but only uses compiler 'fallthrough' attribute to document fall through action is intended. "falls through" comment was used in the code which is causing a build error now, this patch converts comment to the 'fallthrough' macro defined in the Linux. To cover the case where Linux version doesn't have the macro, defined it in the compatibility header too. Signed-off-by: Ferruh Yigit --- Cc: Christian Ehrhardt v2: * Add both dummy and attribute fallthrough macro definition to compatibility header. --- kernel/linux/igb_uio/compat.h | 14 ++++++++++++++ kernel/linux/igb_uio/igb_uio.c | 6 +++--- 2 files changed, 17 insertions(+), 3 deletions(-) diff --git a/kernel/linux/igb_uio/compat.h b/kernel/linux/igb_uio/compat.h index 8dbb896ae118..850b359f3643 100644 --- a/kernel/linux/igb_uio/compat.h +++ b/kernel/linux/igb_uio/compat.h @@ -152,3 +152,17 @@ static inline bool igbuio_kernel_is_locked_down(void) return false; #endif } + +#ifndef fallthrough + +#ifndef __has_attribute +#define __has_attribute(x) 0 +#endif + +#if __has_attribute(__fallthrough__) +#define fallthrough __attribute__((__fallthrough__)) +#else +#define fallthrough do {} while (0) +#endif + +#endif diff --git a/kernel/linux/igb_uio/igb_uio.c b/kernel/linux/igb_uio/igb_uio.c index 039f5a5f6354..57d0c58ab1b8 100644 --- a/kernel/linux/igb_uio/igb_uio.c +++ b/kernel/linux/igb_uio/igb_uio.c @@ -236,7 +236,7 @@ igbuio_pci_enable_interrupts(struct rte_uio_pci_dev *udev) } #endif - /* falls through - to MSI */ + fallthrough; case RTE_INTR_MODE_MSI: #ifndef HAVE_ALLOC_IRQ_VECTORS if (pci_enable_msi(udev->pdev) == 0) { @@ -255,7 +255,7 @@ igbuio_pci_enable_interrupts(struct rte_uio_pci_dev *udev) break; } #endif - /* falls through - to INTX */ + fallthrough; case RTE_INTR_MODE_LEGACY: if (pci_intx_mask_supported(udev->pdev)) { dev_dbg(&udev->pdev->dev, "using INTX"); @@ -265,7 +265,7 @@ igbuio_pci_enable_interrupts(struct rte_uio_pci_dev *udev) break; } dev_notice(&udev->pdev->dev, "PCI INTX mask not supported\n"); - /* falls through - to no IRQ */ + fallthrough; case RTE_INTR_MODE_NONE: udev->mode = RTE_INTR_MODE_NONE; udev->info.irq = UIO_IRQ_NONE; -- 2.33.1