Received: by 2002:a05:7412:d8a:b0:e2:908c:2ebd with SMTP id b10csp798286rdg; Wed, 11 Oct 2023 06:02:39 -0700 (PDT) X-Google-Smtp-Source: AGHT+IEvCNBUHph4zPt2p9bEnXr5sNIrJatSqxo+OxgF6wwSEplZuUt9boABBNUm/qj3m8RRfyON X-Received: by 2002:a05:6a00:2d1e:b0:68f:bb16:d16a with SMTP id fa30-20020a056a002d1e00b0068fbb16d16amr30881234pfb.5.1697029358858; Wed, 11 Oct 2023 06:02:38 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1697029358; cv=none; d=google.com; s=arc-20160816; b=Ox7hIeTkJM6lohRSYkYEPoEq8HMydhLPJrllvkVsWU2fac5RXy98iFcVCTInkR6PjO Feh71kGiQV3IU3CSc3mnOLUxsyfxubqP8OtLpoM3lF5mk2mkLYw7N6oHvSWEi36DYq+R a6yLnhRna8HwKkFQ0UoIjC94sjy2K9dTZIeRncGCDMqapAmjDYTMB+ebK/ymScKzio9m ifOboqdLXY2QnX1u9beVb4/DY0hyarM/oF/Pxmnz47Mdnlao7mc6hIJeDewdoT2QGznY wSk+sQmSY1341bFuuozUe8zQz5r9Uc3evPxkk+QcLK8TyjVzEzGMjLRIRSrwNFIvNmgH 3PoQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:content-transfer-encoding:mime-version :references:in-reply-to:message-id:date:subject:cc:to:from :dkim-signature; bh=LxP50mjlFsla3Pz/fmyyE11r9eXmq7yiPt4F5Ys7dSE=; fh=YP/ZZen/fLhGMMezUuWB0b3Qyqd3gueBWEsOMCN9gx4=; b=aI91Y5EQqZCckKlm121p1s20xR59m/Vvh0LYoSgQh3otlzcpbFVrCNYYf08fViKX0C 6J3yc8DpK0ezUxAYiqlaCwBsF5nz7GGNJn/1ts4ltwMNXEyUdM3YBlqTjM2hMsrANmF0 lGniX0wRk0ebJaI8qZxbkPNkUf0o8X+WukyPnXaKk7RGNgcjR5v1rdagxzQmmcOfh9yx z0gYoKiugp5N+Vva03rgKwfDMoKQ8CN9Lt63TtXnJi2cJqdEstdtfZwsyaTvkuCiFsFU aRhPuOIcPkihijkbssswMjOEG4Etb6wjevNdJ5L3EFb1g/ADb8oz77y+eNf79tL1bQ1G pUcA== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@bgdev-pl.20230601.gappssmtp.com header.s=20230601 header.b=HixFp+6D; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::3:8 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org Return-Path: Received: from fry.vger.email (fry.vger.email. [2620:137:e000::3:8]) by mx.google.com with ESMTPS id y20-20020a056a00191400b0068e2d888713si12205034pfi.167.2023.10.11.06.02.38 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Wed, 11 Oct 2023 06:02:38 -0700 (PDT) Received-SPF: pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::3:8 as permitted sender) client-ip=2620:137:e000::3:8; Authentication-Results: mx.google.com; dkim=pass header.i=@bgdev-pl.20230601.gappssmtp.com header.s=20230601 header.b=HixFp+6D; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::3:8 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org Received: from out1.vger.email (depot.vger.email [IPv6:2620:137:e000::3:0]) by fry.vger.email (Postfix) with ESMTP id 5CD8E80942C2; Wed, 11 Oct 2023 06:02:29 -0700 (PDT) X-Virus-Status: Clean X-Virus-Scanned: clamav-milter 0.103.10 at fry.vger.email Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S232245AbjJKNCP (ORCPT + 99 others); Wed, 11 Oct 2023 09:02:15 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:56376 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S232165AbjJKNCN (ORCPT ); Wed, 11 Oct 2023 09:02:13 -0400 Received: from mail-wr1-x430.google.com (mail-wr1-x430.google.com [IPv6:2a00:1450:4864:20::430]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id 74E46B7 for ; Wed, 11 Oct 2023 06:02:11 -0700 (PDT) Received: by mail-wr1-x430.google.com with SMTP id ffacd0b85a97d-3296b3f03e5so4732596f8f.2 for ; Wed, 11 Oct 2023 06:02:11 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=bgdev-pl.20230601.gappssmtp.com; s=20230601; t=1697029330; x=1697634130; darn=vger.kernel.org; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:from:to:cc:subject:date :message-id:reply-to; bh=LxP50mjlFsla3Pz/fmyyE11r9eXmq7yiPt4F5Ys7dSE=; b=HixFp+6DGA75PN2s1S5OOYnodmM03iAfMTW1lZYShj/wRU7+8rOOSN1qRVIDGEfEH7 iRqfoOcS96HNdLzru+gwO5QtsfuKrug5OxjLPGXRHuIh4hpmKjaz3+0AjZXTSU9J8vRt uJp5Eh5Wl8jGYSBuv62ovY/1/op5f0Ac+ljbXqTlp1DhSZ3tjq5O8qlzHgdbMDMqQUTq 47vyMZMc+4SNf1mcSo4pUipeSLoXfaYr/SNh4uyrEhv8xCw3/PfjybOpWbdEHORz9uKs y6bL+bkRdXnr2w4G1wau5q6KIg3UdyapXi322rJels90s7In8hB+1OEwwCKGDlUO1AfD EhwA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1697029330; x=1697634130; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=LxP50mjlFsla3Pz/fmyyE11r9eXmq7yiPt4F5Ys7dSE=; b=hyTlGmbByvjXXPOtcU65COH9ooViDD1NzuzPegIGuFHyQTry5L/dw5QpqmsxTj4PTK WDGdRxmeJA0crta+T53zpCmHGSBpX7kcofggryPqV6f83H79kJBb8ny3HFRY2LZLpb9h YTplVHCzq0vwSy7JJAn4q6yv0UWuyypCfSXKcajUjcKyLpPnyxr1ZrkLRVDc5A0xBOSK dvoYBG1TWMkVwJslkeS8vXrk3ucuoNPpYwZ8CnVHct7VBbZaGa1SUFHKCeJ7Hnc/0Euh xn1XmStHNp1HijXJg9sNXcySpK+N86g4g0XKyY+j8JRdq/zZsfRJgGGK4S+Fwr6S9dd4 1zTQ== X-Gm-Message-State: AOJu0YxPUlido2FPVm+nOhUCUBsFkqLVMIeCBHEgVCLtffpneqILJYKq RdgKHkGKMvuuP7ROftu7c7ed8A== X-Received: by 2002:a05:6000:114d:b0:324:8502:6355 with SMTP id d13-20020a056000114d00b0032485026355mr17631600wrx.46.1697029329736; Wed, 11 Oct 2023 06:02:09 -0700 (PDT) Received: from brgl-uxlite.home ([2a01:cb1d:334:ac00:e551:3946:26fc:f94]) by smtp.gmail.com with ESMTPSA id s13-20020adfeccd000000b003198a9d758dsm15455375wro.78.2023.10.11.06.02.08 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Wed, 11 Oct 2023 06:02:08 -0700 (PDT) From: Bartosz Golaszewski To: Linus Walleij , Andy Shevchenko , Peter Korsgaard , Peter Rosin Cc: linux-gpio@vger.kernel.org, linux-kernel@vger.kernel.org, linux-i2c@vger.kernel.org, Bartosz Golaszewski Subject: [PATCH 1/3] gpiolib: provide gpio_device_to_device() Date: Wed, 11 Oct 2023 15:02:02 +0200 Message-Id: <20231011130204.52265-2-brgl@bgdev.pl> X-Mailer: git-send-email 2.39.2 In-Reply-To: <20231011130204.52265-1-brgl@bgdev.pl> References: <20231011130204.52265-1-brgl@bgdev.pl> MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Spam-Status: No, score=2.8 required=5.0 tests=DKIM_SIGNED,DKIM_VALID, HEADER_FROM_DIFFERENT_DOMAINS,MAILING_LIST_MULTI,RCVD_IN_SBL_CSS, SPF_HELO_NONE,SPF_PASS autolearn=no autolearn_force=no version=3.4.6 X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on fry.vger.email Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org X-Greylist: Sender passed SPF test, not delayed by milter-greylist-4.6.4 (fry.vger.email [0.0.0.0]); Wed, 11 Oct 2023 06:02:29 -0700 (PDT) X-Spam-Level: ** From: Bartosz Golaszewski There are users in the kernel who need to retrieve the address of the struct device backing the GPIO device. Currently they needlessly poke in the internals of GPIOLIB. Add a dedicated getter function. Signed-off-by: Bartosz Golaszewski --- drivers/gpio/gpiolib.c | 17 +++++++++++++++++ include/linux/gpio/driver.h | 2 ++ 2 files changed, 19 insertions(+) diff --git a/drivers/gpio/gpiolib.c b/drivers/gpio/gpiolib.c index 191f9c87b4d0..ca2b5b424284 100644 --- a/drivers/gpio/gpiolib.c +++ b/drivers/gpio/gpiolib.c @@ -1169,6 +1169,23 @@ void gpio_device_put(struct gpio_device *gdev) } EXPORT_SYMBOL_GPL(gpio_device_put); +/** + * gpio_device_to_device() - Retrieve the address of the underlying struct + * device. + * @gdev: GPIO device for which to return the address. + * + * This does not increase the reference count of the GPIO device nor the + * underlying struct device. + * + * Returns: + * Address of struct device backing this GPIO device. + */ +struct device *gpio_device_to_device(struct gpio_device *gdev) +{ + return &gdev->dev; +} +EXPORT_SYMBOL_GPL(gpio_device_to_device); + #ifdef CONFIG_GPIOLIB_IRQCHIP /* diff --git a/include/linux/gpio/driver.h b/include/linux/gpio/driver.h index f8ad7f40100c..0484bf90b25d 100644 --- a/include/linux/gpio/driver.h +++ b/include/linux/gpio/driver.h @@ -618,6 +618,8 @@ void gpio_device_put(struct gpio_device *gdev); DEFINE_FREE(gpio_device_put, struct gpio_device *, if (IS_ERR_OR_NULL(_T)) gpio_device_put(_T)); +struct device *gpio_device_to_device(struct gpio_device *gdev); + bool gpiochip_line_is_irq(struct gpio_chip *gc, unsigned int offset); int gpiochip_reqres_irq(struct gpio_chip *gc, unsigned int offset); void gpiochip_relres_irq(struct gpio_chip *gc, unsigned int offset); -- 2.39.2