From patchwork Tue Jul 12 13:38:56 2011 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Michal Simek X-Patchwork-Id: 968402 Received: from merlin.infradead.org (merlin.infradead.org [205.233.59.134]) by demeter1.kernel.org (8.14.4/8.14.4) with ESMTP id p6CDdJu0018565 (version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=NO) for ; Tue, 12 Jul 2011 13:39:40 GMT Received: from canuck.infradead.org ([2001:4978:20e::1]) by merlin.infradead.org with esmtps (Exim 4.76 #1 (Red Hat Linux)) id 1QgdB8-0002Ch-3w; Tue, 12 Jul 2011 13:39:10 +0000 Received: from localhost ([127.0.0.1] helo=canuck.infradead.org) by canuck.infradead.org with esmtp (Exim 4.76 #1 (Red Hat Linux)) id 1QgdB7-0006wQ-PX; Tue, 12 Jul 2011 13:39:09 +0000 Received: from mail-fx0-f43.google.com ([209.85.161.43]) by canuck.infradead.org with esmtps (Exim 4.76 #1 (Red Hat Linux)) id 1QgdB4-0006w7-9Z for linux-arm-kernel@lists.infradead.org; Tue, 12 Jul 2011 13:39:07 +0000 Received: by fxg17 with SMTP id 17so1338721fxg.16 for ; Tue, 12 Jul 2011 06:38:58 -0700 (PDT) Received: by 10.223.116.139 with SMTP id m11mr9417950faq.56.1310477938310; Tue, 12 Jul 2011 06:38:58 -0700 (PDT) Received: from monstr.eu ([178.23.216.97]) by mx.google.com with ESMTPS id l9sm6780277fal.43.2011.07.12.06.38.56 (version=SSLv3 cipher=OTHER); Tue, 12 Jul 2011 06:38:57 -0700 (PDT) Message-ID: <4E1C4E70.8030302@monstr.eu> Date: Tue, 12 Jul 2011 15:38:56 +0200 From: Michal Simek User-Agent: Thunderbird 2.0.0.22 (X11/20090625) MIME-Version: 1.0 To: Arnd Bergmann Subject: Re: [PATCH v2 0/6] ARM: make mach/hardware.h optional References: <1309366019-24379-1-git-send-email-robherring2@gmail.com> <201107021124.46953.arnd@arndb.de> <4E1B176E.3030503@gmail.com> <201107121502.41570.arnd@arndb.de> In-Reply-To: <201107121502.41570.arnd@arndb.de> X-CRM114-Version: 20090807-BlameThorstenAndJenny ( TRE 0.7.6 (BSD) ) MR-646709E3 X-CRM114-CacheID: sfid-20110712_093906_593515_E696DDF2 X-CRM114-Status: GOOD ( 23.84 ) X-Spam-Score: -0.7 (/) X-Spam-Report: SpamAssassin version 3.3.1 on canuck.infradead.org summary: Content analysis details: (-0.7 points) pts rule name description ---- ---------------------- -------------------------------------------------- -0.7 RCVD_IN_DNSWL_LOW RBL: Sender listed at http://www.dnswl.org/, low trust [209.85.161.43 listed in list.dnswl.org] Cc: Benjamin Herrenschmidt , linux-kernel@vger.kernel.org, linux-arm-kernel@lists.infradead.org, nico@fluxnic.net X-BeenThere: linux-arm-kernel@lists.infradead.org X-Mailman-Version: 2.1.12 Precedence: list Reply-To: monstr@monstr.eu List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Sender: linux-arm-kernel-bounces@lists.infradead.org Errors-To: linux-arm-kernel-bounces+patchwork-linux-arm=patchwork.kernel.org@lists.infradead.org X-Greylist: IP, sender and recipient auto-whitelisted, not delayed by milter-greylist-4.2.6 (demeter1.kernel.org [140.211.167.41]); Tue, 12 Jul 2011 13:39:40 +0000 (UTC) Arnd Bergmann wrote: > On Monday 11 July 2011, Rob Herring wrote: >>> This is very good work, I really like it. I've mentioned one idea for >>> an improvement in patch 5, which you can still integrate, but otherwise >>> >>> Reviewed-by: Arnd Bergmann >>> >>> for the whole series. >>> >> I have an updated version ready to send out. Will you take this in your >> tree including the 1st patch for pci flags functions? Also, what about >> the powerpc conversion to generic pci flags? > > I can take it all in the arm-soc tree, yes. However for anything outside > of arch/arm/{mach,plat}-*, please get an Ack from the respective maintainer > (Russell, Michal, BenH, ...). Definitely not ACK for [PATH 1/6] because it breaks Microblaze PCI compilation. Rob removed some parts from microblaze pci-bridge.h and didn't move them to generic location or keep them in it. Also didn't remove PCI bits(PCI_REASSIGN..., etc) from microblaze header. I have attached changed patch with Microblaze part. I would also prefer to add to this patch fixes for PPC too. Microblaze pci code comes from PPC that's why will be the best to fix PPC in the same patch. There should be one more patch for ppc which rename ppc_pci_flags to pci_flags + functions and bits From my point of view make sense do these patches. 1. (s/ppc_pci_flags/pci_flags/g) + (s/ppc_pci_/pci_/g) + (s/PPC_PCI_/PCI_/g) 2. introduce new asm-generic/pci-bridge.h with changes for microblaze and ppc 3. all others patches Thanks, Michal From df817b1016d418ed2abff0e1ec175c4e8cb30115 Mon Sep 17 00:00:00 2001 From: Rob Herring Date: Wed, 29 Jun 2011 11:46:54 -0500 Subject: [PATCH] microblaze: move pci flag functions into asm-generic Move pci_set_flags, pci_add_flags, and pci_has_flag into asm-generic/pci-bridge.h so other archs can use them. Signed-off-by: Rob Herring Acked-by: Nicolas Pitre Cc: Jesse Barnes Signed-off-by: Michal Simek --- v2: Fix microblaze compilation problems --- arch/microblaze/include/asm/pci-bridge.h | 67 ++++------------------------- include/asm-generic/pci-bridge.h | 62 +++++++++++++++++++++++++++ 2 files changed, 72 insertions(+), 57 deletions(-) create mode 100644 include/asm-generic/pci-bridge.h diff --git a/arch/microblaze/include/asm/pci-bridge.h b/arch/microblaze/include/asm/pci-bridge.h index 746df91..4cae1d5 100644 --- a/arch/microblaze/include/asm/pci-bridge.h +++ b/arch/microblaze/include/asm/pci-bridge.h @@ -10,31 +10,19 @@ #include #include #include +#include struct device_node; -enum { - /* Force re-assigning all resources (ignore firmware - * setup completely) - */ - PCI_REASSIGN_ALL_RSRC = 0x00000001, - - /* Re-assign all bus numbers */ - PCI_REASSIGN_ALL_BUS = 0x00000002, - - /* Do not try to assign, just use existing setup */ - PCI_PROBE_ONLY = 0x00000004, - - /* Don't bother with ISA alignment unless the bridge has - * ISA forwarding enabled - */ - PCI_CAN_SKIP_ISA_ALIGN = 0x00000008, - - /* Enable domain numbers in /proc */ - PCI_ENABLE_PROC_DOMAINS = 0x00000010, - /* ... except for domain 0 */ - PCI_COMPAT_DOMAIN_0 = 0x00000020, -}; +#ifdef CONFIG_PCI +extern struct list_head hose_list; +extern int pcibios_vaddr_is_ioport(void __iomem *address); +#else +static inline int pcibios_vaddr_is_ioport(void __iomem *address) +{ + return 0; +} +#endif /* * Structure of a PCI controller (host bridge) @@ -164,40 +152,5 @@ extern struct pci_controller *pcibios_alloc_controller(struct device_node *dev); extern void pcibios_free_controller(struct pci_controller *phb); extern void pcibios_setup_phb_resources(struct pci_controller *hose); -#ifdef CONFIG_PCI -extern unsigned int pci_flags; - -static inline void pci_set_flags(int flags) -{ - pci_flags = flags; -} - -static inline void pci_add_flags(int flags) -{ - pci_flags |= flags; -} - -static inline int pci_has_flag(int flag) -{ - return pci_flags & flag; -} - -extern struct list_head hose_list; - -extern int pcibios_vaddr_is_ioport(void __iomem *address); -#else -static inline int pcibios_vaddr_is_ioport(void __iomem *address) -{ - return 0; -} - -static inline void pci_set_flags(int flags) { } -static inline void pci_add_flags(int flags) { } -static inline int pci_has_flag(int flag) -{ - return 0; -} -#endif /* CONFIG_PCI */ - #endif /* __KERNEL__ */ #endif /* _ASM_MICROBLAZE_PCI_BRIDGE_H */ diff --git a/include/asm-generic/pci-bridge.h b/include/asm-generic/pci-bridge.h new file mode 100644 index 0000000..4a5aca2 --- /dev/null +++ b/include/asm-generic/pci-bridge.h @@ -0,0 +1,62 @@ +/* + * This program is free software; you can redistribute it and/or + * modify it under the terms of the GNU General Public License + * as published by the Free Software Foundation; either version + * 2 of the License, or (at your option) any later version. + */ +#ifndef _ASM_GENERIC_PCI_BRIDGE_H +#define _ASM_GENERIC_PCI_BRIDGE_H + +#ifdef __KERNEL__ + +enum { + /* Force re-assigning all resources (ignore firmware + * setup completely) + */ + PCI_REASSIGN_ALL_RSRC = 0x00000001, + + /* Re-assign all bus numbers */ + PCI_REASSIGN_ALL_BUS = 0x00000002, + + /* Do not try to assign, just use existing setup */ + PCI_PROBE_ONLY = 0x00000004, + + /* Don't bother with ISA alignment unless the bridge has + * ISA forwarding enabled + */ + PCI_CAN_SKIP_ISA_ALIGN = 0x00000008, + + /* Enable domain numbers in /proc */ + PCI_ENABLE_PROC_DOMAINS = 0x00000010, + /* ... except for domain 0 */ + PCI_COMPAT_DOMAIN_0 = 0x00000020, +}; + +#ifdef CONFIG_PCI +extern unsigned int pci_flags; + +static inline void pci_set_flags(int flags) +{ + pci_flags = flags; +} + +static inline void pci_add_flags(int flags) +{ + pci_flags |= flags; +} + +static inline int pci_has_flag(int flag) +{ + return pci_flags & flag; +} +#else +static inline void pci_set_flags(int flags) { } +static inline void pci_add_flags(int flags) { } +static inline int pci_has_flag(int flag) +{ + return 0; +} +#endif /* CONFIG_PCI */ + +#endif /* __KERNEL__ */ +#endif /* _ASM_GENERIC_PCI_BRIDGE_H */ -- 1.5.5.6