Received: by 2002:a25:e74b:0:0:0:0:0 with SMTP id e72csp459233ybh; Mon, 20 Jul 2020 22:46:11 -0700 (PDT) X-Google-Smtp-Source: ABdhPJxS7hXD3lRvYtY5qGiOUKzqto63Sqx/nIEa41OQFm0VK1ytUkfgjtg206/ZoBkLkfTwHgM9 X-Received: by 2002:a17:907:1059:: with SMTP id oy25mr25396680ejb.90.1595310371764; Mon, 20 Jul 2020 22:46:11 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1595310371; cv=none; d=google.com; s=arc-20160816; b=Dlzb3ZL3lNdwBnElw9hs0Eq4uHMW9jNJFw8Rj4P8Pd82JATR1DhintrjdpYoVDQmua +2Bw5g73/M9gdjLwcyt0708dVChGh30uq8IdBvLOM5ECfPvrcdHGwtmgq+XGVTkJ4awA 3NSj156yU52mK6SqIL+GM7OxMXna33ybM1XTRmEb0nwtIfqwvFA7H9t02iNy8h1lkEdE FRxYrb30035ZhsIyhCXQ/6gyFVz0uzpr8veiXQPpsUS2dyJC0ZRb3j+aO+Z6MlCTTrJE NY432z4P9Av7gXR6WnCCQjjKKgiew8bT/vN9EGb4LuVvaGBp1/mK2GPwSgOlFd3w/bEB hG1g== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:sender:cc:to:from:subject:mime-version :message-id:date:dkim-signature; bh=TREar1MO2dsLwpnPrx9gwj7yD63VFVL8bjf4tFYmBsU=; b=nFyrSLJfPWEOfdB666rcAhj2qKIIwPl6BS620sMXmOsr2d4y3zfi4VrdZbd0MO1Qgj Ppr+78+LcI9Y9nI13tDzRRNYI9RLbnzQJh9UY1Dnjnow8xFY4MFLnqzHMBUO+lk+Ihbx R6rOue+AGYXSJ0kPq1h7yNr71dhvfwPFO0SNYH2+n8Fj70PMG6SjUTctB9CKxmqMAcQp Qj3T2Ror6015ummRFqnJYE+S+PQhKGOYYavv0DEUVgqia3JIugQVyM09W+2wL5CVNdPF 6BvBILd6GVD05pz4Cmq2maRHzlMfXDm9BSRltHr4RSCQmxR9uvWlUB15tl7H8ohBSesw uvOw== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@google.com header.s=20161025 header.b=apmv1SMn; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=REJECT sp=REJECT dis=NONE) header.from=google.com Return-Path: Received: from vger.kernel.org (vger.kernel.org. [23.128.96.18]) by mx.google.com with ESMTP id s3si11624348edy.157.2020.07.20.22.45.47; Mon, 20 Jul 2020 22:46:11 -0700 (PDT) Received-SPF: pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) client-ip=23.128.96.18; Authentication-Results: mx.google.com; dkim=pass header.i=@google.com header.s=20161025 header.b=apmv1SMn; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=REJECT sp=REJECT dis=NONE) header.from=google.com Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1726022AbgGUFpi (ORCPT + 99 others); Tue, 21 Jul 2020 01:45:38 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:58052 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1725774AbgGUFpi (ORCPT ); Tue, 21 Jul 2020 01:45:38 -0400 Received: from mail-qk1-x749.google.com (mail-qk1-x749.google.com [IPv6:2607:f8b0:4864:20::749]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id 0CFC3C061794 for ; Mon, 20 Jul 2020 22:45:38 -0700 (PDT) Received: by mail-qk1-x749.google.com with SMTP id i3so13096650qkf.0 for ; Mon, 20 Jul 2020 22:45:37 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=20161025; h=date:message-id:mime-version:subject:from:to:cc; bh=TREar1MO2dsLwpnPrx9gwj7yD63VFVL8bjf4tFYmBsU=; b=apmv1SMniLyVP9DP8KpPXG7RQHOGN/fSC0pWUwKU4iyWw1wJHLTBLr9qo+HGEHWvT1 swKqZoFolFmggo4Cc+ufeVeyFR7xB6wibB068ZGt6DKq3tBcTW1dh+5sYnKZHVvEjQUO 6rhy03ouhnuF6qOdmivW9gN/97XA4291+spP/i1Gk0AU3ieZHacv1G+9YY8t3KxFZTCU qQLqLUgapsMx7zZ/Gk59hAi8urEfOijeVxZBHqWeRkOyuUt/DQ4m/1QepoFDGzz7s0z+ 97bo2KFXq2HYguOxwI+3RkyuCwf0CL06WAfuMBue657xdx/IxQYRuNhM2vlTQQ62CDBG AVLg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:date:message-id:mime-version:subject:from:to:cc; bh=TREar1MO2dsLwpnPrx9gwj7yD63VFVL8bjf4tFYmBsU=; b=YR9Obs4Ouu3MOT647cQBb4agtKDnmzsJd87VB+4vQauem5cOLP8luRkUz2ApWXd9eY btq43PdXGcIsXKoMVqpBxR3jeCQtsIfGBjK8dHrgsLsAkEjJ99COtfEr27SGfrw7o7Rm KTBGZTwkmt5TWmEg84VDrGDO9qCFbZIh4RafqnpCK36eLKXZyuSAEbXyCTKrzXbGuRol a7Fkj2SFIzqjiUjPT7rKfXqCb630o6ODqTrNig2AqWEaqp7JM8IDAT3RQ6PR+wEfpO2P JBppQsSc+XwLjnsH9HAOlJU3LrsdrMMgFpyFF132cneFfTAZz3kwz1WsC3xMobS4s3fH jJYg== X-Gm-Message-State: AOAM531OXJ162UKhF59BV4XZE5JTlCofhxyVzEVLx7icVv1Zj8vpmbYy fvrDgmlPq4VfLmeYG04sEkUN6bM0MPGhDA== X-Received: by 2002:a0c:b712:: with SMTP id t18mr25194014qvd.205.1595310336945; Mon, 20 Jul 2020 22:45:36 -0700 (PDT) Date: Mon, 20 Jul 2020 22:45:28 -0700 Message-Id: <20200721054528.2556267-1-davidgow@google.com> Mime-Version: 1.0 X-Mailer: git-send-email 2.28.0.rc0.105.gf9edc3c819-goog Subject: [RFC PATCH] platform: ioremap: Build iomap functions even without HAS_IOMEM From: David Gow To: Greg Kroah-Hartman , Jeff Dike , rafael@kernel.org, Logan Gunthorpe , Richard Weinberger , Jonathan Cameron Cc: Brendan Higgins , kunit-dev@googlegroups.com, linux-um , linux-kernel@vger.kernel.org, David Gow Content-Type: text/plain; charset="UTF-8" Sender: linux-kernel-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org A number of drivers use devm_platform_ioremap_resource(), but do not (or did not) explicitly depend on IOMEM[1,2]. Given that the only platform without HAS_IOMEM seems to be UML, and it has sufficient stubs for devm_platform_ioremap_resource() and its dependencies to build, we can remove the HAS_IOMEM requirement here, rather than playing whack-a-mole with different drivers which don't try to build against ARCH=um. The reason this works at the moment is that stub ioremap and iounmap functions were added to UML to support this sort-of thing[3]. This particular change doesn't require adding any additional stubs, but there is possibly room in the future to stub out the remaining iomem functions (or to provide mock implementations for testing), and get rid of HAS_IOMEM entirely. [1]: https://lkml.org/lkml/2020/6/30/176 [2]: https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/commit/?id=1e7468bd9d30a21e059af477106dc5588ae52dff [3]: https://www.mail-archive.com/linux-kernel@vger.kernel.org/msg1405627.html Signed-off-by: David Gow --- drivers/base/platform.c | 2 -- lib/Makefile | 2 +- 2 files changed, 1 insertion(+), 3 deletions(-) diff --git a/drivers/base/platform.c b/drivers/base/platform.c index c0d0a5490ac6..628dde6675cf 100644 --- a/drivers/base/platform.c +++ b/drivers/base/platform.c @@ -61,7 +61,6 @@ struct resource *platform_get_resource(struct platform_device *dev, } EXPORT_SYMBOL_GPL(platform_get_resource); -#ifdef CONFIG_HAS_IOMEM /** * devm_platform_get_and_ioremap_resource - call devm_ioremap_resource() for a * platform device and get resource @@ -135,7 +134,6 @@ devm_platform_ioremap_resource_byname(struct platform_device *pdev, return devm_ioremap_resource(&pdev->dev, res); } EXPORT_SYMBOL_GPL(devm_platform_ioremap_resource_byname); -#endif /* CONFIG_HAS_IOMEM */ /** * platform_get_irq_optional - get an optional IRQ for a device diff --git a/lib/Makefile b/lib/Makefile index b1c42c10073b..35c21af33b93 100644 --- a/lib/Makefile +++ b/lib/Makefile @@ -115,7 +115,7 @@ obj-y += math/ crypto/ obj-$(CONFIG_GENERIC_IOMAP) += iomap.o obj-$(CONFIG_GENERIC_PCI_IOMAP) += pci_iomap.o -obj-$(CONFIG_HAS_IOMEM) += iomap_copy.o devres.o +obj-y += iomap_copy.o devres.o obj-$(CONFIG_CHECK_SIGNATURE) += check_signature.o obj-$(CONFIG_DEBUG_LOCKING_API_SELFTESTS) += locking-selftest.o -- 2.28.0.rc0.105.gf9edc3c819-goog