From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org Received: from bombadil.infradead.org (bombadil.infradead.org [198.137.202.133]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.lore.kernel.org (Postfix) with ESMTPS id 719D0CCD189 for ; Wed, 18 Sep 2024 07:54:07 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=lists.infradead.org; s=bombadil.20210309; h=Sender:List-Subscribe:List-Help :List-Post:List-Archive:List-Unsubscribe:List-Id:Content-Transfer-Encoding: Content-Type:In-Reply-To:From:References:Cc:To:Subject:MIME-Version:Date: Message-ID:Reply-To:Content-ID:Content-Description:Resent-Date:Resent-From: Resent-Sender:Resent-To:Resent-Cc:Resent-Message-ID:List-Owner; bh=8vvDaINe/k4C7nZHDNu7iAyHGRFpVfe+nZPdNORStd4=; b=UD7y968wTlZ1SqriOGdx3VN8RK tb5dgC12n7BszAu/19eu1MWVVGVYVHnZOlloMWCIcar8eAka+ZHqOEamNaFYWrHmRfcwiwozV5hzi qaps9XWTS+NXnKA8jjycTIf6GduEr0gXuCHLFwzEDKPgf32+Bq4ciG7luRCXj3TWEJwldPic5airr u1UGRe6L3oENGoqcCh2IgFRSzKX5Sfm2B00luJXamMehBDl9uWyggt75vKOeRWw/zOnHwGJYykG9L 2dC19CCpxAODZqvlZPf6eRly90nzI+CsyOTz8vi6ymmYiWjr3CcxQG2HDPP0SIJDOT8Lp2mjoIb2A 2KKkWjGQ==; Received: from localhost ([::1] helo=bombadil.infradead.org) by bombadil.infradead.org with esmtp (Exim 4.98 #2 (Red Hat Linux)) id 1sqpVc-00000007iFf-1UcJ; Wed, 18 Sep 2024 07:53:56 +0000 Received: from mail-ej1-x62a.google.com ([2a00:1450:4864:20::62a]) by bombadil.infradead.org with esmtps (Exim 4.98 #2 (Red Hat Linux)) id 1sqpTq-00000007hlp-1xXO for linux-arm-kernel@lists.infradead.org; Wed, 18 Sep 2024 07:52:07 +0000 Received: by mail-ej1-x62a.google.com with SMTP id a640c23a62f3a-a83562f9be9so693839866b.0 for ; Wed, 18 Sep 2024 00:52:05 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=google; t=1726645924; x=1727250724; darn=lists.infradead.org; h=content-transfer-encoding:in-reply-to:autocrypt:from :content-language:references:cc:to:subject:user-agent:mime-version :date:message-id:from:to:cc:subject:date:message-id:reply-to; bh=8vvDaINe/k4C7nZHDNu7iAyHGRFpVfe+nZPdNORStd4=; b=djKIfKiAP+5j+3JcluLXF8TqNCFjmBxKLzJXaRsdj44b7S6+KKaooolE0DCI4u1d3l a8tIwD43EnqqfIG69iITxy0pewYNlffErhXdhpcFjaLUi4MUztub7TFiyXIQUUhx5hxI 7ma2RvinsWzmwK2DYsBpkAJFolnwQgatJJ9ExrK6Ajfl8SCz1NTz0hnZoeCppjpsIid6 sLP/kxSMcprrrfuokWixwy9nwoXM1+VkOKrNQLNBbT98xTXJA+taPS1/WwzfaxsLyj55 W2yK9vkYY+5erOkj1qncHntQOk2DoQv+Q3pGdT/H/s/gNkmMtJyOBNrUrtXg6ko26KWa jOaQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1726645924; x=1727250724; h=content-transfer-encoding:in-reply-to:autocrypt:from :content-language:references:cc:to:subject:user-agent:mime-version :date:message-id:x-gm-message-state:from:to:cc:subject:date :message-id:reply-to; bh=8vvDaINe/k4C7nZHDNu7iAyHGRFpVfe+nZPdNORStd4=; b=OoWEXs+VcknkG40GoVZq4v86UuVB0C/3YehullcoKx9BE7LUHYOU+4s8+dzYqDLyGd HTlEYM7K+HQWoMdgZ3ENdQtEMYESnMTzSt7/dr9vpU/FrxlwpOGK/Ve/CX6PG+lmWM2e Bii8Zl8TRSeK6MhieFvVBCNm1uW0MhYDfe5GxyjvcFjf9ubBi8+fCqYx9MrHB/xdlD3U D31o2ulo+j/6abNK0vWX8ncroUy7V36BQAWgD8zlPCS6eCUfUdDEnMgRh9dAtjdgAW08 rJMtYsyA0jAcsyiDTBifH58svDsIU3TJcnqjgksxutU5FFmLKGRwUkN+m/qmVob/JxcB WvIw== X-Forwarded-Encrypted: i=1; AJvYcCXARCpumaClA4ldCQczuShMIeNZpP3fZ+4sRxc6CrXx4WVw/xsKam6yD7NJ0blZjdEN3Q74G4NoO4rXBVtpWnF2@lists.infradead.org X-Gm-Message-State: AOJu0YwbsbTXA9sgjf7E60A7ROdHChK6tZeCTl17GGnx3ZPZOdqV6307 WEQ0w6eBztdyG3Df7YeuYmYCd1KtaOpZI6htbCnY8RHV5lNO6QeMHHVDG+K0uTU= X-Google-Smtp-Source: AGHT+IHcW32lA5QE0buPnJOwR+AEIzaY3HcYU9r7Ejo6IGud9r1krqnHTeLIcQK+fP5LNvpy3alGew== X-Received: by 2002:a17:907:72cb:b0:a8d:60e2:396b with SMTP id a640c23a62f3a-a9029678bf3mr2297919666b.65.1726645923469; Wed, 18 Sep 2024 00:52:03 -0700 (PDT) Received: from [192.168.2.177] ([207.188.162.240]) by smtp.gmail.com with ESMTPSA id a640c23a62f3a-a9060f39a8fsm549461666b.0.2024.09.18.00.52.02 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128); Wed, 18 Sep 2024 00:52:03 -0700 (PDT) Message-ID: Date: Wed, 18 Sep 2024 09:52:01 +0200 MIME-Version: 1.0 User-Agent: Mozilla Thunderbird Subject: Re: [PATCH v2 1/4] drivers: provide devm_platform_get_and_ioremap_resource_byname() To: Andrei Stefanescu , Linus Walleij , Bartosz Golaszewski , Rob Herring , Krzysztof Kozlowski , Conor Dooley , Chester Lin , Greg Kroah-Hartman , "Rafael J. Wysocki" Cc: linux-gpio@vger.kernel.org, devicetree@vger.kernel.org, linux-kernel@vger.kernel.org, linux-arm-kernel@lists.infradead.org, NXP S32 Linux Team , Krzysztof Kozlowski References: <20240913082937.444367-1-andrei.stefanescu@oss.nxp.com> <20240913082937.444367-2-andrei.stefanescu@oss.nxp.com> Content-Language: en-US, ca-ES, es-ES From: Matthias Brugger Autocrypt: addr=mbrugger@suse.com; keydata= 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 PVrr2NoUqi/bxI8fFQJD1jVj8K0= In-Reply-To: <20240913082937.444367-2-andrei.stefanescu@oss.nxp.com> Content-Type: text/plain; charset=UTF-8; format=flowed Content-Transfer-Encoding: 7bit X-CRM114-Version: 20100106-BlameMichelson ( TRE 0.8.0 (BSD) ) MR-646709E3 X-CRM114-CacheID: sfid-20240918_005206_545802_7828EE68 X-CRM114-Status: GOOD ( 22.03 ) X-BeenThere: linux-arm-kernel@lists.infradead.org X-Mailman-Version: 2.1.34 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Sender: "linux-arm-kernel" Errors-To: linux-arm-kernel-bounces+linux-arm-kernel=archiver.kernel.org@lists.infradead.org On 13/09/2024 10:29, Andrei Stefanescu wrote: > Similar to commit 890cc39a879906b63912482dfc41944579df2dc6 > ("drivers: provide devm_platform_get_and_ioremap_resource()") > add a wrapper for "platform_get_resource_byname" and > "devm_ioremap_resource". This new wrapper also returns the resource, if > any, via a pointer. > > Suggested-by: Krzysztof Kozlowski > Signed-off-by: Andrei Stefanescu > --- > drivers/base/platform.c | 28 ++++++++++++++++++++++++++++ > include/linux/platform_device.h | 13 +++++++++++++ > 2 files changed, 41 insertions(+) > > diff --git a/drivers/base/platform.c b/drivers/base/platform.c > index 4c3ee6521ba5..ab48c02fcb2c 100644 > --- a/drivers/base/platform.c > +++ b/drivers/base/platform.c > @@ -108,6 +108,34 @@ devm_platform_get_and_ioremap_resource(struct platform_device *pdev, > } > EXPORT_SYMBOL_GPL(devm_platform_get_and_ioremap_resource); > > +/** > + * devm_platform_get_and_ioremap_resource_byname - call devm_ioremap_resource() > + * for a platform device and get > + * a resource by its name instead > + * of the index I think we don't need to describe what the function does not do. With that: Reviewed-by: Matthias Brugger > + * > + * @pdev: platform device to use both for memory resource lookup as well as > + * resource management > + * @name: resource name > + * @res: optional output parameter to store a pointer to the obtained resource. > + * > + * Return: a pointer to the remapped memory or an ERR_PTR() encoded error code > + * on failure. > + */ > +void __iomem * > +devm_platform_get_and_ioremap_resource_byname(struct platform_device *pdev, > + const char *name, > + struct resource **res) > +{ > + struct resource *r; > + > + r = platform_get_resource_byname(pdev, IORESOURCE_MEM, name); > + if (res) > + *res = r; > + return devm_ioremap_resource(&pdev->dev, r); > +} > +EXPORT_SYMBOL_GPL(devm_platform_get_and_ioremap_resource_byname); > + > /** > * devm_platform_ioremap_resource - call devm_ioremap_resource() for a platform > * device > diff --git a/include/linux/platform_device.h b/include/linux/platform_device.h > index d422db6eec63..ab7f33f3c426 100644 > --- a/include/linux/platform_device.h > +++ b/include/linux/platform_device.h > @@ -68,6 +68,12 @@ platform_find_device_by_driver(struct device *start, > extern void __iomem * > devm_platform_get_and_ioremap_resource(struct platform_device *pdev, > unsigned int index, struct resource **res); > + > +extern void __iomem * > +devm_platform_get_and_ioremap_resource_byname(struct platform_device *pdev, > + const char *name, > + struct resource **res); > + > extern void __iomem * > devm_platform_ioremap_resource(struct platform_device *pdev, > unsigned int index); > @@ -83,6 +89,13 @@ devm_platform_get_and_ioremap_resource(struct platform_device *pdev, > return ERR_PTR(-EINVAL); > } > > +static inline void __iomem * > +devm_platform_get_and_ioremap_resource_byname(struct platform_device *pdev, > + const char *name, > + struct resource **res) > +{ > + return ERR_PTR(-EINVAL); > +} > > static inline void __iomem * > devm_platform_ioremap_resource(struct platform_device *pdev,