From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from e23smtp03.au.ibm.com ([202.81.31.145]:40249 "EHLO e23smtp03.au.ibm.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1750983AbcCAFIU (ORCPT ); Tue, 1 Mar 2016 00:08:20 -0500 Received: from localhost by e23smtp03.au.ibm.com with IBM ESMTP SMTP Gateway: Authorized Use Only! Violators will be prosecuted for from ; Tue, 1 Mar 2016 15:08:17 +1000 Received: from d23relay06.au.ibm.com (d23relay06.au.ibm.com [9.185.63.219]) by d23dlp01.au.ibm.com (Postfix) with ESMTP id E44FD2CE805A for ; Tue, 1 Mar 2016 16:07:59 +1100 (EST) Received: from d23av03.au.ibm.com (d23av03.au.ibm.com [9.190.234.97]) by d23relay06.au.ibm.com (8.14.9/8.14.9/NCO v10.0) with ESMTP id u2157pDH6095250 for ; Tue, 1 Mar 2016 16:07:59 +1100 Received: from d23av03.au.ibm.com (localhost [127.0.0.1]) by d23av03.au.ibm.com (8.14.4/8.14.4/NCO v10.0 AVout) with ESMTP id u2157Qkd016223 for ; Tue, 1 Mar 2016 16:07:27 +1100 Date: Tue, 1 Mar 2016 16:06:31 +1100 From: Gavin Shan To: Guenter Roeck Cc: Gavin Shan , Sasha Levin , stable , Youngmin Nam , Alan Cox Subject: Re: Build errors in v3.18-stable-queue Message-ID: <20160301050631.GA4931@gwshan> Reply-To: Gavin Shan References: <56D2CFB3.1060202@roeck-us.net> <56D4E141.5000100@oracle.com> <20160301011433.GA23235@gwshan> <56D502CC.3090004@roeck-us.net> MIME-Version: 1.0 Content-Type: multipart/mixed; boundary="YZ5djTAD1cGYuMQK" Content-Disposition: inline Content-Transfer-Encoding: 8bit In-Reply-To: <56D502CC.3090004@roeck-us.net> Sender: stable-owner@vger.kernel.org List-ID: --YZ5djTAD1cGYuMQK Content-Type: text/plain; charset=us-ascii Content-Disposition: inline On Mon, Feb 29, 2016 at 06:47:40PM -0800, Guenter Roeck wrote: >On 02/29/2016 05:14 PM, Gavin Shan wrote: >>On Mon, Feb 29, 2016 at 07:24:33PM -0500, Sasha Levin wrote: >>>On 02/28/2016 05:45 AM, Guenter Roeck wrote: >>>>Current build results: >>>> total: 137 pass: 121 fail: 16 >>>>Failed builds: >>>> arm:allmodconfig >>>> arm:omap2plus_defconfig >>>> arm:exynos_defconfig >>>> arm:s5pv210_defconfig >>>> powerpc:defconfig >>>> powerpc:allmodconfig >>>> powerpc:allnoconfig >>>> powerpc:ppc64e_defconfig >>>> powerpc:cell_defconfig >>>> powerpc:maple_defconfig >>>> powerpc:ppc6xx_defconfig >>>> powerpc:mpc83xx_defconfig >>>> powerpc:tqm8xx_defconfig >>>> powerpc:85xx/sbc8548_defconfig >>>> powerpc:83xx/mpc834x_mds_defconfig >>>> powerpc:86xx/sbc8641d_defconfig >>>> >>>>Culprits are listed below. Copying the patch authors for advice. >>>> >> >>Thanks for reporting it, Guenter. some questions as below: >> >>- The subject says you were building 3.18 stable kernel, but the PowerPC >> related commit was merged to 4.1 kernel. So I assume you were building >> 4.1 stable kernel instead. > >In this case it was 3.18. There were failures in 4.1 as well, but they are >different. All builds in 3.18 fail, but only two out of 12 builds in 4.1. >For 3.18, this includes both 32 bit and 64 bit builds. > >>- All above PowerPC configuration failed to build? At least, those >> configuration that has (CONFIG_PPC64=y) shouldn't fail because of >> the error you pointed. > >Possibly, but they still fail. Sorry if my report missed the 64 bit error(s). > >>- Those configuration without (CONFIG_PPC64=y) needs below fix. Could you >> please have a try? If it works, I'll post a patch as soon as possible. >> >>diff --git a/arch/powerpc/kernel/of_platform.c b/arch/powerpc/kernel/of_platform.c >>index b60a67d..25dec0b 100644 >>--- a/arch/powerpc/kernel/of_platform.c >>+++ b/arch/powerpc/kernel/of_platform.c >>@@ -71,8 +71,10 @@ static int of_pci_phb_probe(struct platform_device *dev) >> eeh_dev_phb_init_dynamic(phb); >> >> /* Register devices with EEH */ >>+#ifdef CONFIG_EEH >> if (dev->dev.of_node->child) >> eeh_add_device_tree_early(PCI_DN(dev->dev.of_node)); >>+#endif >> > >Looking into a ppc 64 bit log (from a qemu test attempt), I see > >In file included from arch/powerpc/mm/init_64.c:59:0: >./arch/powerpc/include/asm/eeh.h:344:48: error: 'struct pci_dn' declared inside parameter list [-Werror] > static inline void eeh_add_device_early(struct pci_dn *pdn) { } > >which won't be fixed by the above patch. > >The build logs are public at http://kerneltests.org/builders. >They are typically available for at least 30 days, so feel free >to have a look yourself. > Yeah, there're more info included in above link. The attached patch would fix the build error. Thanks, Gavin >Thanks, >Guenter > >>Thanks, >>Gavin >> >>>>Guenter >>>> >>>>--- >>>>powerpc: >>>> >>>>In file included from arch/powerpc/kernel/of_platform.c:30:0: >>>>./arch/powerpc/include/asm/eeh.h:344:48: error: 'struct pci_dn' declared inside parameter list >>>> >>>>Culprit: "powerpc/eeh: Do probe on pci_dn" >>>> >>>>--- >>>>arm: >>>> >>>>drivers/pinctrl/samsung/pinctrl-samsung.c: In function 'samsung_gpio_set': >>>>drivers/pinctrl/samsung/pinctrl-samsung.c:551:9: error: implicit declaration of function 'gpiochip_get_data' >>>> >>>>Culprit: "pinctrl: samsung: fix SMP race condition" >>>> >>>>drivers/tty/serial/omap-serial.c: In function 'serial_omap_stop_tx': >>>>drivers/tty/serial/omap-serial.c:318:10: error: 'struct uart_port' has no member named 'rs485' >>>> >>>>drivers/tty/serial/omap-serial.c: In function 'serial_omap_probe': >>>>drivers/tty/serial/omap-serial.c:1683:10: error: 'struct uart_port' has no member named 'rs485_config' >>>> >>>>Culprit: "serial/omap: Use the rs485 functions on serial_core" >>> >>> >>>Thanks Guenter. I'll pull both of these out of 3.18 and 4.1 until we can get a proper >>>backport since it doesn't seem trivial. >>> >>> >>>Thanks, >>>Sasha >>> >> >> > --YZ5djTAD1cGYuMQK Content-Type: text/x-diff; charset=utf-8 Content-Disposition: attachment; filename="0001-powerpc-eeh-Fix-build-error-caused-by-pci_dn.patch" Content-Transfer-Encoding: 8bit >>From 0c43881f78dbdf62ba02364e6306ea271903fc06 Mon Sep 17 00:00:00 2001 From: Gavin Shan Date: Tue, 1 Mar 2016 16:02:43 +1100 Subject: [PATCH] powerpc/eeh: Fix build error caused by pci_dn MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit eeh.h could be included when we have following condition. Then we run into build error as below: (CONFIG_PPC64 && !CONFIG_EEH) || (!CONFIG_PPC64 && !CONFIG_EEH) In file included from arch/powerpc/kernel/of_platform.c:30:0: ./arch/powerpc/include/asm/eeh.h:344:48: error: ‘struct pci_dn’ \ declared inside parameter list [-Werror] : In file included from arch/powerpc/mm/hash_utils_64.c:49:0: ./arch/powerpc/include/asm/eeh.h:344:48: error: ‘struct pci_dn’ \ declared inside parameter list [-Werror] This fixes the issue by replacing those empty inline functions with macro so that we don't rely on @pci_dn when CONFIG_EEH is disabled. Cc: stable@vger.kernel.org # v4.1+ Fixes: ff57b45 ("powerpc/eeh: Do probe on pci_dn") Reported-by: Guenter Roeck Signed-off-by: Gavin Shan --- arch/powerpc/include/asm/eeh.h | 20 +++++++------------- 1 file changed, 7 insertions(+), 13 deletions(-) diff --git a/arch/powerpc/include/asm/eeh.h b/arch/powerpc/include/asm/eeh.h index c3a2d14..5f7ec12 100644 --- a/arch/powerpc/include/asm/eeh.h +++ b/arch/powerpc/include/asm/eeh.h @@ -339,19 +339,13 @@ static inline int eeh_check_failure(const volatile void __iomem *token) #define eeh_dev_check_failure(x) (0) -static inline void eeh_addr_cache_build(void) { } - -static inline void eeh_add_device_early(struct pci_dn *pdn) { } - -static inline void eeh_add_device_tree_early(struct pci_dn *pdn) { } - -static inline void eeh_add_device_late(struct pci_dev *dev) { } - -static inline void eeh_add_device_tree_late(struct pci_bus *bus) { } - -static inline void eeh_add_sysfs_files(struct pci_bus *bus) { } - -static inline void eeh_remove_device(struct pci_dev *dev) { } +#define eeh_addr_cache_build() +#define eeh_add_device_early(pdn) +#define eeh_add_device_tree_early(pdn) +#define eeh_add_device_late(pdev) +#define eeh_add_device_tree_late(pbus) +#define eeh_add_sysfs_files(pbus) +#define eeh_remove_device(pdev) #define EEH_POSSIBLE_ERROR(val, type) (0) #define EEH_IO_ERROR_VALUE(size) (-1UL) -- 2.1.0 --YZ5djTAD1cGYuMQK--