From patchwork Wed Oct 4 14:56: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: 148351 Return-Path: Delivered-To: ouuuleilei@gmail.com Received: by 2002:a05:612c:254a:b0:403:3b70:6f57 with SMTP id hf10csp191058vqb; Wed, 4 Oct 2023 07:57:20 -0700 (PDT) X-Google-Smtp-Source: AGHT+IEyxr13YHFPFMJtJH9FsP4YTxkUb9O92VGMYqmkimgn5hbMvxSStDlcAvq6hfhWnsTWrH9U X-Received: by 2002:a05:6358:528f:b0:143:96ac:96ec with SMTP id g15-20020a056358528f00b0014396ac96ecmr3246096rwa.25.1696431440613; Wed, 04 Oct 2023 07:57:20 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1696431440; cv=none; d=google.com; s=arc-20160816; b=swS78OBw08GgmSV2lq5O6Z2RqIFT8aRBQAJXlmUZAJgCAMiyH4ogz6kyLUbagkJV7f B7kZFaD6sFmvxLwsA+SbIDEPAs5u9aU4buq+4AE6e0TUOuyIgwbAPhMa9qChNcqCqAem ijL216899YDWI2AixwNcNuqVIDuo81kRx4fFGOS/9dxo8T8Xurv56FSGtltaw+okKG4f wYF20YG2zFS3XagQhus+YOVQ+BVrhc13XONnWZoT/XUtsTLJdaJX89CjTbALqkhFinOD 8UOH20K38i399ErsZHJr9876D2vOoC7YgTEWM1zcNiYlGegwwVmpvt1jUqWV3RBxQYip Csvg== 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=YxUOmo3S0sV+pZox2u8lJcKMV1ww0XIQ49pR10Xx5do=; fh=H4D8raVEE9ToK4xcGS9/Pnvmhs2QUzCYuQTuaKubzik=; b=sAlzeIF18btUEIqxTx5BCOgFPO9cYKkaXKwnrxvM4ENars6dQHcv0wsgArxf2UuT/d 79oJ0sH0OfBWTNlOvw18wFSrC1kE4rsj/06V3NYytDu2N8mstU8u2zyNPQAZ2ta1f8cz KNXGtxbSff05HoGoBdPpf0G2UOhzQvlJbd4NekwGd+AVaLURqpPQaJugTLstPAGSZNsl QdzbTL/OqjuktCmm+DBxd3dNbDtPzlWznYQCk0/zV4B2tDgnmoZXsrPglaI/gnDIyagS Iy81P5VMPmgAs064MrIuarpusd48r91R6P2Os96oLPBKZSUME9JK96bYVTEvA7JSemuy 0Ntg== 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:7 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org Received: from snail.vger.email (snail.vger.email. [2620:137:e000::3:7]) by mx.google.com with ESMTPS id t64-20020a638143000000b00564b8e55214si3933285pgd.385.2023.10.04.07.57.20 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Wed, 04 Oct 2023 07:57:20 -0700 (PDT) Received-SPF: pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::3:7 as permitted sender) client-ip=2620:137:e000::3:7; Authentication-Results: mx.google.com; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::3:7 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 snail.vger.email (Postfix) with ESMTP id E2401822C0F4; Wed, 4 Oct 2023 07:57:19 -0700 (PDT) X-Virus-Status: Clean X-Virus-Scanned: clamav-milter 0.103.10 at snail.vger.email Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S243141AbjJDO5P (ORCPT + 18 others); Wed, 4 Oct 2023 10:57:15 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:60296 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S243120AbjJDO4v (ORCPT ); Wed, 4 Oct 2023 10:56:51 -0400 Received: from mx.skole.hr (mx1.hosting.skole.hr [161.53.165.185]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id 127AE116; Wed, 4 Oct 2023 07:56:46 -0700 (PDT) Received: from mx1.hosting.skole.hr (localhost.localdomain [127.0.0.1]) by mx.skole.hr (mx.skole.hr) with ESMTP id 531B184CC2; Wed, 4 Oct 2023 16:56:45 +0200 (CEST) From: =?utf-8?q?Duje_Mihanovi=C4=87?= Date: Wed, 04 Oct 2023 16:56:25 +0200 Subject: [PATCH RFC v5 1/6] ARM: pxa: Convert Spitz OHCI to GPIO descriptors MIME-Version: 1.0 Message-Id: <20231004-pxa-gpio-v5-1-d99ae6fceea8@skole.hr> References: <20231004-pxa-gpio-v5-0-d99ae6fceea8@skole.hr> In-Reply-To: <20231004-pxa-gpio-v5-0-d99ae6fceea8@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=2820; i=duje.mihanovic@skole.hr; h=from:subject:message-id; bh=IagpUfl05KzWJgAFQ7XITp57I+E1tyGy7fQDYzzbJ2k=; b=owEBbQKS/ZANAwAIAZoRnrBCLZbhAcsmYgBlHX0kG/DC4k30yZXnE7oaivDMozeLKHED8Qu3Q mjJqmvQ/gaJAjMEAAEIAB0WIQRT351NnD/hEPs2LXiaEZ6wQi2W4QUCZR19JAAKCRCaEZ6wQi2W 4YubD/4gfvj8cdP8yests4zu+KCODZKOjEqvIwkuQfz0lQPokL7xOQ6EMElDljMK/mAPtya0IhG /3RBq5vS6GCr6oUNwye3Lwh2S4AwypeEbb3i5Gfa2mEQZNHDIoBeFYPuoOy8u+e3S1Hbad0ficb fuE3KNLEoyOtwtE/WfvEsfarDlA5Iwk+7t1qXsADTgLGpnHcr6dTOCCyPsXxTX7Dd0c/nrmCJ2A 2wVMLT0IGhEc5fJl/7AVJBbDAS3L6QrppWIJNG5hYHPDCW7alJElTe6uRxDP0CvBOg8SFo6+DI/ VjusHA6jCS4qyey6RV74w9XxyiD6pmUSj3gI/6V5sCg9reVSvMlF/QGCkjGgDIQLHsIIODvQggl DvofcFkGKTphh1V4hTX6LCPcfhgB3DvlQlEO6O14EOKjTuMDBIE0TuPrLBg6nJczTyCRvlwBegA ysnxGp6JQ8/SWj8LfGLVnft4Cq4iqUlhP6BXASdq7Buij3VaNPHflHoJxDpDeB4FsjoAgzyMpLd dl4cGyhJsjVirx6l18Hi9Q1mz386kafNCJj8dEC7rwxmEDMZoDjWlG2QSoGoyCHFaK7HQGIHo9h huDdzbiHQ3rgJq3vCW0lqCPR1pX8dIJiSAwHKMgpuGpnrAQOpSbKF+ExHLMEM4jnXs+nXrvEwJ+ CaBT9JL511yjeAQ== X-Developer-Key: i=duje.mihanovic@skole.hr; a=openpgp; fpr=53DF9D4D9C3FE110FB362D789A119EB0422D96E1 X-Spam-Status: No, score=-1.9 required=5.0 tests=BAYES_00, RCVD_IN_DNSWL_BLOCKED,SPF_HELO_NONE,SPF_PASS autolearn=ham autolearn_force=no version=3.4.6 X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on lindbergh.monkeyblade.net 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 (snail.vger.email [0.0.0.0]); Wed, 04 Oct 2023 07:57:19 -0700 (PDT) X-getmail-retrieved-from-mailbox: INBOX X-GMAIL-THRID: 1778837294548246481 X-GMAIL-MSGID: 1778837294548246481 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..876842b940c0 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 = 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 Wed Oct 4 14:56: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: 148350 Return-Path: Delivered-To: ouuuleilei@gmail.com Received: by 2002:a05:612c:254a:b0:403:3b70:6f57 with SMTP id hf10csp191054vqb; Wed, 4 Oct 2023 07:57:20 -0700 (PDT) X-Google-Smtp-Source: AGHT+IE6hyPh7uwJTXx/wtb7khVaCs3inVxBjvjdkSGWI0qedu/xzFgrk4N4MNezyACRgAe9f+gG X-Received: by 2002:a17:902:8f8b:b0:1c5:f0fd:51be with SMTP id z11-20020a1709028f8b00b001c5f0fd51bemr2233078plo.69.1696431440218; Wed, 04 Oct 2023 07:57:20 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1696431440; cv=none; d=google.com; s=arc-20160816; b=P/GDMeXYskIQ9E+vj60ng0numggd3oCfS+bQpUke+5uj3hV+qLJgvaef/OgWPJoQn2 arkVAgW8f1VI+mm0tS+9iNOohJk5lnbTg6Ax0iE97XPQ5qH6UUibqs49OClBPIJdE6Tl TC9IEmIDuDt/2kqOAoVGVVDpzwLp87YjV3J2EF7mXz7UFYX03CpKQiyQ+vk9v6dFQH/V c0YJfGY1KPU36eJn7XMTQy7i30dxTvPWETVy7I+TAyU5AiFYwVReGGsaIFa1eFmg1XaD PoaPDLWR5/ZKZGgKHnpe8ca6Z/+cmiambud3KATQYoyYAPEVttfiVgvhHvxJjnaVMJG0 QCKQ== 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=2ajdespr5EcQmbouvIgbLyBl3EbieKEwEQxcdffH85A=; fh=H4D8raVEE9ToK4xcGS9/Pnvmhs2QUzCYuQTuaKubzik=; b=CtNNskw+/FQC+NlHbIztLw+nRegs+iaQrIrzRBeqe4VJRjbluxvE6Zs4FhGcLFjP8U BnFtRc2v9JUFa2QZZn9aSjfKETj9157KVr8pVuIUwa+eVYC8rlf0kszbYXcsIBvy/IN0 eBBsKPZH+GQRhCirqtH3m5JAw9iSjm011I7hl/Xa9X0xu9S9XcYCLogjnJ/CSswQ9dDu ErPAtQq954c+U4P9eIv5YCwR1m+b5KrUe+Dq5ONJ7wYXdjZ3CMDV4c92U3gDSNKoCgvR 7/XMIQjAvuJFZRcPc5kmvSkKDWeNdUP2QuYRTRpTuLQsqnHqb47aaLc2EjX21n+eXRID 49kw== 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:4 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org Received: from howler.vger.email (howler.vger.email. [2620:137:e000::3:4]) by mx.google.com with ESMTPS id a15-20020a170902710f00b001bbd0450af8si3548395pll.187.2023.10.04.07.57.19 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Wed, 04 Oct 2023 07:57:20 -0700 (PDT) Received-SPF: pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::3:4 as permitted sender) client-ip=2620:137:e000::3:4; Authentication-Results: mx.google.com; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::3:4 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 howler.vger.email (Postfix) with ESMTP id 43C3D836E5E0; Wed, 4 Oct 2023 07:57:19 -0700 (PDT) X-Virus-Status: Clean X-Virus-Scanned: clamav-milter 0.103.10 at howler.vger.email Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S243139AbjJDO5M (ORCPT + 18 others); Wed, 4 Oct 2023 10:57:12 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:60298 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S243118AbjJDO4v (ORCPT ); Wed, 4 Oct 2023 10:56:51 -0400 Received: from mx.skole.hr (mx1.hosting.skole.hr [161.53.165.185]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id BFFB3112; Wed, 4 Oct 2023 07:56:46 -0700 (PDT) Received: from mx1.hosting.skole.hr (localhost.localdomain [127.0.0.1]) by mx.skole.hr (mx.skole.hr) with ESMTP id 8504C84CA0; Wed, 4 Oct 2023 16:56:44 +0200 (CEST) From: =?utf-8?q?Duje_Mihanovi=C4=87?= Date: Wed, 04 Oct 2023 16:56:26 +0200 Subject: [PATCH RFC v5 2/6] ARM: pxa: Convert Spitz LEDs to GPIO descriptors MIME-Version: 1.0 Message-Id: <20231004-pxa-gpio-v5-2-d99ae6fceea8@skole.hr> References: <20231004-pxa-gpio-v5-0-d99ae6fceea8@skole.hr> In-Reply-To: <20231004-pxa-gpio-v5-0-d99ae6fceea8@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=1871; i=duje.mihanovic@skole.hr; h=from:subject:message-id; bh=DE2PEskLXScJBG6OV6aN0l1pySPm6nNQ06il8QEoR7s=; b=owEBbQKS/ZANAwAIAZoRnrBCLZbhAcsmYgBlHX0kALPHlN4oJn6kZo3KSvCEzLz38DVYdz/Ba cdGlUtMoGCJAjMEAAEIAB0WIQRT351NnD/hEPs2LXiaEZ6wQi2W4QUCZR19JAAKCRCaEZ6wQi2W 4WtUEACCiGTLN1AbQqVrfDK7Y56hTkXDQVt4zLo7s/AxU5qOIFFW9Rk9uL1rx6av9foW4enZRUC /AN2ZqEM2pS9l3ZIHH2CmIJD7i68hB1oW/W2C++qIoTQfreneKfudMBMH4Km9wYhTZDjIPbJ9I6 pe/osql79J6vMKdOcReaQ3ZxMOUxtyTYNZMdRuwSmk7ZeNiJP1VssDlANf2N1LYg+caJ3NwB+cp NVsFa5ma1n/Z3jaFyBSxcAFXmdc0zn/QjRUxpCyYToikVRPax3QXd1aMdlJEKFtGeg82P/EqmU6 WO+tKEqsdlLc+QsEyr1/qhkGWKmIHh63sNuSeke62Huofiier20EVS8GWa68VvqW79zJ9+xlLrn OAN37lpWzMIGw6C1z75RJUM82VXYe6ab/wP4i88mtebKkdlJIKungAtsUIAzXXtpU15Jd5y2VLB 0tAt0aUgFfXEVO8a/W0XTcerFNpR32EQCFz32uT6k6gUkrYSm5FM5Dbpg2NqzOzBcKO7bUnzYA5 og84IkURN4x910DHcL8P2gdaCYf4XEVyjYO8dVHkLCGp4elHUlMUlzB+tNUHTZZs9lGNmVGAdFz IamCDlLQBCwmjSizLCo77nnqiipo+DSAzwSs/TqLfhd032qT6lzX7uPandRdFfz/nGHmVmB2dqV O74X1KQos5QWDzw== X-Developer-Key: i=duje.mihanovic@skole.hr; a=openpgp; fpr=53DF9D4D9C3FE110FB362D789A119EB0422D96E1 X-Spam-Status: No, score=-1.9 required=5.0 tests=BAYES_00, RCVD_IN_DNSWL_BLOCKED,SPF_HELO_NONE,SPF_PASS autolearn=ham autolearn_force=no version=3.4.6 X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on lindbergh.monkeyblade.net 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 (howler.vger.email [0.0.0.0]); Wed, 04 Oct 2023 07:57:19 -0700 (PDT) X-getmail-retrieved-from-mailbox: INBOX X-GMAIL-THRID: 1778837293699130391 X-GMAIL-MSGID: 1778837293699130391 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 | 18 ++++++++++++++++-- 1 file changed, 16 insertions(+), 2 deletions(-) diff --git a/arch/arm/mach-pxa/spitz.c b/arch/arm/mach-pxa/spitz.c index 535e2b2e997b..b6a4085e9fb0 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,12 @@ static struct platform_device spitz_led_device = { static void __init spitz_leds_init(void) { + gpiod_add_lookup_table(&spitz_led_gpio_table); platform_device_register(&spitz_led_device); + spitz_gpio_leds[0].gpiod = gpiod_get_index(&spitz_led_device.dev, + NULL, 0, GPIOD_ASIS); + spitz_gpio_leds[1].gpiod = gpiod_get_index(&spitz_led_device.dev, + NULL, 1, GPIOD_ASIS); } #else static inline void spitz_leds_init(void) {} From patchwork Wed Oct 4 14:56: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: 148348 Return-Path: Delivered-To: ouuuleilei@gmail.com Received: by 2002:a05:612c:254a:b0:403:3b70:6f57 with SMTP id hf10csp190965vqb; Wed, 4 Oct 2023 07:57:11 -0700 (PDT) X-Google-Smtp-Source: AGHT+IGItzA+DIThbXDmATKVdol/ZeUmBQfONTGGa3lRFbUXn+nGIChcc2IelUTihK1WkEMI6qut X-Received: by 2002:a17:90a:1549:b0:278:fe0e:4ffa with SMTP id y9-20020a17090a154900b00278fe0e4ffamr2412476pja.43.1696431431494; Wed, 04 Oct 2023 07:57:11 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1696431431; cv=none; d=google.com; s=arc-20160816; b=CExpy/ktst/A4JT6dTi/het1JIoayv3a6ekyK032DzBYs3hxHdlbtTJFTZQmpTy6zL b1m11GK3AVXa7lrJwMb490NioXGIfBtyKUjnLVldqgqQUAkO6cKQv27F0OguQgkDvVY+ 1JLZGFnVcWX45FUeG04sICn4sYjrh0uMhl2y2gy89/4IsfMH8nE3xkhzUN2WPK9nivf4 jmZJ4ONGiV2NZtSzx0TmeCkIzCmD8jY4z6n6hD/sXR76meKaSBjqQtEDoHEZ/Z1vJ1GF vhpveSxnNZVMUIBphR1Yyfh4FfnjOV9zNOFWoKH9k7vRwpEPxLCKczdZEbHsQZLc1bFh uQtg== 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=g84fWwdcJGxiPPTDe2rJ7b/9sFtL4buyA704uvoI24Q=; fh=H4D8raVEE9ToK4xcGS9/Pnvmhs2QUzCYuQTuaKubzik=; b=xO1yraQ4hObYaHrALeFjIC+N5xDWZIDXoa3SfpLnMQE5Koi/0pKnap+pxNSE6DeJun uJX2VNR7f/+tI/42fkyt0HK3lBZ0oL3EMvAI45eAvW8So7+y2lNml08JK0vqc8rwiBB9 djQViZ4kdt+xp25u+GlZEoEx3uBm/0T5rhazeuZECUCjHehdf+cC8O7z8pbWKaSCtVQy fxUWeszjDsYhxDdVym2w/NAKcxyMDak6tbvUtqkOLI4LJMGxA6DFRmO89uY2+RqJAb+0 GO/NEjx2IbproiEZspPFoJMgWW6w1sMXgNvkx2VMvDu3uQ6+XHc40nUapau9R2BurOeQ VbDQ== ARC-Authentication-Results: i=1; mx.google.com; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.37 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org Received: from snail.vger.email (snail.vger.email. [23.128.96.37]) by mx.google.com with ESMTPS id oc7-20020a17090b1c0700b0026d0a89ad68si1798348pjb.43.2023.10.04.07.57.11 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Wed, 04 Oct 2023 07:57:11 -0700 (PDT) Received-SPF: pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.37 as permitted sender) client-ip=23.128.96.37; Authentication-Results: mx.google.com; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.37 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 snail.vger.email (Postfix) with ESMTP id C27E582224E0; Wed, 4 Oct 2023 07:57:10 -0700 (PDT) X-Virus-Status: Clean X-Virus-Scanned: clamav-milter 0.103.10 at snail.vger.email Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S243214AbjJDO5E (ORCPT + 18 others); Wed, 4 Oct 2023 10:57:04 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:60308 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S243121AbjJDO4v (ORCPT ); Wed, 4 Oct 2023 10:56:51 -0400 Received: from mx.skole.hr (mx1.hosting.skole.hr [161.53.165.185]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id 124B1114; Wed, 4 Oct 2023 07:56:46 -0700 (PDT) Received: from mx1.hosting.skole.hr (localhost.localdomain [127.0.0.1]) by mx.skole.hr (mx.skole.hr) with ESMTP id 4820184CB4; Wed, 4 Oct 2023 16:56:45 +0200 (CEST) From: =?utf-8?q?Duje_Mihanovi=C4=87?= Date: Wed, 04 Oct 2023 16:56:27 +0200 Subject: [PATCH RFC v5 3/6] ARM: pxa: Convert Spitz CF power control to GPIO descriptors MIME-Version: 1.0 Message-Id: <20231004-pxa-gpio-v5-3-d99ae6fceea8@skole.hr> References: <20231004-pxa-gpio-v5-0-d99ae6fceea8@skole.hr> In-Reply-To: <20231004-pxa-gpio-v5-0-d99ae6fceea8@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=2214; i=duje.mihanovic@skole.hr; h=from:subject:message-id; bh=KS0wJeQAKLB5dKzgUIGP98I3G2fGCey57KOguPJsj3Y=; b=owEBbQKS/ZANAwAIAZoRnrBCLZbhAcsmYgBlHX0k0eLl93XWJ77A4HcpvvnTW6rw5IUEBVaZK 9G4+btriQmJAjMEAAEIAB0WIQRT351NnD/hEPs2LXiaEZ6wQi2W4QUCZR19JAAKCRCaEZ6wQi2W 4al3D/9nKmO5AkDvEj4Dgn62yLO4LY2q11bFkySNthbUGi079W8qdL5XjpM4hcehCzuWt9+lHJX ojMd3uCWUDkH0TV+3/IHseAqc45tyqUW+3NuQmQg8w+Lz57z10XbQ+fW6cL2gxtAFK82IJ6XyE/ i8AvmwKFtKIn7Ep4I1wH5q634InRqBZ1iAJqnKd4v9QJTz9yiUNYxQkTybIrPlknUl8325rvpvI y9ZsfIId1Cqw/eTMHocDabeCEaX0sUX4RA2HGnlAReo7vCD+O0inZlg8HgP+qFEp13Tt2De+osJ aC5b+tUDxloW0X0ElXa+GHqqyG/eySgrTTl1Jl3A85BWpLY8eZnEGa9wedRFyAcohXorI/FktAt jT5tpeHTAIp3bsVKzVID7NmDaqpB8bwDFVVY1AO9l6YKnLev+/H19T8rmb6QAQe4PnUdKW07yrk 0FMMig70Z4OVtpUVBOqXeZEgd8/XkOMXpfydjhHhP3w8dvdus8DuihfmLq/aA6/blYGaog9bwgE LWvYMwKLILD2ztenOD5GCtV13nZyH7D4u8g/aI3dl/hhUCOZZDzfG1cZsY3DvF6t3Da12Za5Str z2CDNRKEmWBEZgzKM+GX6m1MIBxaxB1TYeP995KTO+bub5sr+/VRXMUiysxlO5MW/3KLzjymK0I 5pV4u+cS4Gvsg9A== X-Developer-Key: i=duje.mihanovic@skole.hr; a=openpgp; fpr=53DF9D4D9C3FE110FB362D789A119EB0422D96E1 X-Spam-Status: No, score=-1.9 required=5.0 tests=BAYES_00, RCVD_IN_DNSWL_BLOCKED,SPF_HELO_NONE,SPF_PASS autolearn=ham autolearn_force=no version=3.4.6 X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on lindbergh.monkeyblade.net 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 (snail.vger.email [0.0.0.0]); Wed, 04 Oct 2023 07:57:10 -0700 (PDT) X-getmail-retrieved-from-mailbox: INBOX X-GMAIL-THRID: 1778837284826167408 X-GMAIL-MSGID: 1778837284826167408 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 Signed-off-by: Duje Mihanović Reviewed-by: Bartosz Golaszewski --- 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 b6a4085e9fb0..965354e64c68 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 Wed Oct 4 14:56: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: 148353 Return-Path: Delivered-To: ouuuleilei@gmail.com Received: by 2002:a05:612c:254a:b0:403:3b70:6f57 with SMTP id hf10csp191400vqb; Wed, 4 Oct 2023 07:58:02 -0700 (PDT) X-Google-Smtp-Source: AGHT+IF35B4iG81VjEqxgy6W9wZhcRIG2n29UresLY7sCMs3J9NGH9PL6RLsQUAfXcrlWzuEbAOP X-Received: by 2002:a17:902:e80e:b0:1c6:2b9d:56ce with SMTP id u14-20020a170902e80e00b001c62b9d56cemr2672336plg.21.1696431482099; Wed, 04 Oct 2023 07:58:02 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1696431482; cv=none; d=google.com; s=arc-20160816; b=A0YE+ADm8dpqhL3cve2VEETA4PRi1rvHoopGidwXrnJfKr1rSN+VtELaOSOsPCKTcB RE7cJvcQtyfwiCgtPNqpjrhRQzOvO5iAYGBzbB7Iog9YDHLFXKgvYgQ+QzL1FZ3e0Osp X7JA4aJTvFDS8JMCR3eYO0WK2uklIbexcmDsUn5Q6cOnSQGXCUbyJySJSzNa8yBV496G mKdJaOFfG5JbYramFgCdu/jc3mX/MqDh/RMl2FmoJ9/BlYZV64FfvYmLFLuq0f1WkCnr jSzIKWe3o8zaf5/R1XmGZ52ZVhULQJkhtohtVW86Yo50s6emZI7A5KVV0uFQ0sawQPcg HCCQ== 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=2bCE/Eg3gv6AbuEQNwWfp8EW6Vm1kavpI5dpwTB92bQ=; fh=H4D8raVEE9ToK4xcGS9/Pnvmhs2QUzCYuQTuaKubzik=; b=Vw2qMSDptjr3cbTImqAzJr/124JibM+jakOOPFaSosq+8BWuNNg+T8jg5q87X95QeH U7YsBLEFSF+XVyQeVDVU0U9sARvRbALgOF0aUctnWSr+FVzb9/rueKFBua/ePgDptIRX wYkiGM5cJEMRhQaTSITFYXEVfn3CvoRQUwUnClJ8Rg+KzSZC2FJaDQdABtlHRVtt9B5P oT6qynheus82wKUEEo9Q0t96RrP0Gk7LkH7kWtzpEDWx6au05tG7IxQQ1erXGHO520su SE+n+84qDvUnanpbSrfWklTQEX5jlHmhi/bVzk1Hja36U6Cnm9RCGrKkOYGqEmm2GbV+ zt1g== 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 u10-20020a170902e5ca00b001c72dbaf7b9si4333568plf.415.2023.10.04.07.58.01 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Wed, 04 Oct 2023 07:58:02 -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 565B981C19F6; Wed, 4 Oct 2023 07:57:47 -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 S243254AbjJDO5H (ORCPT + 18 others); Wed, 4 Oct 2023 10:57:07 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:60360 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S243043AbjJDO4x (ORCPT ); Wed, 4 Oct 2023 10:56:53 -0400 Received: from mx.skole.hr (mx2.hosting.skole.hr [161.53.165.186]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id BC7B4BF; Wed, 4 Oct 2023 07:56:47 -0700 (PDT) Received: from mx2.hosting.skole.hr (localhost.localdomain [127.0.0.1]) by mx.skole.hr (mx.skole.hr) with ESMTP id 3DC5386058; Wed, 4 Oct 2023 16:56:46 +0200 (CEST) From: =?utf-8?q?Duje_Mihanovi=C4=87?= Date: Wed, 04 Oct 2023 16:56:28 +0200 Subject: [PATCH RFC v5 4/6] ARM: pxa: Convert reset driver to GPIO descriptors MIME-Version: 1.0 Message-Id: <20231004-pxa-gpio-v5-4-d99ae6fceea8@skole.hr> References: <20231004-pxa-gpio-v5-0-d99ae6fceea8@skole.hr> In-Reply-To: <20231004-pxa-gpio-v5-0-d99ae6fceea8@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=3634; i=duje.mihanovic@skole.hr; h=from:subject:message-id; bh=4NSf6nRqHgAPG1WiwL6ByRFscIsi1iq6bpWNwCWgJcw=; b=owEBbQKS/ZANAwAIAZoRnrBCLZbhAcsmYgBlHX0kIsnU2yb6NQa+JLbqEVhjjtHyHIfpuJ/1/ v5rjuAT98qJAjMEAAEIAB0WIQRT351NnD/hEPs2LXiaEZ6wQi2W4QUCZR19JAAKCRCaEZ6wQi2W 4fKkD/4lUF/j1aNfU/G+nduzIgzW2XaU0QH3T8Jn+YAS/8GW1LPFo0hc6CCIAZ29U/h+WJHTIeO hC/wabf33OODy1Bz06PDGKP2DLehHtSWZ9IRQbhzal7vp27zSp4RXG0MwJe8laVLi66w7cE1aLA w1ciX7zv0QhwyryD4jE0lnFiE0qWWz+M6Y15k4CEZqV3i0SDKh/Gad1yf9XFQ0IlwulBfbjezg8 5fHnkG+S0UHGO9U89hcy0pNQxjtw77K6BHYL0L9MqpcZQeJoCRQhS141AypHEAB+dkLR3D6+LxJ 8Jrj4V6RVGAj5LDtzzhbohULqYd5OE/LrXSUk11FD/d1nwg4NUnPTFwFlKuLcnOsyiryxa6R2D6 rHxb/Pt4zXGfD2uOXPV/rGlIuq7Bv7FGVwGyCY2LqzCarYx+xynZh9kp+I9dfSY0tS1OkOFSRfj PjDDGUEXuCQmwwhZ8Y0IUKBpUqbfOVQYoM9VDWfIyvRk1H+qilvOrZ5Zq+xhqo5sLKzGYZGOOLb yyTKm7W3gMGISp7u+oqyl99S64Fl3k36tD5gII75Sto07s88bKCgP8re1DtqJVxGBmIEZD1D/AW CHrz7ODutoD/WS3HhXNsfHkFhsLO+21fKQR1inJLknDTYdkIQ0tLZNRQDNLjyQkVtuhkgY5OC5/ vVD9oUNhdDxDklw== X-Developer-Key: i=duje.mihanovic@skole.hr; a=openpgp; fpr=53DF9D4D9C3FE110FB362D789A119EB0422D96E1 X-Spam-Status: No, score=-0.8 required=5.0 tests=HEADER_FROM_DIFFERENT_DOMAINS, MAILING_LIST_MULTI,SPF_HELO_NONE,SPF_PASS autolearn=unavailable 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]); Wed, 04 Oct 2023 07:57:47 -0700 (PDT) X-getmail-retrieved-from-mailbox: INBOX X-GMAIL-THRID: 1778837337535342734 X-GMAIL-MSGID: 1778837337535342734 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 Signed-off-by: Duje Mihanović Reviewed-by: Bartosz Golaszewski --- 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 965354e64c68..26ec29c9cd1b 100644 --- a/arch/arm/mach-pxa/spitz.c +++ b/arch/arm/mach-pxa/spitz.c @@ -1024,9 +1024,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 Wed Oct 4 14:56: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: 148349 Return-Path: Delivered-To: ouuuleilei@gmail.com Received: by 2002:a05:612c:254a:b0:403:3b70:6f57 with SMTP id hf10csp190985vqb; Wed, 4 Oct 2023 07:57:14 -0700 (PDT) X-Google-Smtp-Source: AGHT+IF+HK6ARSgj3el9coyL5SBKQxRLtDLc5FZwWZvDk77/Dcctrc3WTPyaNaglvjolkoyexgUB X-Received: by 2002:a17:90b:30cb:b0:279:cea:cfa9 with SMTP id hi11-20020a17090b30cb00b002790ceacfa9mr2377469pjb.21.1696431434691; Wed, 04 Oct 2023 07:57:14 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1696431434; cv=none; d=google.com; s=arc-20160816; b=mqeu6ToB2oEGKOyv9f2KUAtbHlqWrqMBQXCqNZgxz5jiVvgsBckMR/s05BM69EzGim drNy9KW4uH0DkLU7826BOpxdB6C1Bb8wCu1NTnOaR2QbbKEdjAEar/sgO3iNtsyxKohT CilwVzmP7Y862pePzJubdjn98Gyli+Ltyz8kWEa5GuouRP3ZZ/bz6iXg5mPBv/UJ+EP5 xOIF961GRXB4n6kByGhiMpvJcNpbN8wT5a2Ba3xzT/06ZisWAyNgDC1J6fBRLtbXkbRH CSptwnKYwzhOTItuayqfYovrXly0Ya6SSOwZ89Hynu51ASgPjkvE/cARZNJmu3V9q+as /vsg== 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=dLMRVzDtm3Lt+LWAoidQI6YslCUhLZagRcMjvvsTrew=; fh=H4D8raVEE9ToK4xcGS9/Pnvmhs2QUzCYuQTuaKubzik=; b=xBUVTRrncjBe6rFRsfQBYpBie9LEPj62X9lguVVxEgm3M193YpdnPYAS0sJ5XqCslm PvzEU5UhTMHSnhP032uSa85I5YKhwWTz5fNMwkwAf8l0020/3ezKgwVUZOXDUCM0bGJV VdBjkcvWRsBDqT9AMf/QCoUcoCoyos55yJwsMZyb09Fk4rhp1WUKZCHvXqo2DcXrWtwu 6a/ovHonWm7xHWJm4Ccn4mnnF02N4oanb3BrHGwNGhAweFXAn8uUDV3tGJBhFHsHfyuP GXVdDhG4WRL6a5Bi3T2KtSH78wpSnYgMOuAPhrmV7mj6j0bKb5NSE7DF46cQpqFtQKiJ LBbw== 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:4 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org Received: from howler.vger.email (howler.vger.email. [2620:137:e000::3:4]) by mx.google.com with ESMTPS id 8-20020a17090a0e8800b00273e2f407casi1622567pjx.76.2023.10.04.07.57.14 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Wed, 04 Oct 2023 07:57:14 -0700 (PDT) Received-SPF: pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::3:4 as permitted sender) client-ip=2620:137:e000::3:4; Authentication-Results: mx.google.com; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::3:4 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 howler.vger.email (Postfix) with ESMTP id E47C6836E5CF; Wed, 4 Oct 2023 07:57:13 -0700 (PDT) X-Virus-Status: Clean X-Virus-Scanned: clamav-milter 0.103.10 at howler.vger.email Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S243151AbjJDO5J (ORCPT + 18 others); Wed, 4 Oct 2023 10:57:09 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:60350 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S243128AbjJDO4w (ORCPT ); Wed, 4 Oct 2023 10:56:52 -0400 Received: from mx.skole.hr (mx1.hosting.skole.hr [161.53.165.185]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id 8F88011D; Wed, 4 Oct 2023 07:56:48 -0700 (PDT) Received: from mx1.hosting.skole.hr (localhost.localdomain [127.0.0.1]) by mx.skole.hr (mx.skole.hr) with ESMTP id 0B30484AF1; Wed, 4 Oct 2023 16:56:47 +0200 (CEST) From: =?utf-8?q?Duje_Mihanovi=C4=87?= Date: Wed, 04 Oct 2023 16:56:29 +0200 Subject: [PATCH RFC v5 5/6] ARM: pxa: Convert gumstix Bluetooth to GPIO descriptors MIME-Version: 1.0 Message-Id: <20231004-pxa-gpio-v5-5-d99ae6fceea8@skole.hr> References: <20231004-pxa-gpio-v5-0-d99ae6fceea8@skole.hr> In-Reply-To: <20231004-pxa-gpio-v5-0-d99ae6fceea8@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=2122; i=duje.mihanovic@skole.hr; h=from:subject:message-id; bh=Gv06Li3m6ZDEu/OZu0Z3JoESggoJqQsy9aW/skUnF5Q=; b=owEBbQKS/ZANAwAIAZoRnrBCLZbhAcsmYgBlHX0kwdV5y4zhyP8/zjJd45730lYLJamKkxfxQ N1m4W6WYpqJAjMEAAEIAB0WIQRT351NnD/hEPs2LXiaEZ6wQi2W4QUCZR19JAAKCRCaEZ6wQi2W 4bPsEACkCTkjzk3My/bY4JjnK+trV4GkYqLU8o+sqYfXF95p47zJVS8JbvlEGoCLk8ecB7eMSlj nKfICObaWgIvM8yNgwRiS0t2lKU4QAe37ocphg88uuUNqrT6kgHsLd8JbMXTmwknOvdYRm29E5m eAt/qZkg5rjvIihytRicEj/uayoEuS9IV6e3sQ8rBJQ1i3HmIbZoC14PtQPNn5/ENC0DYWXxYHy 8vEqTWNAOGc5py8ESsa8c908J8MUKCGHo62wn9f2CoUUYtK9GmpAcWThwgZD2Cu4wQb5aGcOgeO VpbaKuz/7g9KrYbYG7UH7z6aZNcSlFgiMlnGfoj33aFV4h0N92iJkX+tVKKDelQmpiLby9BfEfe uhcX+OerBofGMdZGrKyKAfaMsuSmpYM7K+YLkmXnCqPswDCaxMB3mwXuyidvs3EXlOJB44xSD96 f8tDsCyEVCyjTVloL1hI7nTtazouZBc3xSld3ew0fvB7EbDHyqGNgJ26BErXj29MsTv80GYQw8O xNseAyu1mW6Uf+ThqwgjpEfhjTqSlbgpLBX8JZ5Wh+HlSIF72AcC8Ce7rrhGZJYhBqM76FQHUKv 40NvFuMQay9T9MQIA15heVEOisMi1YqDxcyEzcZW82cQTuFezLLHZ2hCpkdnP0sM8G10ZYbmo22 uyF836IrqKgCk6g== X-Developer-Key: i=duje.mihanovic@skole.hr; a=openpgp; fpr=53DF9D4D9C3FE110FB362D789A119EB0422D96E1 X-Spam-Status: No, score=-1.9 required=5.0 tests=BAYES_00, RCVD_IN_DNSWL_BLOCKED,SPF_HELO_NONE,SPF_PASS autolearn=ham autolearn_force=no version=3.4.6 X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on lindbergh.monkeyblade.net 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 (howler.vger.email [0.0.0.0]); Wed, 04 Oct 2023 07:57:13 -0700 (PDT) X-getmail-retrieved-from-mailbox: INBOX X-GMAIL-THRID: 1778837287793179577 X-GMAIL-MSGID: 1778837287793179577 Gumstix still uses the legacy GPIO interface for resetting the Bluetooth device. Convert it to use the GPIO descriptor interface. Reviewed-by: Linus Walleij Signed-off-by: Duje Mihanović Reviewed-by: Bartosz Golaszewski --- 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 Wed Oct 4 14:56: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: 148354 Return-Path: Delivered-To: ouuuleilei@gmail.com Received: by 2002:a05:612c:254a:b0:403:3b70:6f57 with SMTP id hf10csp191916vqb; Wed, 4 Oct 2023 07:59:03 -0700 (PDT) X-Google-Smtp-Source: AGHT+IFZOhhTRP/crMlg0dLKA6Eq5G0ePt5ceoX+jMv4PO4iLhH2WARSed10W98dYGUGPrJbGcVo X-Received: by 2002:a05:6358:9196:b0:14f:9904:9d6e with SMTP id j22-20020a056358919600b0014f99049d6emr2780200rwa.31.1696431543671; Wed, 04 Oct 2023 07:59:03 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1696431543; cv=none; d=google.com; s=arc-20160816; b=0NDVqrQ5HfTkM0yBddKn+KsPHQlZRJV/8W1eah8OXRyfsrUizg1Y/L0VsyXylrdXdF hOJ+F2JkeKv+2+0DCmE4JAOZvh7qblM8jSHUEccEUOaicr27AtFhhlpi2z28+XQAoFaX AqFOTsa0HkxC5Dgz+wUY8pFccIRXg/x7U0r/NB7ULd1q0Qndjjl4nFs5rXKUnKgiE1Ka rQnhOSHR9jISAEb5NZZEbtSTJbYJlhrcQSjMBvau+wsQYh1aYo+JTKG7XdF72LgMsRBj DFa1zZ7foBBCUeSoh29YtGv4gEQD4lF2q6tq0A1+PIIqcWRo+6jXGgmv3a7yVN2Irdsp lN/A== 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=gL2n+M6q7Q2kgkxGiKlgjREpXVu/sinDp9+wrWlxYDI=; fh=H4D8raVEE9ToK4xcGS9/Pnvmhs2QUzCYuQTuaKubzik=; b=JELq6ibpCGwcCv1No2RMZcgV6gsvvZCzXe0WI29Tqqc2/9qGatZe3XE38ZpsktxYUh +w0Q/WDb8aNL8LRxZU2YKaL3VXr77mFBDjxuncdd5euodkh+D/INqvtILUgwbgyLpFpZ 9JIFcBXNoERBtM8PHHR+EAr8Jpq8+oNRs/5TdgTHjpPqdLSLeWFW4W2KuKIBlHyAulyA 2sQXZ6bFFPxtOJsfuQtGOetUMH/exrtISPrtn9+doItyyorSoCQU2nkyr5QtulEfCY9Q Ja9hO6tLMUZmjIYhf+6ziKtbjhRXxY3tD2FT/u36DIGxJWnPCKyGjxIQLvioQm8hq5Pl 8gHA== ARC-Authentication-Results: i=1; mx.google.com; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.35 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org Received: from groat.vger.email (groat.vger.email. [23.128.96.35]) by mx.google.com with ESMTPS id x184-20020a6363c1000000b00578c9144919si4073549pgb.254.2023.10.04.07.59.03 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Wed, 04 Oct 2023 07:59:03 -0700 (PDT) Received-SPF: pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.35 as permitted sender) client-ip=23.128.96.35; Authentication-Results: mx.google.com; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.35 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 groat.vger.email (Postfix) with ESMTP id 04A4F82357A8; Wed, 4 Oct 2023 07:58:51 -0700 (PDT) X-Virus-Status: Clean X-Virus-Scanned: clamav-milter 0.103.10 at groat.vger.email Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S243011AbjJDO5R (ORCPT + 18 others); Wed, 4 Oct 2023 10:57:17 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:60480 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S243145AbjJDO4y (ORCPT ); Wed, 4 Oct 2023 10:56:54 -0400 Received: from mx.skole.hr (mx1.hosting.skole.hr [161.53.165.185]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id 04B97C1; Wed, 4 Oct 2023 07:56:49 -0700 (PDT) Received: from mx1.hosting.skole.hr (localhost.localdomain [127.0.0.1]) by mx.skole.hr (mx.skole.hr) with ESMTP id 84E2384CBD; Wed, 4 Oct 2023 16:56:48 +0200 (CEST) From: =?utf-8?q?Duje_Mihanovi=C4=87?= Date: Wed, 04 Oct 2023 16:56:30 +0200 Subject: [PATCH RFC v5 6/6] input: ads7846: Move wait_for_sync() logic to driver MIME-Version: 1.0 Message-Id: <20231004-pxa-gpio-v5-6-d99ae6fceea8@skole.hr> References: <20231004-pxa-gpio-v5-0-d99ae6fceea8@skole.hr> In-Reply-To: <20231004-pxa-gpio-v5-0-d99ae6fceea8@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=4268; i=duje.mihanovic@skole.hr; h=from:subject:message-id; bh=mfGlDLCki8NV8tuIB3jWgW4BpAW+ImMtQkJ8rvZ0eFs=; b=owEBbQKS/ZANAwAIAZoRnrBCLZbhAcsmYgBlHX0ko6QF0tV1IpOHpld/KlsqWZMXejAlxwX4p RioSchfOkqJAjMEAAEIAB0WIQRT351NnD/hEPs2LXiaEZ6wQi2W4QUCZR19JAAKCRCaEZ6wQi2W 4UDJEACL1rzW0OK+OZlq0VZP+NcIBMKUVlmXswhE+c4fqQzKRHdfqVHJ+HNX/f5un7+vbog19mN ghkrHhQ3na+v7tbB2lKBHQfIkfqt8Lpzo4yxZoj/xheHAaTNmC95iIzDcDejfXhn1RFqiCyg8f2 b1/VcmMwKpw881LCL3rBkpws3D6d7E9E8p1Iv62fMYRXgHsm9SJdGxCLx649Z1XT+cw63ERxQAc 9CO8OfRrwX0q2ip4aToA8AjddXA3MPIIfOn61sJh+k6xC/18IuQ5CMeF+R1pmMI4BBELNM0HWPt 4C9GwnRQFfLR2q1IgIuSYYOwKP6xizY6fYWOGeI+oXLqEjpe9yAz+xo+AV3k8SHdrTJfA5wO+Fm 2qZ50mDe3kerUqoOWAsSBf3aejym2q3i84DPemXqPkfk1Gog8R/0LyJtNh/SbP6F3zsmo58N4oo xdxemvjNCm64z0s5l+RJYxZTPB006qGhmS6UReKLHSR7GeV7mm78+y88WQ49BadsUCNol5i5nEH hEJdwUnulJII8uLcsjyGEMJMSK4j+szRDYFuxVo2eaT+cVTDsja40QF3WUhK8qBiCfQHAYeaSZl jqXP36EKy0W8BZkP9wqRrtlYzTa74nY/n4Xw2C4T6g6zXwQzfXyg5HxYpH0xmh2Cbr733QVkoKv JVBGQIlAgoCRiaw== X-Developer-Key: i=duje.mihanovic@skole.hr; a=openpgp; fpr=53DF9D4D9C3FE110FB362D789A119EB0422D96E1 X-Spam-Status: No, score=-0.8 required=5.0 tests=HEADER_FROM_DIFFERENT_DOMAINS, MAILING_LIST_MULTI,SPF_HELO_NONE,SPF_PASS autolearn=unavailable autolearn_force=no version=3.4.6 X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on groat.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 (groat.vger.email [0.0.0.0]); Wed, 04 Oct 2023 07:58:51 -0700 (PDT) X-getmail-retrieved-from-mailbox: INBOX X-GMAIL-THRID: 1778837402129773309 X-GMAIL-MSGID: 1778837402129773309 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 Signed-off-by: Duje Mihanović Reviewed-by: Bartosz Golaszewski --- 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 26ec29c9cd1b..e8bc0249b503 100644 --- a/arch/arm/mach-pxa/spitz.c +++ b/arch/arm/mach-pxa/spitz.c @@ -520,22 +520,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 = { @@ -543,6 +533,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; };