Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1753443AbbH2PZM (ORCPT ); Sat, 29 Aug 2015 11:25:12 -0400 Received: from bombadil.infradead.org ([198.137.202.9]:49860 "EHLO bombadil.infradead.org" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1752633AbbH2PZJ (ORCPT ); Sat, 29 Aug 2015 11:25:09 -0400 Date: Sat, 29 Aug 2015 08:25:05 -0700 From: Christoph Hellwig To: "Luis R. Rodriguez" Cc: arnd@arndb.de, linux-arch@vger.kernel.org, mingo@kernel.org, schwidefsky@de.ibm.com, heiko.carstens@de.ibm.com, linux-s390@vger.kernel.org, bp@suse.de, linux@roeck-us.net, linux-kernel@vger.kernel.org, akpm@linux-foundation.org, rostedt@goodmis.org, "Luis R. Rodriguez" Subject: Re: [RFC] asm-generic/pci_iomap.h: make custom PCI BAR requirements explicit Message-ID: <20150829152505.GA23449@infradead.org> References: <1440807447-584-1-git-send-email-mcgrof@do-not-panic.com> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <1440807447-584-1-git-send-email-mcgrof@do-not-panic.com> User-Agent: Mutt/1.5.23 (2014-03-12) X-SRS-Rewrite: SMTP reverse-path rewritten from by bombadil.infradead.org See http://www.infradead.org/rpr.html Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Content-Length: 1633 Lines: 31 On Fri, Aug 28, 2015 at 05:17:27PM -0700, Luis R. Rodriguez wrote: > From: "Luis R. Rodriguez" > > The S390 architecture requires a custom pci_iomap() implementation > as the asm-generic implementation assumes there are disjunctions > between PCI BARs, and on S390 PCI BAR are not disjunctive, S390 requires > the bar parameter in order to find the corresponding device and create > the mapping cookie. > > This clash with the asm-generic pci_iomap() implementation is implicit, > there are no current semantics to make this incompatability explicit. > Make the S390 PCI BAR non-disjunction incompatibility explicit, and > also pave the way for alternative incompatibilities to be defined. > > While at it, as with the ioremap*() variants, since we have no clear > semantics yet well defined provide a solution for them that returns > NULL. This allows architectures to move forward by defining pci_ioremap*() > variants without requiring immediate changes to all architectures. Each > architecture then can implement their own solution as needed and > when they get to it. Now that you have the config symbol available why not move the S390 implementation to generic code based on that can kill of asm/pci_iomap.h? Seems like we're really not dealing with something inherent to the architecture, but two possible implementations based on architecture constraints. -- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/