From patchwork Thu Aug 29 14:37:34 2019 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Bartosz Golaszewski X-Patchwork-Id: 1155289 Return-Path: X-Original-To: incoming@patchwork.ozlabs.org Delivered-To: patchwork-incoming@bilbo.ozlabs.org Authentication-Results: ozlabs.org; spf=none (mailfrom) smtp.mailfrom=vger.kernel.org (client-ip=209.132.180.67; helo=vger.kernel.org; envelope-from=linux-gpio-owner@vger.kernel.org; receiver=) Authentication-Results: ozlabs.org; dmarc=none (p=none dis=none) header.from=bgdev.pl Authentication-Results: ozlabs.org; dkim=pass (2048-bit key; unprotected) header.d=bgdev-pl.20150623.gappssmtp.com header.i=@bgdev-pl.20150623.gappssmtp.com header.b="wUIWeajl"; dkim-atps=neutral Received: from vger.kernel.org (vger.kernel.org [209.132.180.67]) by ozlabs.org (Postfix) with ESMTP id 46K4wK1Qpsz9sNF for ; Fri, 30 Aug 2019 00:38:09 +1000 (AEST) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1727779AbfH2OiH (ORCPT ); Thu, 29 Aug 2019 10:38:07 -0400 Received: from mail-wm1-f68.google.com ([209.85.128.68]:51690 "EHLO mail-wm1-f68.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1727073AbfH2OiG (ORCPT ); Thu, 29 Aug 2019 10:38:06 -0400 Received: by mail-wm1-f68.google.com with SMTP id k1so3997318wmi.1 for ; Thu, 29 Aug 2019 07:38:05 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=bgdev-pl.20150623.gappssmtp.com; s=20150623; h=from:to:cc:subject:date:message-id:in-reply-to:references :mime-version:content-transfer-encoding; bh=YoyhpnPzVIVpxofR/lrTNbfXSivH1y110GNbQfwK7Is=; b=wUIWeajlm+pwQ3rJwb3AUTeHw2qPBY30XQR9qsbCCIoobDskJK2Vfv+2l3U08O2ZnT X1U8ohF9TtCalLsXR4ySqyTQXGN53OOQ+5NQjpGawmSu8uWs+pVWSJX62iV1+bYIehkj UBb85qDMTdyAbHz/vf2X76+eWa30vV1DdEfD0HD+egyJfwk8fTwFh/sg4EhVTU+Nqz1q wvvY6sjsPcbO97gNc9E/QWCgndsib+bFUyZPqyPVceJ1SzZOao6Ebd5SsAx689xB7ICA pVYHmjrZPO6CPwju4kZmoIAty/ZqOS+RUUqOJHerIGK9CCoKudYBWU/km0QcrCUVKkov 2YTQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:from:to:cc:subject:date:message-id:in-reply-to :references:mime-version:content-transfer-encoding; bh=YoyhpnPzVIVpxofR/lrTNbfXSivH1y110GNbQfwK7Is=; b=Edjp4akZno5oOfzeMxqoAGO92m3icGAefSxR4xJa2A2o0jQ+YUQlrPB6hevS85DdEb Mhv44ldV9fAyZW2g/yzAjagyRAJzRFIoxp68RF5WwkGBCj62g8Syjsg6bInTPrB9DP82 Y0tuAC0d2OiC5KtXGJayu1+KIEjE9njDye3bBPh4G9AQrICb1gHEUdtBPdKyVfXOO83P YQRrMGljijGVPk58j821J55uUrow13SfdSqvKz2tFV7ihcBTMuTR9bY7UXPJLNofMbQn 9mJhoIfj0GyBFFwXroE+cLu7OyBrb8x8wj02wY5WeEPHSl0tdKkvjDqfdTGINr9AUDFy +9KQ== X-Gm-Message-State: APjAAAUv1ewKMR0RMAsKJTChwI6Q1utbLF57dfn+tTddylPkYyqmESut dEhHt1w4k1RBXszcJ/3eRZ7jgXdzOmg= X-Google-Smtp-Source: APXvYqwwe3iJ7Riyj93TjIaXa7UIdIe3e1SnS40Ec1Rafqt8qLYekD3kspM1ZWU+jsQcDq4k1ZhDTw== X-Received: by 2002:a1c:a7c9:: with SMTP id q192mr11696984wme.144.1567089484914; Thu, 29 Aug 2019 07:38:04 -0700 (PDT) Received: from localhost.localdomain (amontpellier-652-1-281-69.w109-210.abo.wanadoo.fr. [109.210.96.69]) by smtp.gmail.com with ESMTPSA id g15sm3241925wrp.29.2019.08.29.07.38.03 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Thu, 29 Aug 2019 07:38:04 -0700 (PDT) From: Bartosz Golaszewski To: Jonathan Corbet , Greg Kroah-Hartman , "Rafael J . Wysocki" , Alban Bedel , Linus Walleij , Arnd Bergmann , Geert Uytterhoeven Cc: linux-doc@vger.kernel.org, linux-kernel@vger.kernel.org, linux-gpio@vger.kernel.org, Julia Lawall , Bartosz Golaszewski Subject: [PATCH 1/9] Documentation: devres: add missing entry for devm_platform_ioremap_resource() Date: Thu, 29 Aug 2019 16:37:34 +0200 Message-Id: <20190829143742.24726-2-brgl@bgdev.pl> X-Mailer: git-send-email 2.21.0 In-Reply-To: <20190829143742.24726-1-brgl@bgdev.pl> References: <20190829143742.24726-1-brgl@bgdev.pl> MIME-Version: 1.0 Sender: linux-gpio-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-gpio@vger.kernel.org From: Bartosz Golaszewski devm_platform_ioremap_resource() should be documented in devres.rst. Add the missing entry. Signed-off-by: Bartosz Golaszewski --- Documentation/driver-api/driver-model/devres.rst | 1 + 1 file changed, 1 insertion(+) diff --git a/Documentation/driver-api/driver-model/devres.rst b/Documentation/driver-api/driver-model/devres.rst index a100bef54952..8e3087662daf 100644 --- a/Documentation/driver-api/driver-model/devres.rst +++ b/Documentation/driver-api/driver-model/devres.rst @@ -316,6 +316,7 @@ IOMAP devm_ioremap_nocache() devm_ioremap_wc() devm_ioremap_resource() : checks resource, requests memory region, ioremaps + devm_platform_ioremap_resource() : calls devm_ioremap_resource() for platform device devm_iounmap() pcim_iomap() pcim_iomap_regions() : do request_region() and iomap() on multiple BARs From patchwork Thu Aug 29 14:37:35 2019 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Bartosz Golaszewski X-Patchwork-Id: 1155298 Return-Path: X-Original-To: incoming@patchwork.ozlabs.org Delivered-To: patchwork-incoming@bilbo.ozlabs.org Authentication-Results: ozlabs.org; spf=none (mailfrom) smtp.mailfrom=vger.kernel.org (client-ip=209.132.180.67; helo=vger.kernel.org; envelope-from=linux-gpio-owner@vger.kernel.org; receiver=) Authentication-Results: ozlabs.org; dmarc=none (p=none dis=none) header.from=bgdev.pl Authentication-Results: ozlabs.org; dkim=pass (2048-bit key; unprotected) header.d=bgdev-pl.20150623.gappssmtp.com header.i=@bgdev-pl.20150623.gappssmtp.com header.b="Ea683PP1"; dkim-atps=neutral Received: from vger.kernel.org (vger.kernel.org [209.132.180.67]) by ozlabs.org (Postfix) with ESMTP id 46K4xC3XrCz9sPT for ; Fri, 30 Aug 2019 00:38:55 +1000 (AEST) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1727729AbfH2OiI (ORCPT ); Thu, 29 Aug 2019 10:38:08 -0400 Received: from mail-wm1-f68.google.com ([209.85.128.68]:32916 "EHLO mail-wm1-f68.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1727735AbfH2OiI (ORCPT ); Thu, 29 Aug 2019 10:38:08 -0400 Received: by mail-wm1-f68.google.com with SMTP id r17so4315128wme.0 for ; Thu, 29 Aug 2019 07:38:06 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=bgdev-pl.20150623.gappssmtp.com; s=20150623; h=from:to:cc:subject:date:message-id:in-reply-to:references :mime-version:content-transfer-encoding; bh=CcXwQ54TS9oqYUYDALsJlErvtZdechYOTQTghcQzmo4=; b=Ea683PP1vKNCsMhfQpDj7TP/NTJiAbsJP5WCR2r/bBmHa+0/miks4QlSv9/8j9I0No pMxPhOtg+L0WmMg5EGat/zN3LVWu5yd9kttsCiCcW1K9dK2u3Qe5OXTAdz7qZQNXkI7e F5uCRbISfaYNJvCUYWun7zbLSQ237krjiZWMVrraGkQ49iP6F4gs61xEA6pBSGZMI5Vs BofhQCGSjIPFKU3XVLId8pDlTbFbP3sxi2Qn6HZ2XlI1ixApzZ93rcwXLijb1sFZCZvh RMr8eup9OG7OV9TfAxM5RsPlQDFlpLhxA6mj48RnedH58ww+geEsP1jyIuX1iXxcDNEW +SIQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:from:to:cc:subject:date:message-id:in-reply-to :references:mime-version:content-transfer-encoding; bh=CcXwQ54TS9oqYUYDALsJlErvtZdechYOTQTghcQzmo4=; b=cmqRr0SXAn5ucM6erGl6rrrSVbzFFKkj0LTxPxP8xvP/64ihOaCRCojGIkGX83OVoD 3DR/yiaJzxJGbb0rVAFEAIs4PVeg+dpCqCpWW9EUe8KthY7MCKxWtErzsAYRmbTb9ZFm 19HFD1v1LLuMkYseQDLxu8ZFzlZwttrek0e43/EXkJOVNJd0yz8UHO5qNVqYxc/NcCyh 3ClSciVFyDUxGbBOHf/1AmWx9uJuhDXY6arOTPvS7XtO+PbOOjgIuE4KrJhQcvFWwfy2 8/yEJ12ORNds4vNcNisGYFM8QX9ZHSdeIpdkhmW7tZl7IwOp6cK38J5bpS5WS+Cws7Ga Scdw== X-Gm-Message-State: APjAAAV8ViecjliklhrfW7MnjmImECRH2Auf9Rx+DqG0yMnwamg1coUe CP8FQvKMC/NSJ4NfwAhcIgYRAw== X-Google-Smtp-Source: APXvYqxd9Rq6sxgB/1L+kdjuZeO1sZ1/0JXVmhQDvYi9fvlk488g/HgijrcUVUzGXWIRMxr1QmDMZg== X-Received: by 2002:a7b:cbce:: with SMTP id n14mr11150105wmi.47.1567089485900; Thu, 29 Aug 2019 07:38:05 -0700 (PDT) Received: from localhost.localdomain (amontpellier-652-1-281-69.w109-210.abo.wanadoo.fr. [109.210.96.69]) by smtp.gmail.com with ESMTPSA id g15sm3241925wrp.29.2019.08.29.07.38.04 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Thu, 29 Aug 2019 07:38:05 -0700 (PDT) From: Bartosz Golaszewski To: Jonathan Corbet , Greg Kroah-Hartman , "Rafael J . Wysocki" , Alban Bedel , Linus Walleij , Arnd Bergmann , Geert Uytterhoeven Cc: linux-doc@vger.kernel.org, linux-kernel@vger.kernel.org, linux-gpio@vger.kernel.org, Julia Lawall , Bartosz Golaszewski Subject: [PATCH 2/9] lib: devres: prepare devm_ioremap_resource() for more variants Date: Thu, 29 Aug 2019 16:37:35 +0200 Message-Id: <20190829143742.24726-3-brgl@bgdev.pl> X-Mailer: git-send-email 2.21.0 In-Reply-To: <20190829143742.24726-1-brgl@bgdev.pl> References: <20190829143742.24726-1-brgl@bgdev.pl> MIME-Version: 1.0 Sender: linux-gpio-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-gpio@vger.kernel.org From: Bartosz Golaszewski We want to add the nocache and write-combined variants of devm_ioremap_resource(). Let's first implement __devm_ioremap_resource() which takes an additional argument type. The types are the same as for __devm_ioremap(). The existing devm_ioremap_resource() now simply calls __devm_ioremap_resource() with regular DEVM_IOREMAP type. Signed-off-by: Bartosz Golaszewski --- lib/devres.c | 47 +++++++++++++++++++++++++++-------------------- 1 file changed, 27 insertions(+), 20 deletions(-) diff --git a/lib/devres.c b/lib/devres.c index 6a0e9bd6524a..a14c727128c1 100644 --- a/lib/devres.c +++ b/lib/devres.c @@ -114,25 +114,9 @@ void devm_iounmap(struct device *dev, void __iomem *addr) } EXPORT_SYMBOL(devm_iounmap); -/** - * devm_ioremap_resource() - check, request region, and ioremap resource - * @dev: generic device to handle the resource for - * @res: resource to be handled - * - * Checks that a resource is a valid memory region, requests the memory - * region and ioremaps it. All operations are managed and will be undone - * on driver detach. - * - * Returns a pointer to the remapped memory or an ERR_PTR() encoded error code - * on failure. Usage example: - * - * res = platform_get_resource(pdev, IORESOURCE_MEM, 0); - * base = devm_ioremap_resource(&pdev->dev, res); - * if (IS_ERR(base)) - * return PTR_ERR(base); - */ -void __iomem *devm_ioremap_resource(struct device *dev, - const struct resource *res) +static void __iomem * +__devm_ioremap_resource(struct device *dev, const struct resource *res, + enum devm_ioremap_type type) { resource_size_t size; void __iomem *dest_ptr; @@ -151,7 +135,7 @@ void __iomem *devm_ioremap_resource(struct device *dev, return IOMEM_ERR_PTR(-EBUSY); } - dest_ptr = devm_ioremap(dev, res->start, size); + dest_ptr = __devm_ioremap(dev, res->start, size, type); if (!dest_ptr) { dev_err(dev, "ioremap failed for resource %pR\n", res); devm_release_mem_region(dev, res->start, size); @@ -160,6 +144,29 @@ void __iomem *devm_ioremap_resource(struct device *dev, return dest_ptr; } + +/** + * devm_ioremap_resource() - check, request region, and ioremap resource + * @dev: generic device to handle the resource for + * @res: resource to be handled + * + * Checks that a resource is a valid memory region, requests the memory + * region and ioremaps it. All operations are managed and will be undone + * on driver detach. + * + * Returns a pointer to the remapped memory or an ERR_PTR() encoded error code + * on failure. Usage example: + * + * res = platform_get_resource(pdev, IORESOURCE_MEM, 0); + * base = devm_ioremap_resource(&pdev->dev, res); + * if (IS_ERR(base)) + * return PTR_ERR(base); + */ +void __iomem *devm_ioremap_resource(struct device *dev, + const struct resource *res) +{ + return __devm_ioremap_resource(dev, res, DEVM_IOREMAP); +} EXPORT_SYMBOL(devm_ioremap_resource); /* From patchwork Thu Aug 29 14:37:36 2019 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Bartosz Golaszewski X-Patchwork-Id: 1155297 Return-Path: X-Original-To: incoming@patchwork.ozlabs.org Delivered-To: patchwork-incoming@bilbo.ozlabs.org Authentication-Results: ozlabs.org; spf=none (mailfrom) smtp.mailfrom=vger.kernel.org (client-ip=209.132.180.67; helo=vger.kernel.org; envelope-from=linux-gpio-owner@vger.kernel.org; receiver=) Authentication-Results: ozlabs.org; dmarc=none (p=none dis=none) header.from=bgdev.pl Authentication-Results: ozlabs.org; dkim=pass (2048-bit key; unprotected) header.d=bgdev-pl.20150623.gappssmtp.com header.i=@bgdev-pl.20150623.gappssmtp.com header.b="Jl/KOc3c"; dkim-atps=neutral Received: from vger.kernel.org (vger.kernel.org [209.132.180.67]) by ozlabs.org (Postfix) with ESMTP id 46K4xB4fVPz9sPS for ; Fri, 30 Aug 2019 00:38:54 +1000 (AEST) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1727904AbfH2Oix (ORCPT ); Thu, 29 Aug 2019 10:38:53 -0400 Received: from mail-wm1-f67.google.com ([209.85.128.67]:35733 "EHLO mail-wm1-f67.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1727794AbfH2OiJ (ORCPT ); Thu, 29 Aug 2019 10:38:09 -0400 Received: by mail-wm1-f67.google.com with SMTP id l2so4148236wmg.0 for ; Thu, 29 Aug 2019 07:38:07 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=bgdev-pl.20150623.gappssmtp.com; s=20150623; h=from:to:cc:subject:date:message-id:in-reply-to:references :mime-version:content-transfer-encoding; bh=ixvkB7V43hKnmpubcJyfS56WaYg/zqMW9mNeR7sGzjo=; b=Jl/KOc3c/tWm63gxFSTjAo6PpfQzPmcUricXPWQVOnWUWtbA5tgLe8IG2LXNlz4c8W Ost5l50DOWqngoyPIPKalqof732a4QL679hkjpvIXoS7Qa4UwihRay+lui8HJGFE9jHg Z9CZ+mNBGNyc6KrrhnMjK6xHSx/25+A5LMc3//YEUindtzCENKZM5bedwY4GQRbSOka1 s3rB2PkLMxP0jxvmN6OGq8rkVXGch4UD8nhXWKp1P1tt3s+CIxITJdI+wnu01pOR88RR Ks3m4R1XMFUTJt2Z+5Fg2lRELsLyNiOdhUdAlkFF4NwncUGRRk7YQJOs+GmUEI1/P1rh M8Gg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:from:to:cc:subject:date:message-id:in-reply-to :references:mime-version:content-transfer-encoding; bh=ixvkB7V43hKnmpubcJyfS56WaYg/zqMW9mNeR7sGzjo=; b=bUh0QdE/Se0tVsGKKcIFglS1va0g8qoNSZx81rd+YC0Wo/vIP5Z/G/YaAKHUW9yflv pToYlNHeNuiCwWVUlOwog78uTQ9EPeNbCNuWn2l1gkUxnbmL36TGvW1oxNTN9BBHHHJ0 oU0tszBmTYpBYEF+NY8hJiamMgpAFgLk2Cz6YmQ/7VO9m/ccqccusc4HgB08+aPSRGqE wn3T7jRtgojSte9sjtFYOyf6g9M/Oh0rt8+l18j1lYqeYVi199hT9XysGMFe5v8yl6rs 8owfGfIKiCaHbAl8/rpuVUpyMBLqkXePAk+aJDuFdZVGf4KEmiwW4cCOM+A0kXaqHG8Q 0oCQ== X-Gm-Message-State: APjAAAUCvOGI2euqyJhwPDN5CXHGC3223pwl2Rth/BrATCpApzW+QXDS yTdMCivbMgntF59OjKIBB4detg== X-Google-Smtp-Source: APXvYqzDBd56BXi2us4MHfKcSnqb+9nXEN8jrVhAop9QN4hsEPKbDM6lYwB97IRyI27AVhXumdDmkQ== X-Received: by 2002:a1c:f20a:: with SMTP id s10mr12396085wmc.145.1567089486874; Thu, 29 Aug 2019 07:38:06 -0700 (PDT) Received: from localhost.localdomain (amontpellier-652-1-281-69.w109-210.abo.wanadoo.fr. [109.210.96.69]) by smtp.gmail.com with ESMTPSA id g15sm3241925wrp.29.2019.08.29.07.38.05 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Thu, 29 Aug 2019 07:38:06 -0700 (PDT) From: Bartosz Golaszewski To: Jonathan Corbet , Greg Kroah-Hartman , "Rafael J . Wysocki" , Alban Bedel , Linus Walleij , Arnd Bergmann , Geert Uytterhoeven Cc: linux-doc@vger.kernel.org, linux-kernel@vger.kernel.org, linux-gpio@vger.kernel.org, Julia Lawall , Bartosz Golaszewski Subject: [PATCH 3/9] lib: devres: provide new variants for devm_ioremap_resource() Date: Thu, 29 Aug 2019 16:37:36 +0200 Message-Id: <20190829143742.24726-4-brgl@bgdev.pl> X-Mailer: git-send-email 2.21.0 In-Reply-To: <20190829143742.24726-1-brgl@bgdev.pl> References: <20190829143742.24726-1-brgl@bgdev.pl> MIME-Version: 1.0 Sender: linux-gpio-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-gpio@vger.kernel.org From: Bartosz Golaszewski Provide two new variants of devm_ioremap_resource() - one for nocache and one for write-combined ioremap. Signed-off-by: Bartosz Golaszewski --- .../driver-api/driver-model/devres.rst | 2 ++ include/linux/device.h | 4 +++ lib/devres.c | 29 +++++++++++++++++++ 3 files changed, 35 insertions(+) diff --git a/Documentation/driver-api/driver-model/devres.rst b/Documentation/driver-api/driver-model/devres.rst index 8e3087662daf..20c4be0389ab 100644 --- a/Documentation/driver-api/driver-model/devres.rst +++ b/Documentation/driver-api/driver-model/devres.rst @@ -316,6 +316,8 @@ IOMAP devm_ioremap_nocache() devm_ioremap_wc() devm_ioremap_resource() : checks resource, requests memory region, ioremaps + devm_ioremap_resource_nocache() + devm_ioremap_resource_wc() devm_platform_ioremap_resource() : calls devm_ioremap_resource() for platform device devm_iounmap() pcim_iomap() diff --git a/include/linux/device.h b/include/linux/device.h index 6717adee33f0..e8aa916e8eb2 100644 --- a/include/linux/device.h +++ b/include/linux/device.h @@ -710,6 +710,10 @@ extern void devm_free_pages(struct device *dev, unsigned long addr); void __iomem *devm_ioremap_resource(struct device *dev, const struct resource *res); +void __iomem *devm_ioremap_resource_nocache(struct device *dev, + const struct resource *res); +void __iomem *devm_ioremap_resource_wc(struct device *dev, + const struct resource *res); void __iomem *devm_of_iomap(struct device *dev, struct device_node *node, int index, diff --git a/lib/devres.c b/lib/devres.c index a14c727128c1..f1297bcc8891 100644 --- a/lib/devres.c +++ b/lib/devres.c @@ -169,6 +169,35 @@ void __iomem *devm_ioremap_resource(struct device *dev, } EXPORT_SYMBOL(devm_ioremap_resource); +/** + * devm_ioremap_resource_nocache() - nocache variant of devm_ioremap_resource() + * @dev: generic device to handle the resource for + * @res: resource to be handled + * + * Returns a pointer to the remapped memory or an ERR_PTR() encoded error code + * on failure. Usage example: + */ +void __iomem *devm_ioremap_resource_nocache(struct device *dev, + const struct resource *res) +{ + return __devm_ioremap_resource(dev, res, DEVM_IOREMAP_NC); +} + +/** + * devm_ioremap_resource_wc() - write-combined variant of + * devm_ioremap_resource() + * @dev: generic device to handle the resource for + * @res: resource to be handled + * + * Returns a pointer to the remapped memory or an ERR_PTR() encoded error code + * on failure. Usage example: + */ +void __iomem *devm_ioremap_resource_wc(struct device *dev, + const struct resource *res) +{ + return __devm_ioremap_resource(dev, res, DEVM_IOREMAP_WC); +} + /* * devm_of_iomap - Requests a resource and maps the memory mapped IO * for a given device_node managed by a given device From patchwork Thu Aug 29 14:37:37 2019 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Bartosz Golaszewski X-Patchwork-Id: 1155296 Return-Path: X-Original-To: incoming@patchwork.ozlabs.org Delivered-To: patchwork-incoming@bilbo.ozlabs.org Authentication-Results: ozlabs.org; spf=none (mailfrom) smtp.mailfrom=vger.kernel.org (client-ip=209.132.180.67; helo=vger.kernel.org; envelope-from=linux-gpio-owner@vger.kernel.org; receiver=) Authentication-Results: ozlabs.org; dmarc=none (p=none dis=none) header.from=bgdev.pl Authentication-Results: ozlabs.org; dkim=pass (2048-bit key; unprotected) header.d=bgdev-pl.20150623.gappssmtp.com header.i=@bgdev-pl.20150623.gappssmtp.com header.b="j3iL5AxS"; dkim-atps=neutral Received: from vger.kernel.org (vger.kernel.org [209.132.180.67]) by ozlabs.org (Postfix) with ESMTP id 46K4x935TWz9sPM for ; Fri, 30 Aug 2019 00:38:53 +1000 (AEST) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1727735AbfH2Oik (ORCPT ); Thu, 29 Aug 2019 10:38:40 -0400 Received: from mail-wr1-f67.google.com ([209.85.221.67]:45090 "EHLO mail-wr1-f67.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1727891AbfH2OiL (ORCPT ); Thu, 29 Aug 2019 10:38:11 -0400 Received: by mail-wr1-f67.google.com with SMTP id q12so3650158wrj.12 for ; Thu, 29 Aug 2019 07:38:08 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=bgdev-pl.20150623.gappssmtp.com; s=20150623; h=from:to:cc:subject:date:message-id:in-reply-to:references :mime-version:content-transfer-encoding; bh=EJfPP5atfV3eSCTszpyCebUCVFcxH3I0X3/v6tzHHPs=; b=j3iL5AxS+QuxlgiwfzFmqxtAw+l/kQVAB7MwNil4brsvAXADxL7z5aJnpDcN94+t4s s2o3tlk9Z1I1/NNZTiNbVwSnOeBqf0SjJCdHNE6SMHT+5SLGSve2aypUMjograedaUnB vBFpjGwrYU3P+HPS2LKSxAHIFXNjSF3dfSrnNdbNHvhLy9q6dPdoApjonGwYtGg1tLJN tgN0LAy69Xqh1FYkumNu9ZkbHIAzuv55QV7HUH4V93vEx8CqIMV3Venxtm89gN7/glZr RXY49S0kinnUKz1FRF1AlH/lEAD0AV54LwTcB2pXINIpgp3rIGU+sdkSbA4YqgA54sNA CtwA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:from:to:cc:subject:date:message-id:in-reply-to :references:mime-version:content-transfer-encoding; bh=EJfPP5atfV3eSCTszpyCebUCVFcxH3I0X3/v6tzHHPs=; b=EnWSthPFodvp98irLSascyeTl9HigCHQLtQNpecEfAt/KM/WH/i7SeQg2C82+YyLqd Kky0SejOzjydvDnll/4obVLySuHjtGQkUhveOL35GEVnMtbHcO+F0uuv/7vAqj8tm52s jBh3V7VxT3LZT8oSu/IZoDH7S2PDEQKMCsxAGyUvGZ5SiW1jiT+vvzXEYghzOMrUehyC 0Kz5ThMSr3jMGfjbG0QLPj3bo1duD8uG5W9ynEyKrn5tQ6xGnpBeR/ZGTUvBwLCRbGyB HfvSoYz6jyiBpvNyqRqjJyOe8k81IcISDT0SRdocJ1dkcZoSk2BAiR9ros0jL6NYp13k xaSA== X-Gm-Message-State: APjAAAX68a8iux+E+pV9Xsn3WtvU7QRyC3LSu7pX7QxcyGmCJCC48vBv KnbvJqh7qmp8YqsDLPhYK0wDwZM0CdY= X-Google-Smtp-Source: APXvYqw4L8vlTt1pO01RoDKqoT98oWK/sBx0v1htwPizOMNtq/RhGrNoXKy2m8Tm2p6sqYoZMXFduQ== X-Received: by 2002:a5d:68cd:: with SMTP id p13mr3892995wrw.18.1567089488082; Thu, 29 Aug 2019 07:38:08 -0700 (PDT) Received: from localhost.localdomain (amontpellier-652-1-281-69.w109-210.abo.wanadoo.fr. [109.210.96.69]) by smtp.gmail.com with ESMTPSA id g15sm3241925wrp.29.2019.08.29.07.38.07 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Thu, 29 Aug 2019 07:38:07 -0700 (PDT) From: Bartosz Golaszewski To: Jonathan Corbet , Greg Kroah-Hartman , "Rafael J . Wysocki" , Alban Bedel , Linus Walleij , Arnd Bergmann , Geert Uytterhoeven Cc: linux-doc@vger.kernel.org, linux-kernel@vger.kernel.org, linux-gpio@vger.kernel.org, Julia Lawall , Bartosz Golaszewski Subject: [PATCH 4/9] drivers: provide new variants of devm_platform_ioremap_resource() Date: Thu, 29 Aug 2019 16:37:37 +0200 Message-Id: <20190829143742.24726-5-brgl@bgdev.pl> X-Mailer: git-send-email 2.21.0 In-Reply-To: <20190829143742.24726-1-brgl@bgdev.pl> References: <20190829143742.24726-1-brgl@bgdev.pl> MIME-Version: 1.0 Sender: linux-gpio-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-gpio@vger.kernel.org From: Bartosz Golaszewski Provide two new variants of devm_platform_ioremap_resource() - one for nocache and one for write-combined ioremap. Move the core functionality into a separate static function - __devm_platform_ioremap_resource() - that takes an additional type argument. Signed-off-by: Bartosz Golaszewski --- .../driver-api/driver-model/devres.rst | 2 + drivers/base/platform.c | 70 +++++++++++++++++-- include/linux/platform_device.h | 6 ++ 3 files changed, 73 insertions(+), 5 deletions(-) diff --git a/Documentation/driver-api/driver-model/devres.rst b/Documentation/driver-api/driver-model/devres.rst index 20c4be0389ab..37d10e5cc44c 100644 --- a/Documentation/driver-api/driver-model/devres.rst +++ b/Documentation/driver-api/driver-model/devres.rst @@ -319,6 +319,8 @@ IOMAP devm_ioremap_resource_nocache() devm_ioremap_resource_wc() devm_platform_ioremap_resource() : calls devm_ioremap_resource() for platform device + devm_platform_ioremap_resource_nocache() + devm_platform_ioremap_resource_wc() devm_iounmap() pcim_iomap() pcim_iomap_regions() : do request_region() and iomap() on multiple BARs diff --git a/drivers/base/platform.c b/drivers/base/platform.c index ec974ba9c0c4..4191e776ebae 100644 --- a/drivers/base/platform.c +++ b/drivers/base/platform.c @@ -79,6 +79,37 @@ struct resource *platform_get_resource(struct platform_device *dev, } EXPORT_SYMBOL_GPL(platform_get_resource); +#ifdef CONFIG_HAS_IOMEM +enum { + IOREMAP_TYPE_NONE, + IOREMAP_TYPE_NOCACHE, + IOREMAP_TYPE_WC, +}; + +static void __iomem * +__devm_platform_ioremap_resource(struct platform_device *pdev, + unsigned int index, int type) +{ + struct resource *res = platform_get_resource(pdev, + IORESOURCE_MEM, index); + struct device *dev = &pdev->dev; + void __iomem *addr = NULL; + + switch (type) { + case IOREMAP_TYPE_NONE: + addr = devm_ioremap_resource(dev, res); + break; + case IOREMAP_TYPE_NOCACHE: + addr = devm_ioremap_resource_nocache(dev, res); + break; + case IOREMAP_TYPE_WC: + addr = devm_ioremap_resource_wc(dev, res); + break; + } + + return addr; +} + /** * devm_platform_ioremap_resource - call devm_ioremap_resource() for a platform * device @@ -87,16 +118,45 @@ EXPORT_SYMBOL_GPL(platform_get_resource); * resource management * @index: resource index */ -#ifdef CONFIG_HAS_IOMEM void __iomem *devm_platform_ioremap_resource(struct platform_device *pdev, unsigned int index) { - struct resource *res; - - res = platform_get_resource(pdev, IORESOURCE_MEM, index); - return devm_ioremap_resource(&pdev->dev, res); + return __devm_platform_ioremap_resource(pdev, index, IOREMAP_TYPE_NONE); } EXPORT_SYMBOL_GPL(devm_platform_ioremap_resource); + +/** + * devm_platform_ioremap_resource_nocache - nocache variant of + * devm_platform_ioremap_resource() + * + * @pdev: platform device to use both for memory resource lookup as well as + * resource management + * @index: resource index + */ +void __iomem * +devm_platform_ioremap_resource_nocache(struct platform_device *pdev, + unsigned int index) +{ + return __devm_platform_ioremap_resource(pdev, index, + IOREMAP_TYPE_NOCACHE); +} +EXPORT_SYMBOL_GPL(devm_platform_ioremap_resource_nocache); + +/** + * devm_platform_ioremap_resource_wc - write-combined variant of + * devm_platform_ioremap_resource() + * + * @pdev: platform device to use both for memory resource lookup as well as + * resource management + * @index: resource index + */ +void __iomem *devm_platform_ioremap_resource_wc(struct platform_device *pdev, + unsigned int index) +{ + return __devm_platform_ioremap_resource(pdev, index, IOREMAP_TYPE_WC); +} +EXPORT_SYMBOL_GPL(devm_platform_ioremap_resource_wc); + #endif /* CONFIG_HAS_IOMEM */ /** diff --git a/include/linux/platform_device.h b/include/linux/platform_device.h index 9bc36b589827..00ae0679396e 100644 --- a/include/linux/platform_device.h +++ b/include/linux/platform_device.h @@ -54,6 +54,12 @@ extern struct resource *platform_get_resource(struct platform_device *, extern void __iomem * devm_platform_ioremap_resource(struct platform_device *pdev, unsigned int index); +extern void __iomem * +devm_platform_ioremap_resource_nocache(struct platform_device *pdev, + unsigned int index); +extern void __iomem * +devm_platform_ioremap_resource_wc(struct platform_device *pdev, + unsigned int index); extern int platform_get_irq(struct platform_device *, unsigned int); extern int platform_irq_count(struct platform_device *); extern struct resource *platform_get_resource_byname(struct platform_device *, From patchwork Thu Aug 29 14:37:38 2019 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Bartosz Golaszewski X-Patchwork-Id: 1155295 Return-Path: X-Original-To: incoming@patchwork.ozlabs.org Delivered-To: patchwork-incoming@bilbo.ozlabs.org Authentication-Results: ozlabs.org; spf=none (mailfrom) smtp.mailfrom=vger.kernel.org (client-ip=209.132.180.67; helo=vger.kernel.org; envelope-from=linux-gpio-owner@vger.kernel.org; receiver=) Authentication-Results: ozlabs.org; dmarc=none (p=none dis=none) header.from=bgdev.pl Authentication-Results: ozlabs.org; dkim=pass (2048-bit key; unprotected) header.d=bgdev-pl.20150623.gappssmtp.com header.i=@bgdev-pl.20150623.gappssmtp.com header.b="JVWTA4rK"; dkim-atps=neutral Received: from vger.kernel.org (vger.kernel.org [209.132.180.67]) by ozlabs.org (Postfix) with ESMTP id 46K4x83t11z9sDB for ; Fri, 30 Aug 2019 00:38:52 +1000 (AEST) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1728122AbfH2Oik (ORCPT ); Thu, 29 Aug 2019 10:38:40 -0400 Received: from mail-wm1-f65.google.com ([209.85.128.65]:32920 "EHLO mail-wm1-f65.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1727908AbfH2OiK (ORCPT ); Thu, 29 Aug 2019 10:38:10 -0400 Received: by mail-wm1-f65.google.com with SMTP id r17so4315267wme.0 for ; Thu, 29 Aug 2019 07:38:09 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=bgdev-pl.20150623.gappssmtp.com; s=20150623; h=from:to:cc:subject:date:message-id:in-reply-to:references :mime-version:content-transfer-encoding; bh=qlsO4luZGA7xdDBq4p1qMUU3oONF/sHFPT7E7FVYQM0=; b=JVWTA4rK9yfsAnkd3/S2TmsnSXoQp9poW2HhblLsu22DFOsV+yqUFeLk2fRTnYl0lC u5SIGOt47o5hojZpQvhjh2PHkLq+5PLZAYvyidjM2zQRRpJBCUNXkcGQMREulGvG1rH/ V991n+oPSv1cCNWA+XxrEMXwmIRz8gaDu8sAnBmby7W4XcugWL7Bd/gJAmH6vBE9SdB4 NgU1MKfTZ9+pBL6jFkWH3yvbid1FPef5dqdfQA5zi8JKQ8EhfHehDnv38o5d4mFWN5RB 02yOrR7VTBYCpmBfgl4fObQfg6UnXq8UTOgNfMl7Lv1diu5S7ygDetAcUUBoLFnOii+P mZMA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:from:to:cc:subject:date:message-id:in-reply-to :references:mime-version:content-transfer-encoding; bh=qlsO4luZGA7xdDBq4p1qMUU3oONF/sHFPT7E7FVYQM0=; b=eOwBs+APEACBM0vQHXvsump4azTD0zs3784LxiyYcymkuKSBIdSZj/v21gqwEXRGR8 PvfOAvLMvLn9s78VeqrFRJpfILaHMHuVcdhqd1rcTbR3wZ3a34Xu93EY9ZxADt1dwnkc JHRlZcDfXpqT1znxqQEgyf4iB5RhWgFT82H0ZpaeKiY5FwFJtycF3dJ/nyQw2chjzVjb yw4yf/fvQkdJJ5IxsNWn+7J0tJ3MWN/YrOQ9gEhREgU4n9XQNWw7zVXKcB4qOAFEnItf jC6LJrBIPoqbSiAetxznwmdiw7Z9OnYu/5LNixVxmq6zL6xcuizYgeCkQDfwsog3IRz0 Hqlg== X-Gm-Message-State: APjAAAUTZXC05NlUu8Jc+WQQpCI6wc/eh4mbaW2h+MSL5totndxc9QCW Iy/TLqkeppAZWHWRNbrarP49jw== X-Google-Smtp-Source: APXvYqwqhVBmVgrfpSIbnESiSa5F2MHb7ql3NpNi0FVVtwKiErBDLaoIJzfK/GhBfhv8sCTxpxQkaQ== X-Received: by 2002:a1c:750f:: with SMTP id o15mr12108340wmc.131.1567089489097; Thu, 29 Aug 2019 07:38:09 -0700 (PDT) Received: from localhost.localdomain (amontpellier-652-1-281-69.w109-210.abo.wanadoo.fr. [109.210.96.69]) by smtp.gmail.com with ESMTPSA id g15sm3241925wrp.29.2019.08.29.07.38.08 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Thu, 29 Aug 2019 07:38:08 -0700 (PDT) From: Bartosz Golaszewski To: Jonathan Corbet , Greg Kroah-Hartman , "Rafael J . Wysocki" , Alban Bedel , Linus Walleij , Arnd Bergmann , Geert Uytterhoeven Cc: linux-doc@vger.kernel.org, linux-kernel@vger.kernel.org, linux-gpio@vger.kernel.org, Julia Lawall , Bartosz Golaszewski Subject: [PATCH 5/9] gpio: em: use devm_platform_ioremap_resource_nocache() Date: Thu, 29 Aug 2019 16:37:38 +0200 Message-Id: <20190829143742.24726-6-brgl@bgdev.pl> X-Mailer: git-send-email 2.21.0 In-Reply-To: <20190829143742.24726-1-brgl@bgdev.pl> References: <20190829143742.24726-1-brgl@bgdev.pl> MIME-Version: 1.0 Sender: linux-gpio-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-gpio@vger.kernel.org From: Bartosz Golaszewski Use the new devm_platform_ioremap_resource_nocache() helper for memory range mapping instead of devm_ioremap_nocache() combined with a call to platform_get_resource(). Signed-off-by: Bartosz Golaszewski --- drivers/gpio/gpio-em.c | 22 +++++++++------------- 1 file changed, 9 insertions(+), 13 deletions(-) diff --git a/drivers/gpio/gpio-em.c b/drivers/gpio/gpio-em.c index a87951293aaa..0f4f5e11278a 100644 --- a/drivers/gpio/gpio-em.c +++ b/drivers/gpio/gpio-em.c @@ -269,7 +269,7 @@ static void em_gio_irq_domain_remove(void *data) static int em_gio_probe(struct platform_device *pdev) { struct em_gio_priv *p; - struct resource *io[2], *irq[2]; + struct resource *irq[2]; struct gpio_chip *gpio_chip; struct irq_chip *irq_chip; const char *name = dev_name(&pdev->dev); @@ -284,25 +284,21 @@ static int em_gio_probe(struct platform_device *pdev) platform_set_drvdata(pdev, p); spin_lock_init(&p->sense_lock); - io[0] = platform_get_resource(pdev, IORESOURCE_MEM, 0); - io[1] = platform_get_resource(pdev, IORESOURCE_MEM, 1); irq[0] = platform_get_resource(pdev, IORESOURCE_IRQ, 0); irq[1] = platform_get_resource(pdev, IORESOURCE_IRQ, 1); - if (!io[0] || !io[1] || !irq[0] || !irq[1]) { - dev_err(&pdev->dev, "missing IRQ or IOMEM\n"); + if (!irq[0] || !irq[1]) { + dev_err(&pdev->dev, "missing IRQ resources\n"); return -EINVAL; } - p->base0 = devm_ioremap_nocache(&pdev->dev, io[0]->start, - resource_size(io[0])); - if (!p->base0) - return -ENOMEM; + p->base0 = devm_platform_ioremap_resource_nocache(pdev, 0); + if (IS_ERR(p->base0)) + return PTR_ERR(p->base0); - p->base1 = devm_ioremap_nocache(&pdev->dev, io[1]->start, - resource_size(io[1])); - if (!p->base1) - return -ENOMEM; + p->base1 = devm_platform_ioremap_resource_nocache(pdev, 1); + if (IS_ERR(p->base1)) + return PTR_ERR(p->base1); if (of_property_read_u32(pdev->dev.of_node, "ngpios", &ngpios)) { dev_err(&pdev->dev, "Missing ngpios OF property\n"); From patchwork Thu Aug 29 14:37:39 2019 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Bartosz Golaszewski X-Patchwork-Id: 1155292 Return-Path: X-Original-To: incoming@patchwork.ozlabs.org Delivered-To: patchwork-incoming@bilbo.ozlabs.org Authentication-Results: ozlabs.org; spf=none (mailfrom) smtp.mailfrom=vger.kernel.org (client-ip=209.132.180.67; helo=vger.kernel.org; envelope-from=linux-gpio-owner@vger.kernel.org; receiver=) Authentication-Results: ozlabs.org; dmarc=none (p=none dis=none) header.from=bgdev.pl Authentication-Results: ozlabs.org; dkim=pass (2048-bit key; unprotected) header.d=bgdev-pl.20150623.gappssmtp.com header.i=@bgdev-pl.20150623.gappssmtp.com header.b="EcliQ+vO"; dkim-atps=neutral Received: from vger.kernel.org (vger.kernel.org [209.132.180.67]) by ozlabs.org (Postfix) with ESMTP id 46K4wb4QDFz9sML for ; Fri, 30 Aug 2019 00:38:23 +1000 (AEST) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1727958AbfH2OiO (ORCPT ); Thu, 29 Aug 2019 10:38:14 -0400 Received: from mail-wm1-f68.google.com ([209.85.128.68]:38835 "EHLO mail-wm1-f68.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1727940AbfH2OiM (ORCPT ); Thu, 29 Aug 2019 10:38:12 -0400 Received: by mail-wm1-f68.google.com with SMTP id o184so4136673wme.3 for ; Thu, 29 Aug 2019 07:38:10 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=bgdev-pl.20150623.gappssmtp.com; s=20150623; h=from:to:cc:subject:date:message-id:in-reply-to:references :mime-version:content-transfer-encoding; bh=u8Ebk7QWN+LKifxQ3AQ5Izn0oOsKOrrKqkWevkW/A00=; b=EcliQ+vOmLp3SblL1HLYAa8iir+biJd+OuLdMsEJFq9COfCD7D0KPcbfpzpd4s3622 h3BFVLHJEYzZOhzbRW2DmbiY9b05s0etnxIm1RMbEYLcyHvvHY8I9W1PvblE1bLP2eRj yFKZ1WL9uSrCLhsYv9+dBIat5Fida7JjXleICprcESjn8+zj+aHaS32gauGTBgKgWR7c thEy5wAK3ZO0qcoZlvaS34DRBe/JVWG3N6q1TYz6zUviwAk7qTJoBWELthZUjperax30 SGsXChmwh9WqBrQjk2+JYk6cYmT/cGHpKdB+6vDDRXbdwEVHXXZC4U61HiCVQqhLvVdu kabQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:from:to:cc:subject:date:message-id:in-reply-to :references:mime-version:content-transfer-encoding; bh=u8Ebk7QWN+LKifxQ3AQ5Izn0oOsKOrrKqkWevkW/A00=; b=JFdGqHNLMQyq9W9dI2vT187uc+HYJ/TZrO8YmTKIfLEXPCEruQL/mSXfSexSaNQfNe YarDjLX42f4uWtcmH4BsMiiJTCcmNzZwRhtVcSOFL29LSQSMJSBFzamqOOYyw2dODPrt gIAIupoCAL+w865sfCiOtkkkQy/XRgXVOd6Q01CNDPH0i/Ayb0P1qnVXMg0GDuOlmzjZ DtM4JMciWL/dHAezTaGKuGPft7AD50dnu054W/pCijJAPyWGcbgFnAdgiNI7ep5AJ9Iw 50KbDTmQsSkZFKUXpEGhyD2eJb90sujJID2+ZoY+vB4ONmrCzYbTmTfVssTCTCigqa8s 7TEQ== X-Gm-Message-State: APjAAAUb7JoIiGlraNma9zcwY08Apwgyl/8HIXXut8RFXrhqPnE99MLm kLfBqxw7UaiJNbSnvn0qWRqJ6A== X-Google-Smtp-Source: APXvYqyZPJd9llioD6vMb/qjxHg/Ic6BXTeCoVOfUAhQH3SeuOwXjfdHya2X39hvaybpiH5Oblo68A== X-Received: by 2002:a7b:c933:: with SMTP id h19mr11498491wml.177.1567089490210; Thu, 29 Aug 2019 07:38:10 -0700 (PDT) Received: from localhost.localdomain (amontpellier-652-1-281-69.w109-210.abo.wanadoo.fr. [109.210.96.69]) by smtp.gmail.com with ESMTPSA id g15sm3241925wrp.29.2019.08.29.07.38.09 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Thu, 29 Aug 2019 07:38:09 -0700 (PDT) From: Bartosz Golaszewski To: Jonathan Corbet , Greg Kroah-Hartman , "Rafael J . Wysocki" , Alban Bedel , Linus Walleij , Arnd Bergmann , Geert Uytterhoeven Cc: linux-doc@vger.kernel.org, linux-kernel@vger.kernel.org, linux-gpio@vger.kernel.org, Julia Lawall , Bartosz Golaszewski Subject: [PATCH 6/9] gpio: ath79: use devm_platform_ioremap_resource_nocache() Date: Thu, 29 Aug 2019 16:37:39 +0200 Message-Id: <20190829143742.24726-7-brgl@bgdev.pl> X-Mailer: git-send-email 2.21.0 In-Reply-To: <20190829143742.24726-1-brgl@bgdev.pl> References: <20190829143742.24726-1-brgl@bgdev.pl> MIME-Version: 1.0 Sender: linux-gpio-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-gpio@vger.kernel.org From: Bartosz Golaszewski Use the new devm_platform_ioremap_resource_nocache() helper for memory range mapping instead of devm_ioremap_nocache() combined with a call to platform_get_resource(). Signed-off-by: Bartosz Golaszewski --- drivers/gpio/gpio-ath79.c | 10 +++------- 1 file changed, 3 insertions(+), 7 deletions(-) diff --git a/drivers/gpio/gpio-ath79.c b/drivers/gpio/gpio-ath79.c index f1a5ea9b3de2..c2c5d7dd2575 100644 --- a/drivers/gpio/gpio-ath79.c +++ b/drivers/gpio/gpio-ath79.c @@ -226,7 +226,6 @@ static int ath79_gpio_probe(struct platform_device *pdev) struct device_node *np = dev->of_node; struct ath79_gpio_ctrl *ctrl; struct gpio_irq_chip *girq; - struct resource *res; u32 ath79_gpio_count; bool oe_inverted; int err; @@ -256,12 +255,9 @@ static int ath79_gpio_probe(struct platform_device *pdev) return -EINVAL; } - res = platform_get_resource(pdev, IORESOURCE_MEM, 0); - if (!res) - return -EINVAL; - ctrl->base = devm_ioremap_nocache(dev, res->start, resource_size(res)); - if (!ctrl->base) - return -ENOMEM; + ctrl->base = devm_platform_ioremap_resource_nocache(pdev, 0); + if (IS_ERR(ctrl->base)) + return PTR_ERR(ctrl->base); raw_spin_lock_init(&ctrl->lock); err = bgpio_init(&ctrl->gc, dev, 4, From patchwork Thu Aug 29 14:37:40 2019 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Bartosz Golaszewski X-Patchwork-Id: 1155293 Return-Path: X-Original-To: incoming@patchwork.ozlabs.org Delivered-To: patchwork-incoming@bilbo.ozlabs.org Authentication-Results: ozlabs.org; spf=none (mailfrom) smtp.mailfrom=vger.kernel.org (client-ip=209.132.180.67; helo=vger.kernel.org; envelope-from=linux-gpio-owner@vger.kernel.org; receiver=) Authentication-Results: ozlabs.org; dmarc=none (p=none dis=none) header.from=bgdev.pl Authentication-Results: ozlabs.org; dkim=pass (2048-bit key; unprotected) header.d=bgdev-pl.20150623.gappssmtp.com header.i=@bgdev-pl.20150623.gappssmtp.com header.b="OHA6ZMLq"; dkim-atps=neutral Received: from vger.kernel.org (vger.kernel.org [209.132.180.67]) by ozlabs.org (Postfix) with ESMTP id 46K4wk3XgHz9sNm for ; Fri, 30 Aug 2019 00:38:30 +1000 (AEST) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1727994AbfH2OiO (ORCPT ); Thu, 29 Aug 2019 10:38:14 -0400 Received: from mail-wm1-f65.google.com ([209.85.128.65]:53711 "EHLO mail-wm1-f65.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1727958AbfH2OiN (ORCPT ); Thu, 29 Aug 2019 10:38:13 -0400 Received: by mail-wm1-f65.google.com with SMTP id 10so3984006wmp.3 for ; Thu, 29 Aug 2019 07:38:11 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=bgdev-pl.20150623.gappssmtp.com; s=20150623; h=from:to:cc:subject:date:message-id:in-reply-to:references :mime-version:content-transfer-encoding; bh=rgfAZbIXAtNJprrW3SR0FliLWlC8AUtP5591I4qRBtY=; b=OHA6ZMLqe/FTFL2xNuAXTK+TBgAKyi+kqTTKdnKXX1LoJLLUaqfpaIDH80qz5G53lj QOcrfIIT8VtYsVJ+uzUnnAr9ePxDPZ0U3SmOPSVHkGdgKBcBKeQkagn5uIrnyXbsXZ2S pk+qv3B052Jku7CFwX9WO3ZSvzmGoA4DQKbVXfjF0RIb8e/i5HDsR/eZFIxK8GhUnG+g veayX5RYCXnynnzo2FraoNmeHpg83yGR5Q+9H9MXM7iDDwOgDTQ1WkzUYSZEnFhEC8r2 2zFaWnuJWNAoJPB6E2ykJqQ4W/wzlViTWG1Xw9469/MIt0hutmGw9FrgF+l4L7Zw7Cw8 WYVg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:from:to:cc:subject:date:message-id:in-reply-to :references:mime-version:content-transfer-encoding; bh=rgfAZbIXAtNJprrW3SR0FliLWlC8AUtP5591I4qRBtY=; b=gw+XpDIdv8JHTzyC9mq+EQl3qO3PRf8AxCMaKC5E1JonU2xanYqmMGg0V4TXPY91Sc 7eCx/AwChZE5fPlgY9qp1lZt6rO1Pz/akkIt+itclzw+RPsIzjSuWJTnvm5qj1CcG3SB l8es6L0fHBo/3RWh7IJbg2CuhC2kEmtvYRYGwqnfOil/nl2jGXko8DiVGDL6S09eZVlk ZKWp40Jz7NDfaSnhpIx5OUxigsVXetGmrZmW63swKaDI3gpugzZz5ZqgHUfbYROAqrV+ oCUwtIStSUagHClJAc3Rzg6A1Mo89Nuh5X6fdjxLVluqe7bviI4qFMv2SKgPKSHvt5DE YRbw== X-Gm-Message-State: APjAAAVVn5iAf5sY6KaoftbVcQ40z/DoNj6Ajwg1xJ9vKUeVC8oRwh4N gwtDsEFDuoeg4FsEXlRnOIXOYg== X-Google-Smtp-Source: APXvYqx+mVH1b84lDgcY8MIGudq3AQBFxK3n8O8b4xXyWDNctXSvSXo7mIwyPPqoRATFo5+lYE7kaQ== X-Received: by 2002:a7b:c3d4:: with SMTP id t20mr11652532wmj.71.1567089491346; Thu, 29 Aug 2019 07:38:11 -0700 (PDT) Received: from localhost.localdomain (amontpellier-652-1-281-69.w109-210.abo.wanadoo.fr. [109.210.96.69]) by smtp.gmail.com with ESMTPSA id g15sm3241925wrp.29.2019.08.29.07.38.10 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Thu, 29 Aug 2019 07:38:10 -0700 (PDT) From: Bartosz Golaszewski To: Jonathan Corbet , Greg Kroah-Hartman , "Rafael J . Wysocki" , Alban Bedel , Linus Walleij , Arnd Bergmann , Geert Uytterhoeven Cc: linux-doc@vger.kernel.org, linux-kernel@vger.kernel.org, linux-gpio@vger.kernel.org, Julia Lawall , Bartosz Golaszewski Subject: [PATCH 7/9] gpio: htc-egpio: use devm_platform_ioremap_resource_nocache() Date: Thu, 29 Aug 2019 16:37:40 +0200 Message-Id: <20190829143742.24726-8-brgl@bgdev.pl> X-Mailer: git-send-email 2.21.0 In-Reply-To: <20190829143742.24726-1-brgl@bgdev.pl> References: <20190829143742.24726-1-brgl@bgdev.pl> MIME-Version: 1.0 Sender: linux-gpio-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-gpio@vger.kernel.org From: Bartosz Golaszewski Use the new devm_platform_ioremap_resource_nocache() helper for memory range mapping instead of devm_ioremap_nocache() combined with a call to platform_get_resource(). Signed-off-by: Bartosz Golaszewski --- drivers/gpio/gpio-htc-egpio.c | 13 ++++++------- 1 file changed, 6 insertions(+), 7 deletions(-) diff --git a/drivers/gpio/gpio-htc-egpio.c b/drivers/gpio/gpio-htc-egpio.c index 9d3ac51a765c..7d8548e03226 100644 --- a/drivers/gpio/gpio-htc-egpio.c +++ b/drivers/gpio/gpio-htc-egpio.c @@ -295,14 +295,13 @@ static int __init egpio_probe(struct platform_device *pdev) ei->chained_irq = res->start; /* Map egpio chip into virtual address space. */ - res = platform_get_resource(pdev, IORESOURCE_MEM, 0); - if (!res) + ei->base_addr = devm_platform_ioremap_resource_nocache(pdev, 0); + if (IS_ERR(ei->base_addr)) { + ret = PTR_ERR(ei->base_addr); goto fail; - ei->base_addr = devm_ioremap_nocache(&pdev->dev, res->start, - resource_size(res)); - if (!ei->base_addr) - goto fail; - pr_debug("EGPIO phys=%08x virt=%p\n", (u32)res->start, ei->base_addr); + } + pr_debug("EGPIO phys=%08x virt=%p\n", + virt_to_phys(ei->base_addr), ei->base_addr); if ((pdata->bus_width != 16) && (pdata->bus_width != 32)) goto fail; From patchwork Thu Aug 29 14:37:41 2019 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Bartosz Golaszewski X-Patchwork-Id: 1155294 Return-Path: X-Original-To: incoming@patchwork.ozlabs.org Delivered-To: patchwork-incoming@bilbo.ozlabs.org Authentication-Results: ozlabs.org; spf=none (mailfrom) smtp.mailfrom=vger.kernel.org (client-ip=209.132.180.67; helo=vger.kernel.org; envelope-from=linux-gpio-owner@vger.kernel.org; receiver=) Authentication-Results: ozlabs.org; dmarc=none (p=none dis=none) header.from=bgdev.pl Authentication-Results: ozlabs.org; dkim=pass (2048-bit key; unprotected) header.d=bgdev-pl.20150623.gappssmtp.com header.i=@bgdev-pl.20150623.gappssmtp.com header.b="goztYIZL"; dkim-atps=neutral Received: from vger.kernel.org (vger.kernel.org [209.132.180.67]) by ozlabs.org (Postfix) with ESMTP id 46K4wr6K10z9sPM for ; Fri, 30 Aug 2019 00:38:36 +1000 (AEST) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1728068AbfH2Oia (ORCPT ); Thu, 29 Aug 2019 10:38:30 -0400 Received: from mail-wm1-f67.google.com ([209.85.128.67]:52617 "EHLO mail-wm1-f67.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1727791AbfH2OiO (ORCPT ); Thu, 29 Aug 2019 10:38:14 -0400 Received: by mail-wm1-f67.google.com with SMTP id t17so3998272wmi.2 for ; Thu, 29 Aug 2019 07:38:13 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=bgdev-pl.20150623.gappssmtp.com; s=20150623; h=from:to:cc:subject:date:message-id:in-reply-to:references :mime-version:content-transfer-encoding; bh=0MCSm3PwhLeVZkLTF5crXAvat1wv6lwOmpNcM2aNtkA=; b=goztYIZL91fhNd7Q0e26K36T37XhDMhY9r1mWBqLUP77R6Fca/IWYIh+pU/sYypGqo AIG/cl+IQsJe92KLYVP7WYP+kzkACZsg7acw0iy+0WZx20r844FMHvhbeOKMJMv/dhP9 9u74rEDU8/G1ig3+CkThjhsIivLAjuuwAx7sWCga3Rd+lrYBmBgJvR0GvuzZxKjMHpt3 2z2HfVRae22htdzMQrUZx+GKJ+yvVnsBwQJf9J34KxztRFUCbnTCI3NZoNbexHBsqm8u 07vKriwVFgPbjcGmcHNRWIhhOl7N8L8er8KugnPooYnDy99GFGGcfC/UVPfNEEUFCQrr Y1qg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:from:to:cc:subject:date:message-id:in-reply-to :references:mime-version:content-transfer-encoding; bh=0MCSm3PwhLeVZkLTF5crXAvat1wv6lwOmpNcM2aNtkA=; b=OcwugYkTVr1ySm8KWE8HaHwu6Q4cn9CYBbqn6MTcZV+S2WOkEc475OVjNBNewUFwdT jlb01rzhh77lvA2L7iN1Dfca0jVBXOQF0B/OAwLaEvZhlR2X6thDKt7TQUL0adbZF33z 750C67Xr//692xTbGdAhHu4xNAfWYf4rXEcdbNINtwAmMIcaYkXbXJq3werrEvwPYGKI tyEuKiX6lBRsBDzqTSIJAiSUg5PRWYL3hfv2wVw0bRTizPVlBneajZMOFVz1gxAqebOs h0G61fJyTcRjc3bqcs6lu4aCbfrCi55sUSU3+Sbidj3vAPz5y+C1Snm/MyjirC7WgSDB 1MJQ== X-Gm-Message-State: APjAAAUccOopFaSxEytaRKuLfyvX/r+WHrx1yJjqmGPxGusGOlU3kXyA wdXLYf5ZJTgxl4Hmka98KWhHPw== X-Google-Smtp-Source: APXvYqx9ZRM6jA7Xi+MPZwFdPZ5Ui7XDERLRN1q9Q5CY6ZlmVljwQAixjqmpTApxKlfRhibyItWZGQ== X-Received: by 2002:a05:600c:254e:: with SMTP id e14mr1004275wma.150.1567089492368; Thu, 29 Aug 2019 07:38:12 -0700 (PDT) Received: from localhost.localdomain (amontpellier-652-1-281-69.w109-210.abo.wanadoo.fr. [109.210.96.69]) by smtp.gmail.com with ESMTPSA id g15sm3241925wrp.29.2019.08.29.07.38.11 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Thu, 29 Aug 2019 07:38:11 -0700 (PDT) From: Bartosz Golaszewski To: Jonathan Corbet , Greg Kroah-Hartman , "Rafael J . Wysocki" , Alban Bedel , Linus Walleij , Arnd Bergmann , Geert Uytterhoeven Cc: linux-doc@vger.kernel.org, linux-kernel@vger.kernel.org, linux-gpio@vger.kernel.org, Julia Lawall , Bartosz Golaszewski Subject: [PATCH 8/9] gpio: xgene: use devm_platform_ioremap_resource_nocache() Date: Thu, 29 Aug 2019 16:37:41 +0200 Message-Id: <20190829143742.24726-9-brgl@bgdev.pl> X-Mailer: git-send-email 2.21.0 In-Reply-To: <20190829143742.24726-1-brgl@bgdev.pl> References: <20190829143742.24726-1-brgl@bgdev.pl> MIME-Version: 1.0 Sender: linux-gpio-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-gpio@vger.kernel.org From: Bartosz Golaszewski Use the new devm_platform_ioremap_resource_nocache() helper for memory range mapping instead of devm_ioremap_nocache() combined with a call to platform_get_resource(). Signed-off-by: Bartosz Golaszewski --- drivers/gpio/gpio-xgene.c | 14 +++----------- 1 file changed, 3 insertions(+), 11 deletions(-) diff --git a/drivers/gpio/gpio-xgene.c b/drivers/gpio/gpio-xgene.c index 2918363884de..559b8e53c2e0 100644 --- a/drivers/gpio/gpio-xgene.c +++ b/drivers/gpio/gpio-xgene.c @@ -155,7 +155,6 @@ static SIMPLE_DEV_PM_OPS(xgene_gpio_pm, xgene_gpio_suspend, xgene_gpio_resume); static int xgene_gpio_probe(struct platform_device *pdev) { - struct resource *res; struct xgene_gpio *gpio; int err = 0; @@ -165,16 +164,9 @@ static int xgene_gpio_probe(struct platform_device *pdev) goto err; } - res = platform_get_resource(pdev, IORESOURCE_MEM, 0); - if (!res) { - err = -EINVAL; - goto err; - } - - gpio->base = devm_ioremap_nocache(&pdev->dev, res->start, - resource_size(res)); - if (!gpio->base) { - err = -ENOMEM; + gpio->base = devm_platform_ioremap_resource_nocache(pdev, 0); + if (IS_ERR(gpio->base)) { + err = PTR_ERR(gpio->base); goto err; } From patchwork Thu Aug 29 14:37:42 2019 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Bartosz Golaszewski X-Patchwork-Id: 1155291 Return-Path: X-Original-To: incoming@patchwork.ozlabs.org Delivered-To: patchwork-incoming@bilbo.ozlabs.org Authentication-Results: ozlabs.org; spf=none (mailfrom) smtp.mailfrom=vger.kernel.org (client-ip=209.132.180.67; helo=vger.kernel.org; envelope-from=linux-gpio-owner@vger.kernel.org; receiver=) Authentication-Results: ozlabs.org; dmarc=none (p=none dis=none) header.from=bgdev.pl Authentication-Results: ozlabs.org; dkim=pass (2048-bit key; unprotected) header.d=bgdev-pl.20150623.gappssmtp.com header.i=@bgdev-pl.20150623.gappssmtp.com header.b="Gn5aTJaW"; dkim-atps=neutral Received: from vger.kernel.org (vger.kernel.org [209.132.180.67]) by ozlabs.org (Postfix) with ESMTP id 46K4wV2kvRz9sDB for ; Fri, 30 Aug 2019 00:38:18 +1000 (AEST) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1727956AbfH2OiQ (ORCPT ); Thu, 29 Aug 2019 10:38:16 -0400 Received: from mail-wm1-f67.google.com ([209.85.128.67]:38841 "EHLO mail-wm1-f67.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1727986AbfH2OiP (ORCPT ); Thu, 29 Aug 2019 10:38:15 -0400 Received: by mail-wm1-f67.google.com with SMTP id o184so4136838wme.3 for ; Thu, 29 Aug 2019 07:38:14 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=bgdev-pl.20150623.gappssmtp.com; s=20150623; h=from:to:cc:subject:date:message-id:in-reply-to:references :mime-version:content-transfer-encoding; bh=wvm5jhfZdBAjiVI0fMQa3wyfT8pVsOoRMdM2UQ5EVAc=; b=Gn5aTJaW0lhbDQWyYFqDBkrdNnFy2pGrPIg9uFcSU0QDrKLANwjVThGZPuAKLE95y6 PXgyzsxKFqZzbh35PUrCyLRVoJ6/TM5gO3zvjyXoIGe2F+a44h45x4ntyUH2R9K/8cer BeLiukfqMO5AwUsbhhH+vawbOADQgyod20IzadiyA9ufUf4775gkItruHuFcBiZ+BFVO OfDktx/jfQqMWmlIB0pvioN4mmJ2KnMbs3Z4fCMXu7cQr+0MgZ6j1tz2YEHxpUare8iy RpQ8bZzMq7EY7hZuuUVYJ0ULMsjbZIwfeG16WX1G2RrY2rGVkY5CnetDJwPeb1Lms6T5 VNvg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:from:to:cc:subject:date:message-id:in-reply-to :references:mime-version:content-transfer-encoding; bh=wvm5jhfZdBAjiVI0fMQa3wyfT8pVsOoRMdM2UQ5EVAc=; b=C9c1i0yOCNGLYYL4rySv42nAvtIGaF8VJuVnzhTOXGEts1Bp4yNv7Fiv1rHFqWjb+G wikq+tOusTVBHFVQ8b1IWKwFCWC46E7Zp6dBEy5Of4ynLFEj5jbwlzbWzUSveyDbb/oj KYYf4ytS3PWuNCCk6fO/RyXB8GthYL7g280kpT85K9iTbwXKMMwRQMrivUKI1v+QSI/W tz3EEwB+ROc/pWZYOWjShzcLnbg7grsnDiCLyPmHDuM/eRT3f0L9o2X4W5yv5eyf+Z6T /vZQPl5bezITD7NcN/iFCDnd1z4ogvjRQv6E53eFetgFCyyvFOKqcHmkNyJbZEvtcVDF k3aA== X-Gm-Message-State: APjAAAWH4qgS245qx5819ikLdO5I3+exLvJ7fFKL9xBIanms05G9kGFf 04nX1/3ED4HQX7h3NR6M0afR3A== X-Google-Smtp-Source: APXvYqyIGe38MXQx8iatCV54dE9UCR5qWcasMJ6961l0x1sY1UGN6+ZmbFEIsoWLeRqF7iEbp26wzA== X-Received: by 2002:a7b:cbce:: with SMTP id n14mr11150614wmi.47.1567089493399; Thu, 29 Aug 2019 07:38:13 -0700 (PDT) Received: from localhost.localdomain (amontpellier-652-1-281-69.w109-210.abo.wanadoo.fr. [109.210.96.69]) by smtp.gmail.com with ESMTPSA id g15sm3241925wrp.29.2019.08.29.07.38.12 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Thu, 29 Aug 2019 07:38:12 -0700 (PDT) From: Bartosz Golaszewski To: Jonathan Corbet , Greg Kroah-Hartman , "Rafael J . Wysocki" , Alban Bedel , Linus Walleij , Arnd Bergmann , Geert Uytterhoeven Cc: linux-doc@vger.kernel.org, linux-kernel@vger.kernel.org, linux-gpio@vger.kernel.org, Julia Lawall , Bartosz Golaszewski Subject: [PATCH 9/9] misc: sram: use devm_platform_ioremap_resource_wc() Date: Thu, 29 Aug 2019 16:37:42 +0200 Message-Id: <20190829143742.24726-10-brgl@bgdev.pl> X-Mailer: git-send-email 2.21.0 In-Reply-To: <20190829143742.24726-1-brgl@bgdev.pl> References: <20190829143742.24726-1-brgl@bgdev.pl> MIME-Version: 1.0 Sender: linux-gpio-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-gpio@vger.kernel.org From: Bartosz Golaszewski Use the new devm_platform_ioremap_resource_wc() helper instead of devm_ioremap_wc() combinded with a call to platform_get_resource(). Also use devm_platform_ioremap_resource() where applicable. Signed-off-by: Bartosz Golaszewski --- drivers/misc/sram.c | 28 ++++++++-------------------- 1 file changed, 8 insertions(+), 20 deletions(-) diff --git a/drivers/misc/sram.c b/drivers/misc/sram.c index f30448bf3a63..6c1a23cb3e8c 100644 --- a/drivers/misc/sram.c +++ b/drivers/misc/sram.c @@ -340,8 +340,6 @@ static const struct of_device_id sram_dt_ids[] = { static int sram_probe(struct platform_device *pdev) { struct sram_dev *sram; - struct resource *res; - size_t size; int ret; int (*init_func)(void); @@ -351,25 +349,14 @@ static int sram_probe(struct platform_device *pdev) sram->dev = &pdev->dev; - res = platform_get_resource(pdev, IORESOURCE_MEM, 0); - if (!res) { - dev_err(sram->dev, "found no memory resource\n"); - return -EINVAL; - } - - size = resource_size(res); - - if (!devm_request_mem_region(sram->dev, res->start, size, pdev->name)) { - dev_err(sram->dev, "could not request region for resource\n"); - return -EBUSY; - } - if (of_property_read_bool(pdev->dev.of_node, "no-memory-wc")) - sram->virt_base = devm_ioremap(sram->dev, res->start, size); + sram->virt_base = devm_platform_ioremap_resource(pdev, 0); else - sram->virt_base = devm_ioremap_wc(sram->dev, res->start, size); - if (!sram->virt_base) - return -ENOMEM; + sram->virt_base = devm_platform_ioremap_resource_wc(pdev, 0); + if (IS_ERR(sram->virt_base)) { + dev_err(&pdev->dev, "could not map SRAM registers\n"); + return PTR_ERR(sram->virt_base); + } sram->pool = devm_gen_pool_create(sram->dev, ilog2(SRAM_GRANULARITY), NUMA_NO_NODE, NULL); @@ -382,7 +369,8 @@ static int sram_probe(struct platform_device *pdev) else clk_prepare_enable(sram->clk); - ret = sram_reserve_regions(sram, res); + ret = sram_reserve_regions(sram, + platform_get_resource(pdev, IORESOURCE_MEM, 0)); if (ret) goto err_disable_clk;