From patchwork Fri Oct 6 13:44:25 2023 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Patchwork-Submitter: =?utf-8?q?Duje_Mihanovi=C4=87?= X-Patchwork-Id: 149250 Return-Path: Delivered-To: ouuuleilei@gmail.com Received: by 2002:a59:a888:0:b0:403:3b70:6f57 with SMTP id x8csp342049vqo; Fri, 6 Oct 2023 06:46:08 -0700 (PDT) X-Google-Smtp-Source: AGHT+IFtjeZxjHrt4Vae2bxj0qUgW89WybGnr3/myt+HgPvviUBeqnn61Qe1bnxDr+HLiIXI7ad9 X-Received: by 2002:a05:6a00:1788:b0:68b:e6e0:5047 with SMTP id s8-20020a056a00178800b0068be6e05047mr9883887pfg.14.1696599967674; Fri, 06 Oct 2023 06:46:07 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1696599967; cv=none; d=google.com; s=arc-20160816; b=VC/mtAoR1aA6PZB70irFuT4JoNKjrLThgpFDUmYui/07hDjhjC3+5bcPKlTMGKnUWC YEOPFtRjjJzwrgrttNipg0edtV8oZ+Da7quS008IVxSjQcYPSVpK8IoC7Nbrx8lOfjI6 TnJYGjFmw/acqtP5R56PXkOC4RI4bsm0CasIDdw5o8oyP7YeD8MEauKWQ92Jk6BRH6NS KxzO2tnO0nzcvwmO65/nr9xZ2Kr6Jkd8nSLBWW/lgJGkTd9R9BAXCbMEqfYN79DyMdqo 0ICoXgSQvrDzJItftKmq9TNkcpBabiJyxDiUUT5fnuwOK037gkOm/wpqrf4KXzAXSKOa 5HVQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:cc:to:in-reply-to:references:message-id :content-transfer-encoding:mime-version:subject:date:from; bh=0ul4Dcwn/qrbnKRLlbzoY/4NkcTfJ5kMr1KWIKxHQkY=; fh=H4D8raVEE9ToK4xcGS9/Pnvmhs2QUzCYuQTuaKubzik=; b=oWh43SW5XgRniqfcHZ4P7hc9FMZTnXZcJdXUEeJSUwRpkUpHfLUa8JxD7/v59Od24n JoForlUTyTBmilZDRy2Lu2dGSovm/KCHgEtqJOtim4V7V6Z/F8glD2nyQAAGn0du+vMV Z8HuNzs8oPRr0nZoGXvt3aBRw+E5TD6CBHwFTPYHBphO3RCDjyz/B6IPFYzRFHEzv5dj NW5sFiCbfhmBTVvXVe0IUAhmH9/MwJEeYPMEEA7RoXHflvidDF/jUdGiO1sYE5TJdY3v Wa6V4Jvnuon9d+KRmmiulZyr3bh5fgN1S5c52yZsmkNGKQcvZrRmLiZK9mu+ClE4SBPU bVVg== ARC-Authentication-Results: i=1; mx.google.com; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.36 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org Received: from pete.vger.email (pete.vger.email. [23.128.96.36]) by mx.google.com with ESMTPS id f18-20020a056a001ad200b0068fdb060072si1504463pfv.341.2023.10.06.06.46.07 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Fri, 06 Oct 2023 06:46:07 -0700 (PDT) Received-SPF: pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.36 as permitted sender) client-ip=23.128.96.36; Authentication-Results: mx.google.com; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.36 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 pete.vger.email (Postfix) with ESMTP id 3F7738029B49; Fri, 6 Oct 2023 06:46:02 -0700 (PDT) X-Virus-Status: Clean X-Virus-Scanned: clamav-milter 0.103.10 at pete.vger.email Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S232490AbjJFNpT (ORCPT + 18 others); Fri, 6 Oct 2023 09:45:19 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:57854 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S232449AbjJFNpO (ORCPT ); Fri, 6 Oct 2023 09:45:14 -0400 Received: from mx.skole.hr (mx1.hosting.skole.hr [161.53.165.185]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id CF4FA9E; Fri, 6 Oct 2023 06:45:13 -0700 (PDT) Received: from mx1.hosting.skole.hr (localhost.localdomain [127.0.0.1]) by mx.skole.hr (mx.skole.hr) with ESMTP id 41B5882B97; Fri, 6 Oct 2023 15:45:12 +0200 (CEST) From: =?utf-8?q?Duje_Mihanovi=C4=87?= Date: Fri, 06 Oct 2023 15:44:25 +0200 Subject: [PATCH RFT v6 1/6] ARM: pxa: Convert Spitz OHCI to GPIO descriptors MIME-Version: 1.0 Message-Id: <20231006-pxa-gpio-v6-1-981b4910d599@skole.hr> References: <20231006-pxa-gpio-v6-0-981b4910d599@skole.hr> In-Reply-To: <20231006-pxa-gpio-v6-0-981b4910d599@skole.hr> To: Daniel Mack , Haojian Zhuang , Robert Jarzmik , Russell King , Alan Stern , Greg Kroah-Hartman , Linus Walleij , Bartosz Golaszewski , Andy Shevchenko , Dmitry Torokhov , Mark Brown Cc: linux-arm-kernel@lists.infradead.org, linux-kernel@vger.kernel.org, linux-usb@vger.kernel.org, linux-gpio@vger.kernel.org, linux-input@vger.kernel.org, linux-spi@vger.kernel.org, =?utf-8?q?Duje_Miha?= =?utf-8?q?novi=C4=87?= X-Mailer: b4 0.12.3 X-Developer-Signature: v=1; a=openpgp-sha256; l=2825; i=duje.mihanovic@skole.hr; h=from:subject:message-id; bh=83Eh/XeouG3djPuV6SU4ku4ywPzL4rSBMiJSWNnIES8=; b=owEBbQKS/ZANAwAIAZoRnrBCLZbhAcsmYgBlIA9d/ifr6EYbRBD0a3oFzegjlCJTxVHzSrE3y ucTRNISdWqJAjMEAAEIAB0WIQRT351NnD/hEPs2LXiaEZ6wQi2W4QUCZSAPXQAKCRCaEZ6wQi2W 4Qe3D/9b8gr0CCu78e3DUUkDFnzL5bxgHiQNOr5O83OpO2uA7XBFeUvvQIoPlh7MoQ2etBBRdP3 SEix4sJpkzf+4naq+asLagujGKKTacWwJVVLJeeSHpWsRbjhvO31TBO1bcmRq8hdPYa7dj7Bl5S 1Cxb9FsbPKOUeS7QvJ9W4+yxqoDKQkw2/joElIo3JeLb0W7d9a8FbbqxvJq2nw2GNL+xknQhOnq HSMHlQJEBJd4sQHQ8ty4HB3fdo4H7Z9REGnu+/ey3jKtpQC1hzsph+mGrlZ8JMdZTZFeRw7QCtf R1lSVDoL2YqD7djNHfLF4d3q1cWIDkletqT0vVeGrnMht3Ls888rZvDxhgsB3ckQOo45HK0Vnqu 654ByV6M1f+UHwQwOK9GvDLVrArrxjNJTICyBJONvmCiOwf6ZoR3XvVd9femOYUbvbTQpIU9Hdh V6TJHsqwHb6enT6v5zFXu+dhbh+kIoz/wvhPk289Cn3vAWuIjxQt4VL+xvhctDxaqhP2VG3n6KQ IzTgUR2UzqhH/ldMoukJD1XKvLT1SVPkpNMjKM+pxv9ENKzUQaKuzyoSrMjaR1p86P4IErBKPXx AWVTrnkg9rpMLsZCwqm+U0mMXLKnTTjV90KgC7uwxF5TOugLeDWIKjUVi7Ef5uI8kQE4Y4+4lPH OJmvgo77Zd1t0CA== X-Developer-Key: i=duje.mihanovic@skole.hr; a=openpgp; fpr=53DF9D4D9C3FE110FB362D789A119EB0422D96E1 X-Spam-Status: No, score=2.8 required=5.0 tests=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 pete.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 (pete.vger.email [0.0.0.0]); Fri, 06 Oct 2023 06:46:02 -0700 (PDT) X-Spam-Level: ** X-getmail-retrieved-from-mailbox: INBOX X-GMAIL-THRID: 1779014007334492434 X-GMAIL-MSGID: 1779014007334492434 Sharp's Spitz board still uses the legacy GPIO interface for controlling a GPIO pin related to the USB host controller. Convert this function to use the new GPIO descriptor interface. Reviewed-by: Linus Walleij Signed-off-by: Duje Mihanović --- arch/arm/mach-pxa/spitz.c | 13 ++++++------- drivers/usb/host/ohci-pxa27x.c | 7 +++++++ 2 files changed, 13 insertions(+), 7 deletions(-) diff --git a/arch/arm/mach-pxa/spitz.c b/arch/arm/mach-pxa/spitz.c index cc691b199429..535e2b2e997b 100644 --- a/arch/arm/mach-pxa/spitz.c +++ b/arch/arm/mach-pxa/spitz.c @@ -649,23 +649,22 @@ static inline void spitz_mmc_init(void) {} * USB Host ******************************************************************************/ #if defined(CONFIG_USB_OHCI_HCD) || defined(CONFIG_USB_OHCI_HCD_MODULE) +GPIO_LOOKUP_SINGLE(spitz_usb_host_gpio_table, "pxa27x-ohci", "gpio-pxa", + SPITZ_GPIO_USB_HOST, "usb-host", GPIO_ACTIVE_LOW); + static int spitz_ohci_init(struct device *dev) { - int err; - - err = gpio_request(SPITZ_GPIO_USB_HOST, "USB_HOST"); - if (err) - return err; + gpiod_add_lookup_table(&spitz_usb_host_gpio_table); /* Only Port 2 is connected, setup USB Port 2 Output Control Register */ UP2OCR = UP2OCR_HXS | UP2OCR_HXOE | UP2OCR_DPPDE | UP2OCR_DMPDE; - return gpio_direction_output(SPITZ_GPIO_USB_HOST, 1); + return 0; } static void spitz_ohci_exit(struct device *dev) { - gpio_free(SPITZ_GPIO_USB_HOST); + gpiod_remove_lookup_table(&spitz_usb_host_gpio_table); } static struct pxaohci_platform_data spitz_ohci_platform_data = { diff --git a/drivers/usb/host/ohci-pxa27x.c b/drivers/usb/host/ohci-pxa27x.c index 357d9aee38a3..7f04421c80d6 100644 --- a/drivers/usb/host/ohci-pxa27x.c +++ b/drivers/usb/host/ohci-pxa27x.c @@ -121,6 +121,7 @@ struct pxa27x_ohci { void __iomem *mmio_base; struct regulator *vbus[3]; bool vbus_enabled[3]; + struct gpio_desc *usb_host; }; #define to_pxa27x_ohci(hcd) (struct pxa27x_ohci *)(hcd_to_ohci(hcd)->priv) @@ -447,6 +448,10 @@ static int ohci_hcd_pxa27x_probe(struct platform_device *pdev) pxa_ohci = to_pxa27x_ohci(hcd); pxa_ohci->clk = usb_clk; pxa_ohci->mmio_base = (void __iomem *)hcd->regs; + pxa_ohci->usb_host = devm_gpiod_get_optional(&pdev->dev, "usb-host", GPIOD_OUT_LOW); + if (IS_ERR(pxa_ohci->usb_host)) + return dev_err_probe(&pdev->dev, PTR_ERR(pxa_ohci->usb_host), + "failed to get USB host GPIO\n"); for (i = 0; i < 3; ++i) { char name[6]; @@ -512,6 +517,8 @@ static void ohci_hcd_pxa27x_remove(struct platform_device *pdev) for (i = 0; i < 3; ++i) pxa27x_ohci_set_vbus_power(pxa_ohci, i, false); + gpiod_put(pxa_ohci->usb_host); + usb_put_hcd(hcd); } From patchwork Fri Oct 6 13:44:26 2023 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Patchwork-Submitter: =?utf-8?q?Duje_Mihanovi=C4=87?= X-Patchwork-Id: 149246 Return-Path: Delivered-To: ouuuleilei@gmail.com Received: by 2002:a59:a888:0:b0:403:3b70:6f57 with SMTP id x8csp341851vqo; Fri, 6 Oct 2023 06:45:48 -0700 (PDT) X-Google-Smtp-Source: AGHT+IGXtyJkfZ7h0x2eSwYBWVC7hBi1pZPR/Oe/ZgK5GJ9jQ/v96zEkPLhgLnMlm+Vf4b66pgtg X-Received: by 2002:a05:6a00:1595:b0:68f:cb69:8e66 with SMTP id u21-20020a056a00159500b0068fcb698e66mr8459261pfk.15.1696599948416; Fri, 06 Oct 2023 06:45:48 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1696599948; cv=none; d=google.com; s=arc-20160816; b=G+/227z+6jTHNO61h4cPi9fzbAS+TEVdSpP9pf5vDqDB3frCx/INuOXsKM5PG5mGxy Z/glxHHrjdPsSEv2Um/2V9b9XhRhgZbD9SnOpO4m5EoGhWonDkj7/FpQOM/feXSO31Fz ODhvgoYBfQmf7nMmJemOSYRYw+8qbvgtMQzy0TqGupItr+jMPk8A7gg6jaLZlUX6KLYm mh9vbdxDTawQpHGLtG3Xx0BBK8SdL6CczAS7M1R/Spn1CAFrMEN7C67IXZmQ5ogI/3iE daHCisOrYpm9j3nkZLRsQ1ietdxmkevDQRORFiZfBWCF0pDdHg8xSckzIgsbPn3crxxL dHaw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:cc:to:in-reply-to:references:message-id :content-transfer-encoding:mime-version:subject:date:from; bh=VTZTIQ/zVA8d44/3FhQUdgzVpyBDjFM2lvdl1Wr+2Zk=; fh=H4D8raVEE9ToK4xcGS9/Pnvmhs2QUzCYuQTuaKubzik=; b=R3WWNv07SHO0q9Di/6lgA6uuysPZarp2QaB0ouYUp5jmUDpuCnoJgFo7i52Xzgk30+ 5B4RRKYN1RR4tq3hWL4mV1LRR10chFk0kFK16oCZzv52by2tqvhS0oUozKr3c1nfEgxm tpM/CEtjPj0ZJ5PZ7cahardqRksIQ46y2ZTzKruB28SE6pIUKw4D3L1vFLuW3zKBc26o K7GmEgIbT1ui+pRn1eWm/67IutgU57qyUyGynURIOQyj4hQCp2Os7lABWgYh+3LivqeM lWxVv41hT/LwPgNcxoSgppfwD2n+364P3MoM2cEAHsb9Mrl+Ezl07iGq4wVP763FZHU2 7I0g== ARC-Authentication-Results: i=1; mx.google.com; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.31 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org Received: from morse.vger.email (morse.vger.email. [23.128.96.31]) by mx.google.com with ESMTPS id bx16-20020a056a00429000b0069338b22c0csi1464028pfb.359.2023.10.06.06.45.48 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Fri, 06 Oct 2023 06:45:48 -0700 (PDT) Received-SPF: pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.31 as permitted sender) client-ip=23.128.96.31; Authentication-Results: mx.google.com; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.31 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 morse.vger.email (Postfix) with ESMTP id 45839809E89C; Fri, 6 Oct 2023 06:45:33 -0700 (PDT) X-Virus-Status: Clean X-Virus-Scanned: clamav-milter 0.103.10 at morse.vger.email Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S232459AbjJFNpP (ORCPT + 18 others); Fri, 6 Oct 2023 09:45:15 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:57848 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S232340AbjJFNpO (ORCPT ); Fri, 6 Oct 2023 09:45:14 -0400 Received: from mx.skole.hr (mx2.hosting.skole.hr [161.53.165.186]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id 30D5E95; Fri, 6 Oct 2023 06:45:13 -0700 (PDT) Received: from mx2.hosting.skole.hr (localhost.localdomain [127.0.0.1]) by mx.skole.hr (mx.skole.hr) with ESMTP id B304383F67; Fri, 6 Oct 2023 15:45:11 +0200 (CEST) From: =?utf-8?q?Duje_Mihanovi=C4=87?= Date: Fri, 06 Oct 2023 15:44:26 +0200 Subject: [PATCH RFT v6 2/6] ARM: pxa: Convert Spitz LEDs to GPIO descriptors MIME-Version: 1.0 Message-Id: <20231006-pxa-gpio-v6-2-981b4910d599@skole.hr> References: <20231006-pxa-gpio-v6-0-981b4910d599@skole.hr> In-Reply-To: <20231006-pxa-gpio-v6-0-981b4910d599@skole.hr> To: Daniel Mack , Haojian Zhuang , Robert Jarzmik , Russell King , Alan Stern , Greg Kroah-Hartman , Linus Walleij , Bartosz Golaszewski , Andy Shevchenko , Dmitry Torokhov , Mark Brown Cc: linux-arm-kernel@lists.infradead.org, linux-kernel@vger.kernel.org, linux-usb@vger.kernel.org, linux-gpio@vger.kernel.org, linux-input@vger.kernel.org, linux-spi@vger.kernel.org, =?utf-8?q?Duje_Miha?= =?utf-8?q?novi=C4=87?= X-Mailer: b4 0.12.3 X-Developer-Signature: v=1; a=openpgp-sha256; l=1884; i=duje.mihanovic@skole.hr; h=from:subject:message-id; bh=c8SAwr7yUIDYfzBg54shArsrK1UPy+9oOW4+fo5KjpU=; b=owEBbQKS/ZANAwAIAZoRnrBCLZbhAcsmYgBlIA9dUqdcLA8NnEHUdf4WtT55qUDp3bAYkuWDY OJlpoomz8+JAjMEAAEIAB0WIQRT351NnD/hEPs2LXiaEZ6wQi2W4QUCZSAPXQAKCRCaEZ6wQi2W 4fuyD/91ZkszojargU21+2IAfmhklB/mbaaCM63yK7Bd6T4E0vyzsDQOj3618sH7IKQI5lcNOP5 lVBS0BnGpVqawos5mG27ZzdBRWmalDs7HGlCnE0unzjuRiTzXJmHrUsgn0JnXqIbX8BJw4vsAJu yi7A5WXOabjeOmU9SxkQ5LJY4c9nwdae2X7CJ6UKK1rfx6DKYSct2Cj+rUxAM8c21Vsu9xUUg+h 8jInzpAy0N9qTbviAJ01dQHF/U0qHsjrNHyJDK9XNslY4o5DiNXq4ZpClvf7yBqddHjarYzH3vN cROX55E2Qhi//b1TzPI1rmLCxMdxiem4cIE78m/vMbc2mv2wmABEZqoIYxyTTocEKG+e4MquKuk kTb2rhhh5rVkTAjozzsVib/46/Iw0Vll+D0Zs/ebl1q4p3+ZV7X8+adGJIOJMQMFmRPVWyiqsqs N9X0IW9mCLyUUnbxWBj2hjIO7Gc4MG8BEGqMz0/C03wLciP49ICXexkEYy9+LWUdOBU9ebhhRB0 KZlbk1dQ7r13nzSCyThkJ203sLewu+ajIn/q4p7sBmipBLyyNSnqvnt4rf9x3+DEbenjigWYUIZ qp9lYwna9PzrfRIEHdRivj8CfQF3iUgE+EA1HI/Qec6J5/JoZmCS9atkoNNkIuRp+jpDlXb3YkW ypPAJO70pXTd77A== X-Developer-Key: i=duje.mihanovic@skole.hr; a=openpgp; fpr=53DF9D4D9C3FE110FB362D789A119EB0422D96E1 X-Spam-Status: No, score=2.8 required=5.0 tests=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 morse.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 (morse.vger.email [0.0.0.0]); Fri, 06 Oct 2023 06:45:33 -0700 (PDT) X-Spam-Level: ** X-getmail-retrieved-from-mailbox: INBOX X-GMAIL-THRID: 1779013987687448735 X-GMAIL-MSGID: 1779013987687448735 Sharp's Spitz board still uses the legacy GPIO interface for configuring its two onboard LEDs. Convert them to use the GPIO descriptor interface. Reviewed-by: Linus Walleij Signed-off-by: Duje Mihanović --- arch/arm/mach-pxa/spitz.c | 20 ++++++++++++++++++-- 1 file changed, 18 insertions(+), 2 deletions(-) diff --git a/arch/arm/mach-pxa/spitz.c b/arch/arm/mach-pxa/spitz.c index 535e2b2e997b..1fb4102ea39e 100644 --- a/arch/arm/mach-pxa/spitz.c +++ b/arch/arm/mach-pxa/spitz.c @@ -452,16 +452,25 @@ static inline void spitz_keys_init(void) {} * LEDs ******************************************************************************/ #if defined(CONFIG_LEDS_GPIO) || defined(CONFIG_LEDS_GPIO_MODULE) +static struct gpiod_lookup_table spitz_led_gpio_table = { + .dev_id = "leds-gpio", + .table = { + GPIO_LOOKUP_IDX("pxa-gpio", SPITZ_GPIO_LED_ORANGE, NULL, 0, + GPIO_ACTIVE_HIGH), + GPIO_LOOKUP_IDX("pxa-gpio", SPITZ_GPIO_LED_GREEN, NULL, 1, + GPIO_ACTIVE_HIGH), + { } + } +}; + static struct gpio_led spitz_gpio_leds[] = { { .name = "spitz:amber:charge", .default_trigger = "sharpsl-charge", - .gpio = SPITZ_GPIO_LED_ORANGE, }, { .name = "spitz:green:hddactivity", .default_trigger = "disk-activity", - .gpio = SPITZ_GPIO_LED_GREEN, }, }; @@ -480,7 +489,14 @@ static struct platform_device spitz_led_device = { static void __init spitz_leds_init(void) { + struct gpio_descs *leds; + + gpiod_add_lookup_table(&spitz_led_gpio_table); platform_device_register(&spitz_led_device); + leds = gpiod_get_array_optional(&spitz_led_device.dev, + NULL, GPIOD_ASIS); + spitz_gpio_leds[0].gpiod = leds->desc[0]; + spitz_gpio_leds[1].gpiod = leds->desc[1]; } #else static inline void spitz_leds_init(void) {} From patchwork Fri Oct 6 13:44:27 2023 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Patchwork-Submitter: =?utf-8?q?Duje_Mihanovi=C4=87?= X-Patchwork-Id: 149249 Return-Path: Delivered-To: ouuuleilei@gmail.com Received: by 2002:a59:a888:0:b0:403:3b70:6f57 with SMTP id x8csp341937vqo; Fri, 6 Oct 2023 06:45:56 -0700 (PDT) X-Google-Smtp-Source: AGHT+IFCYIQRFrwR+vShe6KJ2gsTkMd4fTIYgrTlAw+lt8T8XpIEQs9y5DnxhGmamQCWdyQ92JDp X-Received: by 2002:a05:6a20:4292:b0:13f:c40c:379 with SMTP id o18-20020a056a20429200b0013fc40c0379mr9923217pzj.13.1696599956167; Fri, 06 Oct 2023 06:45:56 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1696599956; cv=none; d=google.com; s=arc-20160816; b=BEkoOA13S9poMTbZ6uHOetwkEAs2htsYff5/iyefB0qWBWdUTgqEEWQguGsQKmgWXN PIQr616yWHS5D3AD6LkOoDV74hvvRdwSj/XJNSYE8hIRtfxXrr20pXUnKMKzlbwOkvIC x1u3k0wg4b0RBKZLIJdZ7NL4YbBKwwoZG+m24simY+1u0F1cCo9SQN2y3LPwGiWuEIk7 gCxe/BIgqGsdXNLKOHahftE7+Eh3gMkWmoOmuNtl4Ss51v8iCs0F/c2IP9wdPV0H+eg9 1/TQBt4GQ/Mh+WecPUBKJRJrvyySiHkcv0rNuZhbxWb3gK/JicPcK1mnY2nEOdGu5SJm j4NQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:cc:to:in-reply-to:references:message-id :content-transfer-encoding:mime-version:subject:date:from; bh=/04zixa83v+35r1jHLMS00+lsJDZgSdSd0uBSONxk6Q=; fh=1i6b6fQBnaiq0xRa3ncF4yVLO4LQ/VVJhygl9h24PAo=; b=GCjjMAjxyeChAKT6ipLDXG2tCNp/ksS8QUFcv47ZBko1AUt0ess2pppe85Sle22yH2 LBsOojq4j216SpH1kxdmPAftQRDRsbufDBmH1X/lR1RXvnFdXId8ouKh6IK3yMRHa18M FNdFAVFJX2zHc6PGLioO/MKHsX6RfukaDmwte2mZFFErpYGCSyTBV+nrZNnLMGB/c7PI sUN4W2kbZB9QYBJof6t47N2YaDdW3J5mt+TpIO25nylkNh2gXN/EDUqI95/KJAHseusu DgX+Vkl2xeOT/u13MrgwjwN7WYGrmxWCC/vX3/SH8Gw694U25LhtbGmo5CHL23mVWZUc p4yg== ARC-Authentication-Results: i=1; mx.google.com; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::3:6 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org Received: from pete.vger.email (pete.vger.email. [2620:137:e000::3:6]) by mx.google.com with ESMTPS id q82-20020a632a55000000b00578e98deca3si3662928pgq.37.2023.10.06.06.45.55 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Fri, 06 Oct 2023 06:45:56 -0700 (PDT) Received-SPF: pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::3:6 as permitted sender) client-ip=2620:137:e000::3:6; Authentication-Results: mx.google.com; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::3:6 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 pete.vger.email (Postfix) with ESMTP id 17DF8802375B; Fri, 6 Oct 2023 06:45:51 -0700 (PDT) X-Virus-Status: Clean X-Virus-Scanned: clamav-milter 0.103.10 at pete.vger.email Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S232500AbjJFNpX (ORCPT + 18 others); Fri, 6 Oct 2023 09:45:23 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:57868 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S232452AbjJFNpP (ORCPT ); Fri, 6 Oct 2023 09:45:15 -0400 Received: from mx.skole.hr (mx1.hosting.skole.hr [161.53.165.185]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id 3697E9F; Fri, 6 Oct 2023 06:45:14 -0700 (PDT) Received: from mx1.hosting.skole.hr (localhost.localdomain [127.0.0.1]) by mx.skole.hr (mx.skole.hr) with ESMTP id 87E4082B9E; Fri, 6 Oct 2023 15:45:12 +0200 (CEST) From: =?utf-8?q?Duje_Mihanovi=C4=87?= Date: Fri, 06 Oct 2023 15:44:27 +0200 Subject: [PATCH RFT v6 3/6] ARM: pxa: Convert Spitz CF power control to GPIO descriptors MIME-Version: 1.0 Message-Id: <20231006-pxa-gpio-v6-3-981b4910d599@skole.hr> References: <20231006-pxa-gpio-v6-0-981b4910d599@skole.hr> In-Reply-To: <20231006-pxa-gpio-v6-0-981b4910d599@skole.hr> To: Daniel Mack , Haojian Zhuang , Robert Jarzmik , Russell King , Alan Stern , Greg Kroah-Hartman , Linus Walleij , Bartosz Golaszewski , Andy Shevchenko , Dmitry Torokhov , Mark Brown Cc: linux-arm-kernel@lists.infradead.org, linux-kernel@vger.kernel.org, linux-usb@vger.kernel.org, linux-gpio@vger.kernel.org, linux-input@vger.kernel.org, linux-spi@vger.kernel.org, =?utf-8?q?Duje_Miha?= =?utf-8?q?novi=C4=87?= , Bartosz Golaszewski X-Mailer: b4 0.12.3 X-Developer-Signature: v=1; a=openpgp-sha256; l=2281; i=duje.mihanovic@skole.hr; h=from:subject:message-id; bh=KJXbAXyTG/sVSbaLBYtwlL2iztxHfXukxnTO76EQ1Do=; b=owEBbQKS/ZANAwAIAZoRnrBCLZbhAcsmYgBlIA9dXq3IsbXcPqKQsM0k9xjtruTjk9o2uhodv xMeFc5SBaWJAjMEAAEIAB0WIQRT351NnD/hEPs2LXiaEZ6wQi2W4QUCZSAPXQAKCRCaEZ6wQi2W 4e/aEACij3SU0X3Wg1OLQ5q3Se8lr+wN8FHuvWQrAxDoT8cxGOabqsLggZL+Dt6io84mDzME1Z/ tjLBhJwv9L3h1Cvm6osLFEjbdLrbyRN3IzjABPnnTpcJf6oi8oREpiV7DVIdfVdlcfnr33D7eGZ pImzsyGszNGncC9aEHmM74+wFC6XrybGocqD7XqMlGtIOKz/FMu5wsMgk62ulQ9AUoRvj/LpdQe uhMQWqUVmCyo5BW1qjTlvUezX00zykRUhLFvYaamgiuiFhR2uyZauJoWnaoo0X5UhHl1z3dYPYO SsmHZk2xE1D+g+2zQu5yiX/sFY7avbJYHkyAnZZpkdw4TTUFYovtgh3Oomzo54KmRmuMt0Mbugi 6A9AAkpqcuSAQ2Zw8QKQdfk1VUTikmGobUj/JVclRK1smimPpMTlS3DMFOwKl4wLEuc/ez+fSPO 81VIVGLgQS9gDL6pJlcTX93gyY1xR3NYVN17HqA1hG4CXEX0YVKne3OWGDqKpwwfta5uJU6jvvL dN82vRBcdAAq2qzwCH3aVqOmQAS67cjTsF0hjQdOetNNz4mVdnUV1mNUQUjhdWkYaEs3gqwolAx kjrg1XFcnPdH64ixPfGkxJfB7svQ1z4vCY3jWzHQhnQfsZ2QrxldCcDDBlu1ZU5E2PLY2giGjSh koFNtWG4UIkqQEw== X-Developer-Key: i=duje.mihanovic@skole.hr; a=openpgp; fpr=53DF9D4D9C3FE110FB362D789A119EB0422D96E1 X-Spam-Status: No, score=2.8 required=5.0 tests=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 pete.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 (pete.vger.email [0.0.0.0]); Fri, 06 Oct 2023 06:45:51 -0700 (PDT) X-Spam-Level: ** X-getmail-retrieved-from-mailbox: INBOX X-GMAIL-THRID: 1779013995595117323 X-GMAIL-MSGID: 1779013995595117323 Sharp's Spitz board still uses the legacy GPIO interface for controlling the power supply to its CF and SD card slots. Convert it to use the GPIO descriptor interface. Acked-by: Linus Walleij Reviewed-by: Bartosz Golaszewski Signed-off-by: Duje Mihanović --- arch/arm/mach-pxa/spitz.c | 20 ++++++++++++++++++-- 1 file changed, 18 insertions(+), 2 deletions(-) diff --git a/arch/arm/mach-pxa/spitz.c b/arch/arm/mach-pxa/spitz.c index 1fb4102ea39e..8e9301cd0c93 100644 --- a/arch/arm/mach-pxa/spitz.c +++ b/arch/arm/mach-pxa/spitz.c @@ -133,6 +133,10 @@ static unsigned long spitz_pin_config[] __initdata = { * Scoop GPIO expander ******************************************************************************/ #if defined(CONFIG_SHARP_SCOOP) || defined(CONFIG_SHARP_SCOOP_MODULE) +GPIO_LOOKUP_SINGLE(spitz_card_pwr_ctrl_gpio_table, "pxa2xx-mci.0", + "sharp-scoop", SPITZ_GPIO_CF_POWER, "cf_power", + GPIO_ACTIVE_HIGH); + /* SCOOP Device #1 */ static struct resource spitz_scoop_1_resources[] = { [0] = { @@ -190,6 +194,7 @@ struct platform_device spitz_scoop_2_device = { static void __init spitz_scoop_init(void) { platform_device_register(&spitz_scoop_1_device); + gpiod_add_lookup_table(&spitz_card_pwr_ctrl_gpio_table); /* Akita doesn't have the second SCOOP chip */ if (!machine_is_akita()) @@ -201,9 +206,18 @@ static void __maybe_unused spitz_card_pwr_ctrl(uint8_t enable, uint8_t new_cpr) { unsigned short cpr; unsigned long flags; + struct gpio_desc *cf_power; + + cf_power = gpiod_get(&pxa_device_mci.dev, "cf_power", GPIOD_ASIS); + if (IS_ERR(cf_power)) { + dev_err(&pxa_device_mci.dev, + "failed to get power control GPIO with %ld\n", + PTR_ERR(cf_power)); + return; + } if (new_cpr & 0x7) { - gpio_set_value(SPITZ_GPIO_CF_POWER, 1); + gpiod_direction_output(cf_power, 1); mdelay(5); } @@ -222,8 +236,10 @@ static void __maybe_unused spitz_card_pwr_ctrl(uint8_t enable, uint8_t new_cpr) if (!(cpr & 0x7)) { mdelay(1); - gpio_set_value(SPITZ_GPIO_CF_POWER, 0); + gpiod_direction_output(cf_power, 0); } + + gpiod_put(cf_power); } #else From patchwork Fri Oct 6 13:44:28 2023 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Patchwork-Submitter: =?utf-8?q?Duje_Mihanovi=C4=87?= X-Patchwork-Id: 149251 Return-Path: Delivered-To: ouuuleilei@gmail.com Received: by 2002:a59:a888:0:b0:403:3b70:6f57 with SMTP id x8csp342127vqo; Fri, 6 Oct 2023 06:46:15 -0700 (PDT) X-Google-Smtp-Source: AGHT+IEmJtDVR+33+1odWTdFqewBHjyUIIh/bCU/sc0JixYqnNHOCuqitD5JBjgBGt2wpcG4gIK8 X-Received: by 2002:a05:6a20:1005:b0:15d:5e1e:184e with SMTP id gs5-20020a056a20100500b0015d5e1e184emr7436893pzc.57.1696599975733; Fri, 06 Oct 2023 06:46:15 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1696599975; cv=none; d=google.com; s=arc-20160816; b=lnr2YbjOO+9yLO7ukJvw9mH2ePetV9HJ7Rdf1O28wppKd+6EtojKXI5uNouQgei2PO AXVXm4ymSBUxYHu3EWbOsEg+JkDJSix44M2bffmphwtjrtu08wOc5gr69xhtP0yTOk2A ca3T3M+BBrB8opnJRVFZ4yS3xTmsskYpqbMHNg0yrZ35brbtAx1LWOH/+wTXdPRWhaqL T2F2bXG8DjwHO4u5aHNgykb1jRKBhlzQXK9D3Y7ksXDplQS1dmETsWRnHHBf0IVJ3jWV EUwDhtuZdA5ArbfN4I2zL2giL4trgOHmGRhgOdYCNPqwwA2iWULS8IdzYTj2TURuP0Rr p8lw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:cc:to:in-reply-to:references:message-id :content-transfer-encoding:mime-version:subject:date:from; bh=v1ThJlkYhovOw6aEbn+W7j3h+Bh2kdpTbH55h5W9RLg=; fh=1i6b6fQBnaiq0xRa3ncF4yVLO4LQ/VVJhygl9h24PAo=; b=CDuuWfPYRV7XJ7kf6++qYxDCdl0jLUX3cGdCf8lZ5T+4JG1EqjNfLQMTMIOJ6CGLhR hFpcDBM58y5mX8GwY/Yib80CbSlJH7PcmoMgsboq8a7X59/BcdWgvk/zpvh6K4ccDd3j 971x7vOaEjMCc9P+HaMUhmVEV640K4qPgZpXSwoiXLS/t2iLgvmjX030NjQ+41VMmpOl 8XOOULK+bgzXq49CBk/rqDjpGoJuKJ3WtR8tec69IOILZFj01i9D8yn3GJ9DC5VveN5w HPWwQGD6uxiXolBh9DpQANwfSDjOPO94Rf6YJNEO5GihAk2FXzkHx80AWXHBEyZlGD1I wiWA== ARC-Authentication-Results: i=1; mx.google.com; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.36 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org Received: from pete.vger.email (pete.vger.email. [23.128.96.36]) by mx.google.com with ESMTPS id h22-20020aa786d6000000b006933e5559a3si1411679pfo.310.2023.10.06.06.46.15 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Fri, 06 Oct 2023 06:46:15 -0700 (PDT) Received-SPF: pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.36 as permitted sender) client-ip=23.128.96.36; Authentication-Results: mx.google.com; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.36 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 pete.vger.email (Postfix) with ESMTP id C9E4A8029B49; Fri, 6 Oct 2023 06:46:12 -0700 (PDT) X-Virus-Status: Clean X-Virus-Scanned: clamav-milter 0.103.10 at pete.vger.email Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S232484AbjJFNp1 (ORCPT + 18 others); Fri, 6 Oct 2023 09:45:27 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:34140 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S232473AbjJFNpR (ORCPT ); Fri, 6 Oct 2023 09:45:17 -0400 Received: from mx.skole.hr (mx2.hosting.skole.hr [161.53.165.186]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id 8A60FAC; Fri, 6 Oct 2023 06:45:15 -0700 (PDT) Received: from mx2.hosting.skole.hr (localhost.localdomain [127.0.0.1]) by mx.skole.hr (mx.skole.hr) with ESMTP id 2E06083F6E; Fri, 6 Oct 2023 15:45:14 +0200 (CEST) From: =?utf-8?q?Duje_Mihanovi=C4=87?= Date: Fri, 06 Oct 2023 15:44:28 +0200 Subject: [PATCH RFT v6 4/6] ARM: pxa: Convert reset driver to GPIO descriptors MIME-Version: 1.0 Message-Id: <20231006-pxa-gpio-v6-4-981b4910d599@skole.hr> References: <20231006-pxa-gpio-v6-0-981b4910d599@skole.hr> In-Reply-To: <20231006-pxa-gpio-v6-0-981b4910d599@skole.hr> To: Daniel Mack , Haojian Zhuang , Robert Jarzmik , Russell King , Alan Stern , Greg Kroah-Hartman , Linus Walleij , Bartosz Golaszewski , Andy Shevchenko , Dmitry Torokhov , Mark Brown Cc: linux-arm-kernel@lists.infradead.org, linux-kernel@vger.kernel.org, linux-usb@vger.kernel.org, linux-gpio@vger.kernel.org, linux-input@vger.kernel.org, linux-spi@vger.kernel.org, =?utf-8?q?Duje_Miha?= =?utf-8?q?novi=C4=87?= , Bartosz Golaszewski X-Mailer: b4 0.12.3 X-Developer-Signature: v=1; a=openpgp-sha256; l=3701; i=duje.mihanovic@skole.hr; h=from:subject:message-id; bh=RO2FS16ccP9uEgSE5MIe1I+a1oRlIzxtkclTF982Y30=; b=owEBbQKS/ZANAwAIAZoRnrBCLZbhAcsmYgBlIA9dOFfYP80i5cCQEO2634FMtl0J7UbyJqQJb 160ZfaVayyJAjMEAAEIAB0WIQRT351NnD/hEPs2LXiaEZ6wQi2W4QUCZSAPXQAKCRCaEZ6wQi2W 4U4RD/9Fu4Xbkc5jhMwxez0QwhXDRlnBMS/ii5bFd5z8xv9VlbczdUdSHZjlhvntd+DDteI/d63 tThg7WMb2UZ+P3TwjR1g8Gd58lZQ0S6nASfACceHfzt9P89ERhMp4UpCYBbofI0wbKJupnaJGP4 3EraXQjqv6Pechea2UT6wHWiU+909yeC+kpAh/7PzK39hIBvhNjIYilzyQI+b903Y0r9IAcqKRr fFR85oXytHv7gPRG0GKG4Hi2bmJ6sM31gy66JsMZxW3Q98km6MgnlTIWUUoj5BsjytuZ1hhrxb2 Qe/eYfB1pAidQejHAtM3BbVgRtKC/TbDsUOo6GJr2N67asS3as6/v20uMEXKYpdKreYWSBjF2Kw U0bcxT0whn4FQWGzg9S9tOzAoGwmCSHmU57/NEwUIr7EvimizLRMqa0IlXhiKyqFXuZY8gPjYYX EWX2+Linv6UlBW9o58PhXsGjJbJ77bgXn7XMURrnVaOYNxZei6NlErsPKcogqyPlx9+Q7MRHpmP XSwDH282WpsvY7rAv6AvdmZuKBwmncLuhFctpY6/Bs0/08y0tX7/Kj8aZtZtSOtaaRBJrG1YIBG aGIW24N/nJXqn6f7pvSvPiAYsuE6df9I8XWDzsN29R8ih4ByYXfgEXwVulvFd5njIFwFpPfgc7v pMBuVazxRt+0WNw== X-Developer-Key: i=duje.mihanovic@skole.hr; a=openpgp; fpr=53DF9D4D9C3FE110FB362D789A119EB0422D96E1 X-Spam-Status: No, score=2.8 required=5.0 tests=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 pete.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 (pete.vger.email [0.0.0.0]); Fri, 06 Oct 2023 06:46:12 -0700 (PDT) X-Spam-Level: ** X-getmail-retrieved-from-mailbox: INBOX X-GMAIL-THRID: 1779014016280231226 X-GMAIL-MSGID: 1779014016280231226 The PXA reset driver still uses the legacy GPIO interface for configuring and asserting the reset pin. Convert it to use the GPIO descriptor interface. Acked-by: Linus Walleij Reviewed-by: Bartosz Golaszewski Signed-off-by: Duje Mihanović --- arch/arm/mach-pxa/reset.c | 39 +++++++++++++-------------------------- arch/arm/mach-pxa/reset.h | 3 +-- arch/arm/mach-pxa/spitz.c | 6 +++++- 3 files changed, 19 insertions(+), 29 deletions(-) diff --git a/arch/arm/mach-pxa/reset.c b/arch/arm/mach-pxa/reset.c index 27293549f8ad..08bc104b9411 100644 --- a/arch/arm/mach-pxa/reset.c +++ b/arch/arm/mach-pxa/reset.c @@ -2,7 +2,7 @@ #include #include #include -#include +#include #include #include #include @@ -14,33 +14,20 @@ static void do_hw_reset(void); -static int reset_gpio = -1; +static struct gpio_desc *reset_gpio; -int init_gpio_reset(int gpio, int output, int level) +int init_gpio_reset(int output, int level) { - int rc; - - rc = gpio_request(gpio, "reset generator"); - if (rc) { - printk(KERN_ERR "Can't request reset_gpio\n"); - goto out; + reset_gpio = gpiod_get(NULL, "reset", GPIOD_ASIS); + if (IS_ERR(reset_gpio)) { + pr_err("Can't request reset_gpio: %pe\n", reset_gpio); + return PTR_ERR(reset_gpio); } if (output) - rc = gpio_direction_output(gpio, level); + return gpiod_direction_output(reset_gpio, level); else - rc = gpio_direction_input(gpio); - if (rc) { - printk(KERN_ERR "Can't configure reset_gpio\n"); - gpio_free(gpio); - goto out; - } - -out: - if (!rc) - reset_gpio = gpio; - - return rc; + return gpiod_direction_input(reset_gpio); } /* @@ -50,16 +37,16 @@ int init_gpio_reset(int gpio, int output, int level) */ static void do_gpio_reset(void) { - BUG_ON(reset_gpio == -1); + BUG_ON(IS_ERR(reset_gpio)); /* drive it low */ - gpio_direction_output(reset_gpio, 0); + gpiod_direction_output(reset_gpio, 0); mdelay(2); /* rising edge or drive high */ - gpio_set_value(reset_gpio, 1); + gpiod_set_value(reset_gpio, 1); mdelay(2); /* falling edge */ - gpio_set_value(reset_gpio, 0); + gpiod_set_value(reset_gpio, 0); /* give it some time */ mdelay(10); diff --git a/arch/arm/mach-pxa/reset.h b/arch/arm/mach-pxa/reset.h index 963dd190bc13..5864f61a0e94 100644 --- a/arch/arm/mach-pxa/reset.h +++ b/arch/arm/mach-pxa/reset.h @@ -13,10 +13,9 @@ extern void pxa_register_wdt(unsigned int reset_status); /** * init_gpio_reset() - register GPIO as reset generator - * @gpio: gpio nr * @output: set gpio as output instead of input during normal work * @level: output level */ -extern int init_gpio_reset(int gpio, int output, int level); +extern int init_gpio_reset(int output, int level); #endif /* __ASM_ARCH_RESET_H */ diff --git a/arch/arm/mach-pxa/spitz.c b/arch/arm/mach-pxa/spitz.c index 8e9301cd0c93..554a4b9782c5 100644 --- a/arch/arm/mach-pxa/spitz.c +++ b/arch/arm/mach-pxa/spitz.c @@ -1026,9 +1026,13 @@ static void spitz_restart(enum reboot_mode mode, const char *cmd) spitz_poweroff(); } +GPIO_LOOKUP_SINGLE(spitz_reset_gpio_table, NULL, "pxa-gpio", + SPITZ_GPIO_ON_RESET, "reset", GPIO_ACTIVE_HIGH); + static void __init spitz_init(void) { - init_gpio_reset(SPITZ_GPIO_ON_RESET, 1, 0); + gpiod_add_lookup_table(&spitz_reset_gpio_table); + init_gpio_reset(1, 0); pm_power_off = spitz_poweroff; PMCR = 0x00; From patchwork Fri Oct 6 13:44:29 2023 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Patchwork-Submitter: =?utf-8?q?Duje_Mihanovi=C4=87?= X-Patchwork-Id: 149248 Return-Path: Delivered-To: ouuuleilei@gmail.com Received: by 2002:a59:a888:0:b0:403:3b70:6f57 with SMTP id x8csp341892vqo; Fri, 6 Oct 2023 06:45:52 -0700 (PDT) X-Google-Smtp-Source: AGHT+IGol7CoXkIKWg+KkI1Dk8emvazupnCt39qOluWrcLC3MEt+wjfk+yDiZON33tScQBUt4a6U X-Received: by 2002:a05:6a20:f3a2:b0:154:9943:7320 with SMTP id qr34-20020a056a20f3a200b0015499437320mr7072387pzb.28.1696599952179; Fri, 06 Oct 2023 06:45:52 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1696599952; cv=none; d=google.com; s=arc-20160816; b=Oak9fqLMMfkY6lqbz6t7qL/4l8JcOKCbaMzzqzkPzwF5W4g1K97qIr13iQiddxOd+7 5R0BSoYBnJoyVr3TA/bT1KplTFZk2vs8U+rTFZMW59Z4Wdg+w588HC9tHTStGQmzl+54 cshbWaSFwSWflz69kMWlLeQWW6Fjxr5t4DZccNJWHI5/iEA4Y6YAtx5fWYRtiRc115wa MEKSVcv2su3gMfB9CvBQqRI7TOYx6ClEklla+4bSZiqrke2P/iOlnM4pbLbBzx4zJDLG iButmVvEyZAsXzy3hb1U0lCN828Dzykem5YE4G10hnFfnCrSQnPwfLPrD15LJVKOmvjA 7dqg== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:cc:to:in-reply-to:references:message-id :content-transfer-encoding:mime-version:subject:date:from; bh=fsBStHUAO/eDQMx8DeBhHt+MVhIMwdxnB6WbI4kEheg=; fh=1i6b6fQBnaiq0xRa3ncF4yVLO4LQ/VVJhygl9h24PAo=; b=Jxny3ETsUWcNHiOyNT1ONn7QjPzIjToU9f7LXfRxQP5bDLIcC/JvqijGIjuJdch/6h 8v2e4brIIERDe/it7Zr6EfRpkTa8wpPlgDczJAnclii3T7Mr+pmprlQR8P3lGZ72UKDp 4+NrcEay9lEOgs5l3z7xLru9l8hQZBE7glbfXUccLdLQKzX54sT+1LeJJIdTvO9Pt3uA V4C68A9ZLyef7CGPzkBq4ECLCNVIepRXmSYtsWikIlz4ctRiwr85Nkf8EhwZ7l0hL2bs CLDTr34FVb6EHfDjV5RbxCoX3BEs0fdoYk6P73J5UyrK1KUaUo8eTbZwcI6TCfHx35UD Gjeg== ARC-Authentication-Results: i=1; mx.google.com; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.36 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org Received: from pete.vger.email (pete.vger.email. [23.128.96.36]) by mx.google.com with ESMTPS id e3-20020a636903000000b00565e7a3342dsi3798470pgc.256.2023.10.06.06.45.51 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Fri, 06 Oct 2023 06:45:52 -0700 (PDT) Received-SPF: pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.36 as permitted sender) client-ip=23.128.96.36; Authentication-Results: mx.google.com; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.36 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 pete.vger.email (Postfix) with ESMTP id 6A53583D4A42; Fri, 6 Oct 2023 06:45:42 -0700 (PDT) X-Virus-Status: Clean X-Virus-Scanned: clamav-milter 0.103.10 at pete.vger.email Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S232505AbjJFNpb (ORCPT + 18 others); Fri, 6 Oct 2023 09:45:31 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:34146 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S232480AbjJFNpS (ORCPT ); Fri, 6 Oct 2023 09:45:18 -0400 Received: from mx.skole.hr (mx1.hosting.skole.hr [161.53.165.185]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id 7DABA83; Fri, 6 Oct 2023 06:45:16 -0700 (PDT) Received: from mx1.hosting.skole.hr (localhost.localdomain [127.0.0.1]) by mx.skole.hr (mx.skole.hr) with ESMTP id 11DAA82B6A; Fri, 6 Oct 2023 15:45:15 +0200 (CEST) From: =?utf-8?q?Duje_Mihanovi=C4=87?= Date: Fri, 06 Oct 2023 15:44:29 +0200 Subject: [PATCH RFT v6 5/6] ARM: pxa: Convert gumstix Bluetooth to GPIO descriptors MIME-Version: 1.0 Message-Id: <20231006-pxa-gpio-v6-5-981b4910d599@skole.hr> References: <20231006-pxa-gpio-v6-0-981b4910d599@skole.hr> In-Reply-To: <20231006-pxa-gpio-v6-0-981b4910d599@skole.hr> To: Daniel Mack , Haojian Zhuang , Robert Jarzmik , Russell King , Alan Stern , Greg Kroah-Hartman , Linus Walleij , Bartosz Golaszewski , Andy Shevchenko , Dmitry Torokhov , Mark Brown Cc: linux-arm-kernel@lists.infradead.org, linux-kernel@vger.kernel.org, linux-usb@vger.kernel.org, linux-gpio@vger.kernel.org, linux-input@vger.kernel.org, linux-spi@vger.kernel.org, =?utf-8?q?Duje_Miha?= =?utf-8?q?novi=C4=87?= , Bartosz Golaszewski X-Mailer: b4 0.12.3 X-Developer-Signature: v=1; a=openpgp-sha256; l=2189; i=duje.mihanovic@skole.hr; h=from:subject:message-id; bh=Dr351d93QVsgkRcO0eJVhSNl8Av1yPt3sqc414h6Tbk=; b=owEBbQKS/ZANAwAIAZoRnrBCLZbhAcsmYgBlIA9d/F9TLkLIhHM3hDILl8MSvW4bu2FnfuQE0 diAXQhbz32JAjMEAAEIAB0WIQRT351NnD/hEPs2LXiaEZ6wQi2W4QUCZSAPXQAKCRCaEZ6wQi2W 4YPqD/9k4FrU/yzrM/Bg2eziLiJJCSgeoqztb0z7j4FNXVdgITVRohK/R2vbtWDGmeFS5L5rl0V 1skAo9ak776xAEWm4fN8E0FlUsovzMwT/IFDQTAnLf2Z7J4+QRik5PQBdTNl8lqiZz/WQDiU0zf PqV62Tx4YanhkIYIa1c1THAlMqjmGYxX2zCaMtY6Iky/QOq8MMdvtHaUKJ7mUDdhSMToPSXQ8WU WpVl0MCMgJP0I0JCzqZoBGiRCTQ/ZagxYUgg/pGTi9WkWWK46RUsSmwDbgr5prxzCV48r9imNL2 agS5umSy9p89jC/QXzamxu7W9YCE1FXtw/M5WwT1dYOHOir5vWWIYQ6YQTQRPCIk0WGurwTxaQg dX/5NNZ1rEI4QRX/kBkpdS5V2pHbhB+NZE0RYVO4/J6v0AeReJuzAOXHcv/krE9PiAUdz7zC9Su kxWC8yDM7HoTp/E/fWtKm0RtyoG0NW7n9xRx9rAYn/1iJq8LNZr6V4/w7fi+Cki8uI2fPR0iSz1 FBQbem2LGjue1aXMoCNxxsXLv6d+QpwcaxSdG0zqMgxZ+hhZvXQTm6bl8K86EnBxr5qlNsx+gAL oQ+E/DkoW4n/Ah7ie7fX6tAqpb4He+u11cVtZh1o76irg8Sn7N60H+sKmNBfwfonMtrQ9G2Wt3v GhfdN9TPB3Drtww== X-Developer-Key: i=duje.mihanovic@skole.hr; a=openpgp; fpr=53DF9D4D9C3FE110FB362D789A119EB0422D96E1 X-Spam-Status: No, score=2.8 required=5.0 tests=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 pete.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 (pete.vger.email [0.0.0.0]); Fri, 06 Oct 2023 06:45:42 -0700 (PDT) X-Spam-Level: ** X-getmail-retrieved-from-mailbox: INBOX X-GMAIL-THRID: 1779013991386196295 X-GMAIL-MSGID: 1779013991386196295 Gumstix still uses the legacy GPIO interface for resetting the Bluetooth device. Convert it to use the GPIO descriptor interface. Reviewed-by: Linus Walleij Reviewed-by: Bartosz Golaszewski Signed-off-by: Duje Mihanović --- arch/arm/mach-pxa/gumstix.c | 22 +++++++++++----------- 1 file changed, 11 insertions(+), 11 deletions(-) diff --git a/arch/arm/mach-pxa/gumstix.c b/arch/arm/mach-pxa/gumstix.c index c9f0f62187bd..0bca6e2c80a9 100644 --- a/arch/arm/mach-pxa/gumstix.c +++ b/arch/arm/mach-pxa/gumstix.c @@ -20,8 +20,8 @@ #include #include #include +#include #include -#include #include #include @@ -129,6 +129,11 @@ static void gumstix_udc_init(void) #endif #ifdef CONFIG_BT +GPIO_LOOKUP_SINGLE(gumstix_bt_gpio_table, "pxa2xx-uart.1", "pxa-gpio", + GPIO_GUMSTIX_BTRESET, "BTRST", GPIO_ACTIVE_LOW); + +static struct gpio_desc *bt_reset; + /* Normally, the bootloader would have enabled this 32kHz clock but many ** boards still have u-boot 1.1.4 so we check if it has been turned on and ** if not, we turn it on with a warning message. */ @@ -153,24 +158,19 @@ static void gumstix_setup_bt_clock(void) static void __init gumstix_bluetooth_init(void) { - int err; + gpiod_add_lookup_table(&gumstix_bt_gpio_table); gumstix_setup_bt_clock(); - err = gpio_request(GPIO_GUMSTIX_BTRESET, "BTRST"); - if (err) { + bt_reset = gpiod_get(&pxa_device_btuart.dev, "BTRST", GPIOD_OUT_HIGH); + if (IS_ERR(bt_reset)) { pr_err("gumstix: failed request gpio for bluetooth reset\n"); return; } - err = gpio_direction_output(GPIO_GUMSTIX_BTRESET, 1); - if (err) { - pr_err("gumstix: can't reset bluetooth\n"); - return; - } - gpio_set_value(GPIO_GUMSTIX_BTRESET, 0); + gpiod_set_value(bt_reset, 1); udelay(100); - gpio_set_value(GPIO_GUMSTIX_BTRESET, 1); + gpiod_set_value(bt_reset, 0); } #else static void gumstix_bluetooth_init(void) From patchwork Fri Oct 6 13:44:30 2023 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Patchwork-Submitter: =?utf-8?q?Duje_Mihanovi=C4=87?= X-Patchwork-Id: 149247 Return-Path: Delivered-To: ouuuleilei@gmail.com Received: by 2002:a59:a888:0:b0:403:3b70:6f57 with SMTP id x8csp341882vqo; Fri, 6 Oct 2023 06:45:51 -0700 (PDT) X-Google-Smtp-Source: AGHT+IFn7xMccC4W5BvFScl5Xd1Da3eGm4OdfC2orsMJtXk5AN42TanXiZ7Aycm53o3WI+4r/+Pf X-Received: by 2002:a05:6a20:1611:b0:15a:13f3:49ca with SMTP id l17-20020a056a20161100b0015a13f349camr10662124pzj.9.1696599951137; Fri, 06 Oct 2023 06:45:51 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1696599951; cv=none; d=google.com; s=arc-20160816; b=JazvOvgmHKKPKaXimNysibhqIhUwLnvSv5ZGx5zPI1ieKYAmHn4A0ZAGaIhc1E8YbQ BvBlkNolkUxUBozLQNl5nTkPQMwtkIdyIZPkA24s0wl3lr1rOnmPBLRFINLDmgVdBnlS 6klofMQb6QKpVtGzaBWamJOLWaNh3oP/GBRnnsYvbaYjooctOEnM2Wiu+zLuwFCLvwff r5/qyYXKC+JSrvfgOY6++M9t+BpMcmJLGWJWuXRXQovyfeLc+x5jTF2z3Ml+IE3BJR54 8JDItt9bynoYf++8trBkbA7loCXDyQDo5rAfXORvqaSmxw5XCMkMmnR/l3cnyCGT5KFh 4eOQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:cc:to:in-reply-to:references:message-id :content-transfer-encoding:mime-version:subject:date:from; bh=xvvmSvXQZhWRUIeuuQIPdxLV7y8eVQPa+AATjpSobWs=; fh=1i6b6fQBnaiq0xRa3ncF4yVLO4LQ/VVJhygl9h24PAo=; b=dCO9eMT93A1iER9UVebQz73oacjtYI+jFf8qvlOcEyeJIHgPG3OE+p7yGVmt0dPLbH RhTK5KPOK2qtTccWV+p2q2pwiw6PJWenEgdaAUhw+bv8nxbvPnIFwI3nZ9x2Xyi7uwi3 eBc8qR/3AMfLSV7AxnF6FAqcVDQJF1A4chnRQZwj7bsVpwszu2GckuD1DnE3Ux6q8Ps8 Hb11MzhqTmDp6pznUM1GXoy4x8sAAuILw+kN6nGRKvdIcGXKJY1akTz0t+y+Fkm7iRr5 V6ghxVSVvJ9HSyhsyjl11l4AJoVPw1FA24TXwtr1Zgsmghiz1ePiJDP8sptnhuvDjg+S hHwg== ARC-Authentication-Results: i=1; mx.google.com; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::3:1 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org Received: from morse.vger.email (morse.vger.email. [2620:137:e000::3:1]) by mx.google.com with ESMTPS id l13-20020a170903244d00b001c413905d87si4031059pls.49.2023.10.06.06.45.50 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Fri, 06 Oct 2023 06:45:51 -0700 (PDT) Received-SPF: pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::3:1 as permitted sender) client-ip=2620:137:e000::3:1; Authentication-Results: mx.google.com; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::3:1 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 morse.vger.email (Postfix) with ESMTP id D69F88051AB4; Fri, 6 Oct 2023 06:45:47 -0700 (PDT) X-Virus-Status: Clean X-Virus-Scanned: clamav-milter 0.103.10 at morse.vger.email Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S232532AbjJFNpf (ORCPT + 18 others); Fri, 6 Oct 2023 09:45:35 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:34170 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S232489AbjJFNpT (ORCPT ); Fri, 6 Oct 2023 09:45:19 -0400 Received: from mx.skole.hr (mx2.hosting.skole.hr [161.53.165.186]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id C5A24A6; Fri, 6 Oct 2023 06:45:16 -0700 (PDT) Received: from mx2.hosting.skole.hr (localhost.localdomain [127.0.0.1]) by mx.skole.hr (mx.skole.hr) with ESMTP id 5F65E83F72; Fri, 6 Oct 2023 15:45:15 +0200 (CEST) From: =?utf-8?q?Duje_Mihanovi=C4=87?= Date: Fri, 06 Oct 2023 15:44:30 +0200 Subject: [PATCH RFT v6 6/6] input: ads7846: Move wait_for_sync() logic to driver MIME-Version: 1.0 Message-Id: <20231006-pxa-gpio-v6-6-981b4910d599@skole.hr> References: <20231006-pxa-gpio-v6-0-981b4910d599@skole.hr> In-Reply-To: <20231006-pxa-gpio-v6-0-981b4910d599@skole.hr> To: Daniel Mack , Haojian Zhuang , Robert Jarzmik , Russell King , Alan Stern , Greg Kroah-Hartman , Linus Walleij , Bartosz Golaszewski , Andy Shevchenko , Dmitry Torokhov , Mark Brown Cc: linux-arm-kernel@lists.infradead.org, linux-kernel@vger.kernel.org, linux-usb@vger.kernel.org, linux-gpio@vger.kernel.org, linux-input@vger.kernel.org, linux-spi@vger.kernel.org, =?utf-8?q?Duje_Miha?= =?utf-8?q?novi=C4=87?= , Bartosz Golaszewski X-Mailer: b4 0.12.3 X-Developer-Signature: v=1; a=openpgp-sha256; l=4335; i=duje.mihanovic@skole.hr; h=from:subject:message-id; bh=WwErEB93WBzHtWVtjMPvyswbjztvxyH9/d5QcCsmPgU=; b=owEBbQKS/ZANAwAIAZoRnrBCLZbhAcsmYgBlIA9dQzEhg6l+OrzvF2JShhkoAwCrJEaY0qPfq gZNy0RyIi+JAjMEAAEIAB0WIQRT351NnD/hEPs2LXiaEZ6wQi2W4QUCZSAPXQAKCRCaEZ6wQi2W 4aVDEACQfgzF2JA5g5+/dfFTyPeP0PogzvS5djifnaCN3JXzeeIoGz1pU4mb/GKYWVi9mMKLTlr VPt6O8txKZnXT5QEoEj+U6TWF/LHHxio+PAsAxcbBMSEnS+dRQ61Dl/lbr2+9aAxgoWY7Bld509 EKvs6Ekyw1paOlFd6m3MyghWmJUfOq7Juy4eGZJZo9vsT4kyJt9fh1uI19Fh8nlI29xzWKNu9Iy Sv2iQ9rbSli9QmJ0P59ZXElNrYXFbug4xAcR0AVKYGS2ChY1RTB2eVHE8vHjEaRos5Qzh6i3QQN +xpPKrpZgyDeIxr53qcb3NEweUl14AYck44Zcy6XfW3Kc71VGw5Y/RMvfziRHApAwuwPXVxtKul LZY1KOwZQjcNGx3Y9TIk+qRUQP7XvKonUnIALLmTvCas7Ra7vQt64Y1pBQxVzcxNy7sIoLFI8Op CltdNofYhKksbhGIOd/Fgu/NlfnIxVk0A4OY1lhCxDXGXDtiroHylTSZmi2uK+g/l3SDhxInrqB ky6o/tVci3yGmuEEd7EnwgAdanlUCxy4S2fOm+QLhWKSvGcsLrxb5A119ZL5BpzzPtAhRz5ARDk CTxQIrdQr2UseEUle2BO9EodzcpMHUooUV6tFeH0LyHjjTRXZIAbM1puEtO13WR5G8ohuudp8Xc oPO56adG7O8KNvQ== X-Developer-Key: i=duje.mihanovic@skole.hr; a=openpgp; fpr=53DF9D4D9C3FE110FB362D789A119EB0422D96E1 X-Spam-Status: No, score=2.8 required=5.0 tests=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 morse.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 (morse.vger.email [0.0.0.0]); Fri, 06 Oct 2023 06:45:47 -0700 (PDT) X-Spam-Level: ** X-getmail-retrieved-from-mailbox: INBOX X-GMAIL-THRID: 1779013990091189191 X-GMAIL-MSGID: 1779013990091189191 If this code is left in the board file, the sync GPIO would have to be separated into another lookup table during conversion to the GPIO descriptor API (which is also done in this patch). The only user of this code (Sharp Spitz) is also converted in this patch. Suggested-by: Linus Walleij Reviewed-by: Linus Walleij Acked-by: Mark Brown Reviewed-by: Bartosz Golaszewski Signed-off-by: Duje Mihanović --- arch/arm/mach-pxa/spitz.c | 12 ++---------- drivers/input/touchscreen/ads7846.c | 22 +++++++++++++++------- include/linux/spi/ads7846.h | 1 - 3 files changed, 17 insertions(+), 18 deletions(-) diff --git a/arch/arm/mach-pxa/spitz.c b/arch/arm/mach-pxa/spitz.c index 554a4b9782c5..1df72d4d6a35 100644 --- a/arch/arm/mach-pxa/spitz.c +++ b/arch/arm/mach-pxa/spitz.c @@ -522,22 +522,12 @@ static inline void spitz_leds_init(void) {} * SSP Devices ******************************************************************************/ #if defined(CONFIG_SPI_PXA2XX) || defined(CONFIG_SPI_PXA2XX_MODULE) -static void spitz_ads7846_wait_for_hsync(void) -{ - while (gpio_get_value(SPITZ_GPIO_HSYNC)) - cpu_relax(); - - while (!gpio_get_value(SPITZ_GPIO_HSYNC)) - cpu_relax(); -} - static struct ads7846_platform_data spitz_ads7846_info = { .model = 7846, .vref_delay_usecs = 100, .x_plate_ohms = 419, .y_plate_ohms = 486, .pressure_max = 1024, - .wait_for_sync = spitz_ads7846_wait_for_hsync, }; static struct gpiod_lookup_table spitz_ads7846_gpio_table = { @@ -545,6 +535,8 @@ static struct gpiod_lookup_table spitz_ads7846_gpio_table = { .table = { GPIO_LOOKUP("gpio-pxa", SPITZ_GPIO_TP_INT, "pendown", GPIO_ACTIVE_LOW), + GPIO_LOOKUP("gpio-pxa", SPITZ_GPIO_HSYNC, + "sync", GPIO_ACTIVE_LOW), { } }, }; diff --git a/drivers/input/touchscreen/ads7846.c b/drivers/input/touchscreen/ads7846.c index faea40dd66d0..139b0f3735d0 100644 --- a/drivers/input/touchscreen/ads7846.c +++ b/drivers/input/touchscreen/ads7846.c @@ -138,8 +138,7 @@ struct ads7846 { void *filter_data; int (*get_pendown_state)(void); struct gpio_desc *gpio_pendown; - - void (*wait_for_sync)(void); + struct gpio_desc *sync; }; enum ads7846_filter { @@ -636,9 +635,15 @@ static const struct attribute_group ads784x_attr_group = { }; /*--------------------------------------------------------------------------*/ - -static void null_wait_for_sync(void) +static void ads7846_wait_for_sync_gpio(struct ads7846 *ts) { + if (!ts->sync) + return; + while (!gpiod_get_value(ts->sync)) + cpu_relax(); + + while (gpiod_get_value(ts->sync)) + cpu_relax(); } static int ads7846_debounce_filter(void *ads, int data_idx, int *val) @@ -803,7 +808,7 @@ static void ads7846_read_state(struct ads7846 *ts) packet->last_cmd_idx = 0; while (true) { - ts->wait_for_sync(); + ads7846_wait_for_sync_gpio(ts); m = &ts->msg[msg_idx]; error = spi_sync(ts->spi, m); @@ -1261,8 +1266,6 @@ static int ads7846_probe(struct spi_device *spi) ts->penirq_recheck_delay_usecs = pdata->penirq_recheck_delay_usecs; - ts->wait_for_sync = pdata->wait_for_sync ? : null_wait_for_sync; - snprintf(ts->phys, sizeof(ts->phys), "%s/input0", dev_name(dev)); snprintf(ts->name, sizeof(ts->name), "ADS%d Touchscreen", ts->model); @@ -1361,6 +1364,11 @@ static int ads7846_probe(struct spi_device *spi) if (err) return err; + ts->sync = devm_gpiod_get_optional(dev, "sync", GPIOD_IN); + if (IS_ERR(ts->sync)) + return dev_err_probe(dev, PTR_ERR(ts->sync), + "Failed to get sync GPIO"); + err = input_register_device(input_dev); if (err) return err; diff --git a/include/linux/spi/ads7846.h b/include/linux/spi/ads7846.h index a04c1c34c344..fa7c4f119023 100644 --- a/include/linux/spi/ads7846.h +++ b/include/linux/spi/ads7846.h @@ -38,7 +38,6 @@ struct ads7846_platform_data { int gpio_pendown_debounce; /* platform specific debounce time for * the gpio_pendown */ int (*get_pendown_state)(void); - void (*wait_for_sync)(void); bool wakeup; unsigned long irq_flags; };