From patchwork Sun Oct 1 14:12:52 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: 147105 Return-Path: Delivered-To: ouuuleilei@gmail.com Received: by 2002:a05:612c:2a8e:b0:403:3b70:6f57 with SMTP id in14csp894018vqb; Sun, 1 Oct 2023 07:14:21 -0700 (PDT) X-Google-Smtp-Source: AGHT+IGoGEG+qU2WCWObqlHyIcK4av1vXIrAiR5phb2L+RwQ5MsWCoo0s7HqLUowyX3re3/nlm8n X-Received: by 2002:a05:6e02:12e3:b0:351:4bf9:5b02 with SMTP id l3-20020a056e0212e300b003514bf95b02mr11992770iln.7.1696169661504; Sun, 01 Oct 2023 07:14:21 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1696169661; cv=none; d=google.com; s=arc-20160816; b=sfyzINVjHNHW7R0GYi1LXFbJL3i9PQfl2lqGoFnWwN0hDKgM4w+mvw8dCW6ClKu8Oa csZRMRQRFIDDzD6eDPTDk/v58nWChhmPk4q1cbZR7wM9JeBAJI1njDOThwUD46RF4ttF tNKGaVAvGeS+JGvHtyN6burXSFzg0YFQtTHDku7Gqh8gQIeJYkz9JRzVnmjItmRjOC0H EbdOJZHtBrm7DCq68a7Bz3JhOQpuXufpZ6Q68auJIlsl7kQEBNTooCF7YI6tMRIVEfqq 8ogX9cHdyG5hBWlQ41x1tdxybM1IK1kxQMrxgkRJazoH2IeJg/SJALitOwoPFdOtw3h+ AWGA== 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=1lrWLmjhOOFlo4DwBMHXgeSp7RzWsk5WoP10hZuc5mw=; fh=H4D8raVEE9ToK4xcGS9/Pnvmhs2QUzCYuQTuaKubzik=; b=uJD+R5J2E7JvS14nPYwnt+wcXDYB4Y0xMBj1MAPf056hY1OA7MuguFUoIa+Fv97bp7 ljDZmr+qJD8MjBR1vuAGqVFSwyI1TtEqJjTVQCAclrq6sO4KEfvv30qcxpr/F2SN9uZc 0Uz87hrDdPcymgMME1+aFqzDmN/3qtCOmFRoN0X3YcgtetglAtfP067gGgmSaZJ+0B31 zDB9eqhoz/ck/gKPhCY8Dr7B3E+fgW41TOzZETN3J2fjv8LUg7svDMBNnpkcymbCMmmp pYA6RFEdaY5toH+PdS5dpZmMUuTTwTBe+WKPjTjWRitzURR96cK8A4YCNsGBVT9oZdkE cRBg== 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 pg10-20020a17090b1e0a00b0026d0fa1c51esi5962336pjb.125.2023.10.01.07.14.21 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Sun, 01 Oct 2023 07:14:21 -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 9C376802EF2D; Sun, 1 Oct 2023 07:14:16 -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 S235099AbjJAONN (ORCPT + 18 others); Sun, 1 Oct 2023 10:13:13 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:33026 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S235060AbjJAONG (ORCPT ); Sun, 1 Oct 2023 10:13:06 -0400 Received: from mx.skole.hr (mx2.hosting.skole.hr [161.53.165.186]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id 4DEAEB0; Sun, 1 Oct 2023 07:13:04 -0700 (PDT) Received: from mx2.hosting.skole.hr (localhost.localdomain [127.0.0.1]) by mx.skole.hr (mx.skole.hr) with ESMTP id 3E63482EE4; Sun, 1 Oct 2023 16:13:02 +0200 (CEST) From: =?utf-8?q?Duje_Mihanovi=C4=87?= Date: Sun, 01 Oct 2023 16:12:52 +0200 Subject: [PATCH RFC v4 1/6] ARM: pxa: Convert Spitz OHCI to GPIO descriptors MIME-Version: 1.0 Message-Id: <20231001-pxa-gpio-v4-1-0f3b975e6ed5@skole.hr> References: <20231001-pxa-gpio-v4-0-0f3b975e6ed5@skole.hr> In-Reply-To: <20231001-pxa-gpio-v4-0-0f3b975e6ed5@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=2808; i=duje.mihanovic@skole.hr; h=from:subject:message-id; bh=4sX1PS5NLwZRhHOu3BMbTUbGwhVaNfoWO3+h0yX7Lg4=; b=owEBbQKS/ZANAwAIAZoRnrBCLZbhAcsmYgBlGX5oD5v1q3D2pBy2pnWW2mOiPNx+cRWWHjXfT RC/kxqaZVqJAjMEAAEIAB0WIQRT351NnD/hEPs2LXiaEZ6wQi2W4QUCZRl+aAAKCRCaEZ6wQi2W 4WEWD/0TD83mGgXX8o3qZD8paDoQgp4k+yu4xZlTzVxdkLr+ylGQfiGcqEzT+aYJilDsxRL7+EP v4nB+OOzh93aPma4q19BpnlJ+Odk4hBzDL+ztx782nmj6zcbpYj6d0HaAh4XxOfxlqqrN0j2lbI twBW6A4eKIif1nmDu0g8ITuG+Z1TSLynaj8tKnc7irnO13NcM6xwj0zzSnaG+OUNZTUClpmj+H7 XDaVRHwzymEMxVU+t8YlP6mDo/ev6EfIbq25sr+FT6Qbdlcga5eE29H+FeKpiiKYZ3k3fNlgnwI UF3OAsORFbf6fbgOtDWVDyAf2vw3THHfrGPu6gYBVHZP5QFRUHIE2E+APhhomuDuetSbhPDovJX +ZrX5vDvcVDABKRtLAFaNDZB0lMQy4BNLmO6w0RVDbe5FPnsAcaDcR+oRmOJG2pILgS9JySqEJe pH7nfCrJYVpFvUNlW4MHc1l3APqb/WALkyZy3wejzC00/wDsuKkDq7STUkbTNFnDoQo6jtN/Avz Vn29rj4CGQ/0eNocMPKRCtCdTkZXyndk/Znxz57hz6KNKfIEal6A5gqrh+VKoKqwhB3uGkxxiN2 3yw2rWAWtSqyiHEqJhfjOVKPesl22i4CWHkIUbGYXSkr8Rx7HjbYNn1uHOxdFCMA+PKX0mFSE98 EBnaGhZEiosq8dA== 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]); Sun, 01 Oct 2023 07:14:16 -0700 (PDT) X-getmail-retrieved-from-mailbox: INBOX X-GMAIL-THRID: 1778562799340173412 X-GMAIL-MSGID: 1778562799340173412 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..b70d452ca7c2 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)) + dev_warn(&pdev->dev, "failed to get USB host GPIO with %pe\n", + pxa_ohci->usb_host); 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 Sun Oct 1 14:12:53 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: 147104 Return-Path: Delivered-To: ouuuleilei@gmail.com Received: by 2002:a05:612c:2a8e:b0:403:3b70:6f57 with SMTP id in14csp893640vqb; Sun, 1 Oct 2023 07:13:32 -0700 (PDT) X-Google-Smtp-Source: AGHT+IEZMcy9ne89JQiNpIvsNiWYiEv1RRkmTuEvI9A561vG3JOQlipSAdnvuMybyFvSf+d+Gz9I X-Received: by 2002:a05:6808:1a18:b0:3ae:4d0:7f0f with SMTP id bk24-20020a0568081a1800b003ae04d07f0fmr10614177oib.19.1696169612522; Sun, 01 Oct 2023 07:13:32 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1696169612; cv=none; d=google.com; s=arc-20160816; b=d7evI0pjN8wKimv4eFt8X4zPSoBFO9UnrJCf0I0ZI40Kqv1djvJwfsU7DeHPYkA7z6 KjZEpGd8pDG8AJ5KNwK17+ASvx+sbCsQBPhLpXL1wv3v3a9wymOKkHsy3ppt2r64Z6iP GiPcDwqdDh3GUR93Efm1uS1TCUj7AT6MrzkCyw5k9Xf9C87nVaG+RTtzbNhtd+5TIcVJ VmCiaWieqo0L921nQigihHgPjYXVX1T66U3AJENjvyw67JNGqzj+RnHabNpkJyhWxD27 6RcLTK5YgowYDVg/y7OkZl4eVFK3vX+9jSFVY8xMv8qZd+DIs43R9aXeKoKJQ6+mqJOW L0Pg== 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=rAD+g8mOt0h2o5zKcanFlKtYbN+oIyLlIriuABt6+8E=; fh=H4D8raVEE9ToK4xcGS9/Pnvmhs2QUzCYuQTuaKubzik=; b=p6oRuLiWkb/jykZs4PAr1tWwY+25Q8hPnO6jihfl5DSTLUFxSFGrSGxWCh3xnz5pm8 QIsnVfas/HbO+ZT2P7OxtAs50lw92ToN/424eRHuXWpfmlNUDCzv6iso3GKYA/TWY1Zv YIVM5QRy5jqJdqdrHG9jekv4I13GN4aHSdE85tWCBq7eqtn0DAOg+esqiPpO22y3iCKy eH5noa5vTaeM41HEUS/CRfqueWaO0DC5XWf5r6c8hit0fDrfEmTPs/AOqwHEh9UfGBAa ZMcmBvvx2J9o1YLg0ZBMZGk5kq3cDY1JYjHJi46kZZCDkbEim1mwNPsNgNRhw+KVKppr KnDQ== 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 j19-20020a17090ae61300b0027761a3a4b0si5707638pjy.0.2023.10.01.07.13.30 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Sun, 01 Oct 2023 07:13:32 -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 1283D80292A7; Sun, 1 Oct 2023 07:13:18 -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 S235081AbjJAONI (ORCPT + 18 others); Sun, 1 Oct 2023 10:13:08 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:33018 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S235026AbjJAONG (ORCPT ); Sun, 1 Oct 2023 10:13:06 -0400 Received: from mx.skole.hr (mx1.hosting.skole.hr [161.53.165.185]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id C44AFAB; Sun, 1 Oct 2023 07:13:03 -0700 (PDT) Received: from mx1.hosting.skole.hr (localhost.localdomain [127.0.0.1]) by mx.skole.hr (mx.skole.hr) with ESMTP id 5D829820F6; Sun, 1 Oct 2023 16:13:02 +0200 (CEST) From: =?utf-8?q?Duje_Mihanovi=C4=87?= Date: Sun, 01 Oct 2023 16:12:53 +0200 Subject: [PATCH RFC v4 2/6] ARM: pxa: Convert Spitz LEDs to GPIO descriptors MIME-Version: 1.0 Message-Id: <20231001-pxa-gpio-v4-2-0f3b975e6ed5@skole.hr> References: <20231001-pxa-gpio-v4-0-0f3b975e6ed5@skole.hr> In-Reply-To: <20231001-pxa-gpio-v4-0-0f3b975e6ed5@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=1816; i=duje.mihanovic@skole.hr; h=from:subject:message-id; bh=Kq4sitRUky6xb8wL9sBaMZGXvKR+7tYT75wjzOs1EKA=; b=owEBbQKS/ZANAwAIAZoRnrBCLZbhAcsmYgBlGX5oiTaZUpJDP7w5L7beBppkIPioNnA8+i8f/ 4vGwGpa92SJAjMEAAEIAB0WIQRT351NnD/hEPs2LXiaEZ6wQi2W4QUCZRl+aAAKCRCaEZ6wQi2W 4a3ID/9kD0IUxsNMJ0Kgzqs2+ecS+vsRfinQKLHtN09655zhXWVN9oGjz+yP46mVg5jX91D+uKN QkkD/scdTUAaVgsCKI01u6iKCfaZnzSUSJXcNkk0pSwwfwrtRP0LQxtdhJIoRDrXHL9Gn1NY3Dj Li2/9Hzonh+jdTrjFmoX/UmUIiEegu5ll7jDF60T1CwnQ8bDZn4Ulh1MptAymAhrbFD2wV0qsiu kcFP0SsgmqqxJ4Lde6pK32w5mjMgpgiLz/ayGUl0RBhhz3W1Pfeqif0tyLJsP0LTJMPKsEpPMUr L9lTRfHlL1t9krEVMB9YG9XWO3ZK+qAaVxMzFcdUqjgr0ihj5Nm10bg5vua/M+Ipvwf3x2t14qG rUOdQmp3Yc2TwCS2cTmrxsSY/EmScxUNKdlv62VSyids0AeWnYNyyXtuLX70TA1sRf7olJy8ZQz 9PG6hTSvqi4dnHIRnFhrUnGP1xcRuzzVvZ2xyWqskxy8Gpp5RXDOgULDTwZw69GOt3zXmiVqWQB qXC4h1XjT7fRatDR3J6UGAe4O1N4YD+usOx6TdFroler7JY0Lkp7RzzoyPttwmHc/Me+oVqKVHy KW1Azyyv0tUWmKkqxAwEN8O+HF4FCJQKj4JS5EXwwbAIygnsBJEY4KfrUK13FcEyciYOsskWcPU F+X4YO720TTYgDg== 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]); Sun, 01 Oct 2023 07:13:18 -0700 (PDT) X-getmail-retrieved-from-mailbox: INBOX X-GMAIL-THRID: 1778562747398775255 X-GMAIL-MSGID: 1778562747398775255 Sharp's Spitz board still uses the legacy GPIO interface for configuring its two onboard LEDs. Convert them to use the GPIO descriptor interface. Signed-off-by: Duje Mihanović Reviewed-by: Linus Walleij --- 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 Sun Oct 1 14:12:54 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: 147107 Return-Path: Delivered-To: ouuuleilei@gmail.com Received: by 2002:a05:612c:2a8e:b0:403:3b70:6f57 with SMTP id in14csp894052vqb; Sun, 1 Oct 2023 07:14:25 -0700 (PDT) X-Google-Smtp-Source: AGHT+IEBwRq05N4RC393QU3pf7BnitIGXd9yMrq9bQbPDdS9u+LEma67wk56+15c/1qWPbGXNVg1 X-Received: by 2002:a17:90a:b304:b0:277:5cd5:6f80 with SMTP id d4-20020a17090ab30400b002775cd56f80mr14684349pjr.16.1696169664805; Sun, 01 Oct 2023 07:14:24 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1696169664; cv=none; d=google.com; s=arc-20160816; b=xe4s8kHJ8TAI3/KX9AX+RT4GBsO+d2i9DOzd/tF+CILRwv/wkTENOSIZZsyerKqW10 Sltlyww6Grz84i+DrZ7e6AHRzvjgK2v1hEGPxb33mLwFc17A7fXSenlMl8WWq1bYbEf5 /JS4YMKpA7TZ80r2XMWv3dorU+VAGo2oaqEjE45LY8wh2utLeOQniNO+jaemzNeLdQSU 3YLgyfC9mZrEaF2GSYyYAhkPNrF2ZrjPIvz9/W5juBzozIQMY3LhGw3z3u1hHi6wAbxF zVxsh4qoEsk4cZuHfsnnTl98ZCj/XuHw2zXzF4ShRmwYP46JVqLyP3vDARy/MB+xPMCu ud/g== 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=BIPbHl8jaqFivi8h6J158fVSFq4BwpuKIzEUenc54GJ0MX8yxZZcdtAnmIIPkpuG+R JTF44vEaFyLSec17sleIawWmtDoJ8ve2elpdIB8zzWAMk3w5g/XjYHTcltrmu+qd3E4e flXUOJRwTOf/lgX21qKCUdmLB3cFTHZfGkTp4lBkavOb0d+RBB7enWvhYhIpfZdqoOve ONvqhbOHgFQUrRSwdPfqvxyln2Nfrv1WpfShH8hnYdhxpr2BgGaWeI0lJFOZTCpi41Li vspkl7nWp/VZ+iORu6V8oRvr2vSFSK8NrKL6d6N29ZTR4ffjDPlXuT9t1tAYoUo8oLuo eQTg== ARC-Authentication-Results: i=1; mx.google.com; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.34 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org Received: from howler.vger.email (howler.vger.email. [23.128.96.34]) by mx.google.com with ESMTPS id l20-20020a17090aec1400b00277816efefasi5481001pjy.106.2023.10.01.07.14.24 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Sun, 01 Oct 2023 07:14:24 -0700 (PDT) Received-SPF: pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.34 as permitted sender) client-ip=23.128.96.34; Authentication-Results: mx.google.com; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.34 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 771F380B8DE7; Sun, 1 Oct 2023 07:13:30 -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 S235023AbjJAONT (ORCPT + 18 others); Sun, 1 Oct 2023 10:13:19 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:35262 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S235073AbjJAONI (ORCPT ); Sun, 1 Oct 2023 10:13:08 -0400 Received: from mx.skole.hr (mx2.hosting.skole.hr [161.53.165.186]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id 32BEFB3; Sun, 1 Oct 2023 07:13:05 -0700 (PDT) Received: from mx2.hosting.skole.hr (localhost.localdomain [127.0.0.1]) by mx.skole.hr (mx.skole.hr) with ESMTP id 9FC7284920; Sun, 1 Oct 2023 16:13:03 +0200 (CEST) From: =?utf-8?q?Duje_Mihanovi=C4=87?= Date: Sun, 01 Oct 2023 16:12:54 +0200 Subject: [PATCH RFC v4 3/6] ARM: pxa: Convert Spitz CF power control to GPIO descriptors MIME-Version: 1.0 Message-Id: <20231001-pxa-gpio-v4-3-0f3b975e6ed5@skole.hr> References: <20231001-pxa-gpio-v4-0-0f3b975e6ed5@skole.hr> In-Reply-To: <20231001-pxa-gpio-v4-0-0f3b975e6ed5@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/ZANAwAIAZoRnrBCLZbhAcsmYgBlGX5oGOZ/36VGpBrhdXBH5NSPjJz6Lj1UACbIz AMK77fWzjaJAjMEAAEIAB0WIQRT351NnD/hEPs2LXiaEZ6wQi2W4QUCZRl+aAAKCRCaEZ6wQi2W 4c9wD/9RY/iEtMcmEwtCHgo1J8A4DSWLfa83U2AGPgZUCGseig6F3xvOl8v3j5TZPplKKBcDLFp AaD98ANxx7IbR0GIMXWQGxZfZzhh8epNOj+JI8m3NTiiMpH4fGv2uUVktdaXZv0f7kVSIIuMnyZ kvXcRqUCWAT8gCRJMA1fCKjBeV21VosCt5KKXRrEcE5WmPwGGMp6U41WC0fBgw9VI/xAbeNHk1h qrVN5wS6vyHvSzGg1y3rCxPnxhNjMDpkbDlmYwIisq0EOKQMrE0br3tZt0M3xlJehqW/C+Rdlqq HC4C7EUMJqzxQ0pzUvHlfZpixYbbEIfyWVOxrxiXxNnRVD+n6Hkl6LrjxlhrBY/ra2Yn5lYWVvz Rq+jz3PfbiB6Jv0sRvxIMCINYlzTU7eg8aK8Gkrn1CFJ56z/10al/DTq6XkRDynFFDJihXl6DCQ 672bFWd4+6RyVxbAhsB299Oa6nVJk6PwQkvU10ICRqnHsn4PLNpranzaPbO2YnDCMEmqJR9N5Pw ZPvgVZJdk/EmX/SiDP2DOkTgB7OUXNY1Ahas4gie1IeMFqTYGyaE68bFDL3sUQk4xTuw/lmtgYG 1E0nXSuJ9Uy6GRqIvflbJgx/EfJLqFaoq8T90+gyEHLpeLAC9zbDSsrJBTHEZKE2bJDxGfQca79 uXfyiH3ReB4Azsg== 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]); Sun, 01 Oct 2023 07:13:30 -0700 (PDT) X-getmail-retrieved-from-mailbox: INBOX X-GMAIL-THRID: 1778562802341961296 X-GMAIL-MSGID: 1778562802341961296 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ć --- 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 Sun Oct 1 14:12:55 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: 147110 Return-Path: Delivered-To: ouuuleilei@gmail.com Received: by 2002:a05:612c:2a8e:b0:403:3b70:6f57 with SMTP id in14csp894706vqb; Sun, 1 Oct 2023 07:15:38 -0700 (PDT) X-Google-Smtp-Source: AGHT+IHNfqzLEOP0CnjTAGbMEnaLEVtfpcN221oEKJa/2DPrSdBYLuaClBDQ5d/fxnoysDgpJaMU X-Received: by 2002:a05:6a00:1394:b0:690:41a1:9b77 with SMTP id t20-20020a056a00139400b0069041a19b77mr12140777pfg.10.1696169738703; Sun, 01 Oct 2023 07:15:38 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1696169738; cv=none; d=google.com; s=arc-20160816; b=Vpwj6/ZAYvcEO3aHEqeF+NLUR5e6u1+2LqMcyU9OzUKTiEJIYF+2lmdXwg+fj5a671 LRW92CSvE97AUoHru6jbGfGe1XNk98ZHg8IbijjGvLxRp0BcLOiwnv2lIJ86OlVLozi1 bPVTNO8Qi1yNtj+cbami4nSzt1GXmiekfPWiNGcQm//DRHzXJ/Q+hhbWF1ZcUXOIsJpt uGihb8hYn5pxLT2J4A5r3hZNxlPbVPUgyyC+W6vZnKLjIdDuvRJcNrssupVP6svjxCa9 3cq6Te0GKhbb7cKTJ9SsRk5kbe5/h8A2hsgDaBhAKJbn/9jYXInh3EP1m6b/EauRlHE8 kipg== 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=ni145MgclowJ0YSSWV8sOlZGEAFXfpkNkW1Yumn6aaY=; fh=H4D8raVEE9ToK4xcGS9/Pnvmhs2QUzCYuQTuaKubzik=; b=vAhM+etloxxep4Nz35Xo6ZzfZsiuikcID6HKELmhJ5tE+weNVjdtn8w9WmYPSKdf/s lOElPgwPdS6p6EhLwmKpcuyNyAKj1NjA7t+1gc5UbcwmSHUMseqTqTDd78wbIF/LhQ/o mVXt5X1dLkMAxxQYSQuJ/09Ey6Q5JtI/nzTR4jzL7vamOBFryZFFSn29Hpc6r6blYdJg w5kddtBkfe6+a8PZYPILHEihiKkXCmFhzoJ320url9/OimKXY0mvEQmVHQnGRM+MhZjn jRauKa8hOKqBDtyYIwM5lCiT9buFiH268aZ38qwUGBOUnYXvsKACbTBvM44ZnVkWdw0m RRtA== 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 h22-20020a056a00231600b00690296eb869si26950390pfh.257.2023.10.01.07.15.38 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Sun, 01 Oct 2023 07:15:38 -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 B8DFB802FD39; Sun, 1 Oct 2023 07:13:31 -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 S235104AbjJAONQ (ORCPT + 18 others); Sun, 1 Oct 2023 10:13:16 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:35266 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S235074AbjJAONI (ORCPT ); Sun, 1 Oct 2023 10:13:08 -0400 Received: from mx.skole.hr (mx2.hosting.skole.hr [161.53.165.186]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id 5BEE7B4; Sun, 1 Oct 2023 07:13:05 -0700 (PDT) Received: from mx2.hosting.skole.hr (localhost.localdomain [127.0.0.1]) by mx.skole.hr (mx.skole.hr) with ESMTP id DC05382D29; Sun, 1 Oct 2023 16:13:03 +0200 (CEST) From: =?utf-8?q?Duje_Mihanovi=C4=87?= Date: Sun, 01 Oct 2023 16:12:55 +0200 Subject: [PATCH RFC v4 4/6] ARM: pxa: Convert reset driver to GPIO descriptors MIME-Version: 1.0 Message-Id: <20231001-pxa-gpio-v4-4-0f3b975e6ed5@skole.hr> References: <20231001-pxa-gpio-v4-0-0f3b975e6ed5@skole.hr> In-Reply-To: <20231001-pxa-gpio-v4-0-0f3b975e6ed5@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=3654; i=duje.mihanovic@skole.hr; h=from:subject:message-id; bh=/5RS07oDLTRM3lgyYG7tk3xbGzkj5Cj8vfkuDyb1HJU=; b=owEBbQKS/ZANAwAIAZoRnrBCLZbhAcsmYgBlGX5oQcyjQR6JAF0y/zmQk3Z8t5h4+yoRN+M4i PYHyqTY3eWJAjMEAAEIAB0WIQRT351NnD/hEPs2LXiaEZ6wQi2W4QUCZRl+aAAKCRCaEZ6wQi2W 4aiyEACQLJHgTkUAExmrwUOYfsqTHZPOmxL50sd8zf5DPeL5KfPskdb+IC3mVz4bfKlqoEppanD 1q3MXyiXNSU3pyquUiOcOoVzn8nIKHfy5iN7fBiq9VA7TePKJRSOmv2pM1bdDmQP+nsD3V2F7RL Dkwk2G1jnlXwgsOmfQeuP1bdR4sgJJtlqDQDpe/be3yClQ5wqvo2A4Pggxsof6NYhDa/K5wheCL vjn36qYxcmU++1prFzEeFMnxaWuAiZPCVM0X9jcgpmuE7sowlaOjkctODIAOLZWB/uFF0ZpCcZr Nml9gKI0cDb6BEjGqczHu4f2Bdn87FmNJhmGtOt1JVzVRDWbquWU2LUWCcbdqY78OffRWjqwgnP 97tdLJwNmovVflsn/z2Tu34q450alWc/x+0U4r9loZctjXMCWwV6SonjfKNNCuGLQJZq5gMXkSN 1zE2Ul9/cf2508SjcDmzhXzd3A2RW/B4TDhdmgJvmioejxnv3c95sq1Qx4OU+vqxL9XbZzd0fVx ciKRY8b4NsKu1MA8gThDJnEtv3/fgDy7SyLw0ADrmDHa3nBEBj4xYy6hZLGGv07vy3BbqEoiReE Lb6InZzJPiaK9FBaLYNXesQ5I7kVc6eg4H4vGkCpK3nk3BoNXpt6qmnUwhCD2NVwvf5ncG48gaf Hgt93S+vaVBsV1w== 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]); Sun, 01 Oct 2023 07:13:31 -0700 (PDT) X-getmail-retrieved-from-mailbox: INBOX X-GMAIL-THRID: 1778562879645748681 X-GMAIL-MSGID: 1778562879645748681 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ć --- 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..2bfa66f99555 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 generator", 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..701fba130ac4 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 generator", 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 Sun Oct 1 14:12:56 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: 147106 Return-Path: Delivered-To: ouuuleilei@gmail.com Received: by 2002:a05:612c:2a8e:b0:403:3b70:6f57 with SMTP id in14csp894051vqb; Sun, 1 Oct 2023 07:14:25 -0700 (PDT) X-Google-Smtp-Source: AGHT+IHV6y4hYN3QNhnxcyVWHeghng0qyK81xMX0HZ7uTMqrPC7oFIHjKnhNz+XSVPvTcoYS+4Fg X-Received: by 2002:a17:903:228a:b0:1bf:2e5c:7367 with SMTP id b10-20020a170903228a00b001bf2e5c7367mr11932535plh.42.1696169664756; Sun, 01 Oct 2023 07:14:24 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1696169664; cv=none; d=google.com; s=arc-20160816; b=N9F6hDupFd+gEEri5wBKI0Zzx+3WzzS9NKmH+zNy7nyMWeVzuyMbBNFoc/Tsjej+02 YE7hHL0D1SMvPDAkIGRzqUA2yVfs1Y+TQ0QY8A463TcF3MwUEy+ayixYRnOO8aagPP/o Y3CWSuKy8Hy3qvNr1QNtseZc/Bux/DcaQpBdi4Y7cBPg1JHMtHAZLLm+gjLG3w7CILOn 8rLbWYWOyIqX30raioUIhTHOEN9nlzVVYoa1O+k6kg8exElvlxZkNHVby/0bDOYWR4bW mWnspQyq6disVtJDjJEy8MAf7kMkl6+Xc9oZnNAg22suhMA87z5i6b1LjfN/n4C3xwMQ iVoQ== 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=DIIZMxe03rzQoPMgZIxWyhfO/Oss7xyfj1xVyaDuqMM=; fh=H4D8raVEE9ToK4xcGS9/Pnvmhs2QUzCYuQTuaKubzik=; b=Vbk12lJJfz0VEc0eptJmxuCcAuAfzk2WxpUGGqPCP23prXX06m+DbLFqYLJiRbd1p9 T4PVmRhDGgjXuo3NZMpLfoGy9ZoBrSHcJ5SbudSSKfv7+c4/zX+xbT9ljWmHLZ8lV/Kz cwTUxrVyHR/vR1wz/hrn5teHO7Nr2LT5HvutWYlrBvlRjhD7AE1wQasYww2yLiHHbjm6 rJ6kxvkpo/NBG/2M6s5TGBz1wHjRbQa65JYvYJwX1+GE4Ah16glMgy0HDX0fsqPEl6AC 9sPpGoFo6IYK0jFqE7c64gHEb7r4VMyZiLJBSReaemD74VSUDr1qmStVzz2IGZyW4ECk 151w== ARC-Authentication-Results: i=1; mx.google.com; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.34 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org Received: from howler.vger.email (howler.vger.email. [23.128.96.34]) by mx.google.com with ESMTPS id ij27-20020a170902ab5b00b001c5fa6d75acsi21568214plb.494.2023.10.01.07.14.24 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Sun, 01 Oct 2023 07:14:24 -0700 (PDT) Received-SPF: pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.34 as permitted sender) client-ip=23.128.96.34; Authentication-Results: mx.google.com; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.34 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 76CE880B8DE6; Sun, 1 Oct 2023 07:13:30 -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 S235129AbjJAONV (ORCPT + 18 others); Sun, 1 Oct 2023 10:13:21 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:35272 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S235079AbjJAONI (ORCPT ); Sun, 1 Oct 2023 10:13:08 -0400 Received: from mx.skole.hr (mx1.hosting.skole.hr [161.53.165.185]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id DC65FA6; Sun, 1 Oct 2023 07:13:05 -0700 (PDT) Received: from mx1.hosting.skole.hr (localhost.localdomain [127.0.0.1]) by mx.skole.hr (mx.skole.hr) with ESMTP id 79DAD836EA; Sun, 1 Oct 2023 16:13:04 +0200 (CEST) From: =?utf-8?q?Duje_Mihanovi=C4=87?= Date: Sun, 01 Oct 2023 16:12:56 +0200 Subject: [PATCH RFC v4 5/6] ARM: pxa: Convert gumstix Bluetooth to GPIO descriptors MIME-Version: 1.0 Message-Id: <20231001-pxa-gpio-v4-5-0f3b975e6ed5@skole.hr> References: <20231001-pxa-gpio-v4-0-0f3b975e6ed5@skole.hr> In-Reply-To: <20231001-pxa-gpio-v4-0-0f3b975e6ed5@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=2120; i=duje.mihanovic@skole.hr; h=from:subject:message-id; bh=iuWT35T+pUGdfAj4zdYMGj+Bj0cXb5OTfKVaTOQr/5k=; b=owEBbQKS/ZANAwAIAZoRnrBCLZbhAcsmYgBlGX5oUa8Zw23lPXVy8SqVKx1jldghSwj9GmogH Dm2K+0yBZOJAjMEAAEIAB0WIQRT351NnD/hEPs2LXiaEZ6wQi2W4QUCZRl+aAAKCRCaEZ6wQi2W 4T4+D/9UXJlbUcC9ellaDRwD9fD5QSbYUvMGxUcaUIDmi/tcwO2jDFIStFEW7ZC66UkWSPAn4kb Rwo9UI1weqRgpoFLg99O8LoM7L/pcDCVoTxGfaP6/+uNWWw1gCQpXUisr6y4JZM8nsGqMAZSzLy uO2cBdPSm5Dbj8ITCepq2brfJNMSQ7s4iAMHzeWrlI851tYj/+M7CL2l7GSe+1F76e3Bwq5q7pS YmbZDAg9unl3OvKKjMVj+JQO2SGyEBbryuiePxDkb+39RgRYsSan3z4lJ8uQSwrCXAvaF56QfFK kFwV8+4PBoSaUyE2otTwUdUkhAk4ThqOipeYswz51Dnwo73OPTIVHvu3o0UD05W1LvfJ0ME3Xnq Nq7Jlv5MwueroGBtBAhGQOOB38K6FUA6B1IslCZ7hL9NX8Ut2c/QvDXNq7sse8W7eVw3Qd/2Cti 97SlxkA6OchUSUufb3l+wRQj/9ea+1tK6bX3HMSCo+d9IeBf5xDWG+orOZmwizhK5NfJoFLDdZs GvVNZbogSyTNFgtqh/K/QxuPvTp/Mxc9/H+/Lg6zZwbzsGT9DkilYChjybY36FtNorKSJ1W+xfa vH1W2JD2l3aSBR9Gbj7QNalOJegrc4LJhyCtlSNbAZhM4xvq3TiQWJmkaa+ke+Uxc9SX3NzASn4 h1EL9YyO34U5ABw== 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]); Sun, 01 Oct 2023 07:13:30 -0700 (PDT) X-getmail-retrieved-from-mailbox: INBOX X-GMAIL-THRID: 1778562802375114357 X-GMAIL-MSGID: 1778562802375114357 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ć --- arch/arm/mach-pxa/gumstix.c | 24 +++++++++++++----------- 1 file changed, 13 insertions(+), 11 deletions(-) diff --git a/arch/arm/mach-pxa/gumstix.c b/arch/arm/mach-pxa/gumstix.c index c9f0f62187bd..14e1b9274d7a 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,9 @@ 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); + /* 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 +156,23 @@ static void gumstix_setup_bt_clock(void) static void __init gumstix_bluetooth_init(void) { - int err; + struct gpio_desc *desc; + + gpiod_add_lookup_table(&gumstix_bt_gpio_table); gumstix_setup_bt_clock(); - err = gpio_request(GPIO_GUMSTIX_BTRESET, "BTRST"); - if (err) { + desc = gpiod_get(&pxa_device_btuart.dev, "BTRST", GPIOD_OUT_HIGH); + if (IS_ERR(desc)) { 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(desc, 0); udelay(100); - gpio_set_value(GPIO_GUMSTIX_BTRESET, 1); + gpiod_set_value(desc, 1); + + gpiod_put(desc); } #else static void gumstix_bluetooth_init(void) From patchwork Sun Oct 1 14:12:57 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: 147108 Return-Path: Delivered-To: ouuuleilei@gmail.com Received: by 2002:a05:612c:2a8e:b0:403:3b70:6f57 with SMTP id in14csp894072vqb; Sun, 1 Oct 2023 07:14:27 -0700 (PDT) X-Google-Smtp-Source: AGHT+IFjFtQv4pibMXrVjaF2LkZLcr4FEVMucwJq8R2+oLWWqCAtRgdS34WrABIOilzU+qraeS7a X-Received: by 2002:a17:902:a983:b0:1c4:51f3:a184 with SMTP id bh3-20020a170902a98300b001c451f3a184mr7446992plb.10.1696169667218; Sun, 01 Oct 2023 07:14:27 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1696169667; cv=none; d=google.com; s=arc-20160816; b=KU5n/7toGwD6dULCavE/yv6SsA9iLIfH7YUp/G+Wyamorgd5/YOWxchfm0yUVwZed4 eOWPwCcllmZm0sLULAiIkcvw22J1/+K9ZwIpZYP2vGycuZue2MGEwjr2Q07MLZIDE5qc V6RzUz4u7P+5ibwM9/M1LZB4PZhqaOnP7/Oo8QMRYm/SQkQ5vcKesxdjzOewAL69G5DT P9rvGxT+jWAGnRu7GMkg393OnXIJBtAlS0uAgFBtX+5ly2QhHGPgnyxSJ0SQI5ozS95t zcaufcH3uW+gdzE7x44XEJjvWO6JKc0kfEKlKR++o9cImIbpBGojMZtfruMUBpIlrOxF ZH6w== 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=h724oLlECV/G+BRZfFwGeM59oeKD1P0zkEzlaqSlMXc=; fh=H4D8raVEE9ToK4xcGS9/Pnvmhs2QUzCYuQTuaKubzik=; b=DZSxVI2LdoOrZiN8f5aVictTzGZJxaBOkz/WHaZUm1x6eqQn0nHxQYy5Gk+U0e2uSY pUPvnX6hXGbSuhzi4DTFyayUI0EHPARGGyJlHK7RJQ0q885tmFQbT//YgS/4gPc3CQoz PB36PPEEkCMzBclV2U8HVKKaZkgWssXf0eomIRpyLnQCLqez/gfidw/GYD56B9Cg4Zr/ IXkauQ4mNZgfQ2rNKRXJo0gwnN8BbYrPuZ0yftjwbCmgErbq3O0uBplzSAFqGrY60x8I p+W/YBh8OtbEPa3zZUq9ZKv3A0s0wm7KOvpgQu8P3f4ZkrpFQgp2OsJKwmjvFfMItP7V i6Bw== 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 t2-20020a1709027fc200b001b8a8f359fcsi23251431plb.208.2023.10.01.07.14.26 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Sun, 01 Oct 2023 07:14:27 -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 092CC80B8DE8; Sun, 1 Oct 2023 07:13:36 -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 S235134AbjJAONY (ORCPT + 18 others); Sun, 1 Oct 2023 10:13:24 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:35292 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S235089AbjJAONK (ORCPT ); Sun, 1 Oct 2023 10:13:10 -0400 Received: from mx.skole.hr (mx2.hosting.skole.hr [161.53.165.186]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id 32EC0BC; Sun, 1 Oct 2023 07:13:07 -0700 (PDT) Received: from mx2.hosting.skole.hr (localhost.localdomain [127.0.0.1]) by mx.skole.hr (mx.skole.hr) with ESMTP id D0F71849BE; Sun, 1 Oct 2023 16:13:05 +0200 (CEST) From: =?utf-8?q?Duje_Mihanovi=C4=87?= Date: Sun, 01 Oct 2023 16:12:57 +0200 Subject: [PATCH RFC v4 6/6] input: ads7846: Move wait_for_sync() logic to driver MIME-Version: 1.0 Message-Id: <20231001-pxa-gpio-v4-6-0f3b975e6ed5@skole.hr> References: <20231001-pxa-gpio-v4-0-0f3b975e6ed5@skole.hr> In-Reply-To: <20231001-pxa-gpio-v4-0-0f3b975e6ed5@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=4116; i=duje.mihanovic@skole.hr; h=from:subject:message-id; bh=vDxjARPpIkB52+0U6yxYfBgdugyxZKs36TcEKwzrmIE=; b=owEBbQKS/ZANAwAIAZoRnrBCLZbhAcsmYgBlGX5oeO7RLXrgpT84soQS3RW8AL4f+9KqS2biH w8i7dlZgViJAjMEAAEIAB0WIQRT351NnD/hEPs2LXiaEZ6wQi2W4QUCZRl+aAAKCRCaEZ6wQi2W 4YO+D/9DQqpYETk638UYYXIIbSeoFZF/ozW1wcqL+jDyIxrota8mS/axOJe4lCC7bUBB8pRi/t3 VoTKgmjv+wK8Vnt9E6xtyTF0S1JoMkv28l8i5/c97MdGWb9wEd7DLEQ9b/sFNIhUt/FhwRFPEDZ Evq1LZFBbGAYr4uN3xIKjgd+zX+pElQiMU/uDqMov92Ac/CeX0pQNVkpgTeRR+YcBA2JNRKWCyF Ypnf2qUh+MBfkMNryG5Eh8oO2/T+9gBLFUtgg6yWDgO9seRO48EJjpuHTGpv3o0eJr/tBLblcYr dcWFEvjIc2tFC+kAfcIfJ2lpCnDO+GT/hiN75clChJQgUYiaWH0aoeGZb2eXlZ3AaJIw4n30n9a 8l+1yP2L9IOt/QsNHc6YRPfWqJkFIvn+UPyI7cvub9udcl0NwmOkbScnHdQZyQyffhjhA4g3d5O FX04w8F52TuCWG3yyPRy6zJuxXYJtT3v1BjGw94zcOEs/XG1i0p5JX7hiqVei9jkocYoePUahu0 bUxD6RxK/Lx58IqSK8IW9X19+kcBWqNdOXdopqk9SwXneXTfJw8I2s7X9nUKeilV4/P3GPh+FSV taulT/VVCaH9q79o0TVydh1177M5vLOWyOrMO6xInQt0camzl6DZrsj8SQdZz0Y0finkO03uatj U3OUdZsr6rWtqZw== 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]); Sun, 01 Oct 2023 07:13:36 -0700 (PDT) X-getmail-retrieved-from-mailbox: INBOX X-GMAIL-THRID: 1778562804820603704 X-GMAIL-MSGID: 1778562804820603704 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. Signed-off-by: Duje Mihanović Reviewed-by: Linus Walleij Acked-by: Mark Brown --- 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 701fba130ac4..22d5c5645b8f 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..894f179bfa8d 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,14 @@ static const struct attribute_group ads784x_attr_group = { }; /*--------------------------------------------------------------------------*/ - -static void null_wait_for_sync(void) +static void ads7846_wait_for_sync(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 +807,7 @@ static void ads7846_read_state(struct ads7846 *ts) packet->last_cmd_idx = 0; while (true) { - ts->wait_for_sync(); + ads7846_wait_for_sync(ts); m = &ts->msg[msg_idx]; error = spi_sync(ts->spi, m); @@ -1261,8 +1265,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 +1363,12 @@ 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)) { + dev_err(dev, "Failed to get sync GPIO: %pe\n", ts->sync); + return PTR_ERR(ts->sync); + } + 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; };