From patchwork Sun Sep 24 16:42: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: 144121 Return-Path: Delivered-To: ouuuleilei@gmail.com Received: by 2002:a59:cae8:0:b0:403:3b70:6f57 with SMTP id r8csp760602vqu; Sun, 24 Sep 2023 10:11:45 -0700 (PDT) X-Google-Smtp-Source: AGHT+IHG+Ai0mR/E3Aaq+D636m2KjPbMeXY3KvsVFFl87QRe8NsiANZF198WTuZvcQUo6Crth5oR X-Received: by 2002:a17:902:c10d:b0:1c0:c4be:62ca with SMTP id 13-20020a170902c10d00b001c0c4be62camr4466069pli.17.1695575505081; Sun, 24 Sep 2023 10:11:45 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1695575505; cv=none; d=google.com; s=arc-20160816; b=EOqqZgA5yoDwy0rlN4Plng4GxC3hMuHer5oVbz/tPku9RCB/DFAOYu+XMRhiB+Co/W v55r0OGrbSCEYTCeT1Ea7W7TzszLTwfFL2Pe3B30BgOcqctz+ml7AxV6geRePn/SmVwj 5k328wF74ewL/uwJWHeRF80VL8+LV5qLX3XgBilV6sNSUeMILYqZGeOsQsp+3NdJmSI8 WDsWJ2AJYGIMeelR/da38uvD9EytQ3a3bOEzkY4Ai7OREFQPebLvlzp6YvJtux/62XXs G0HpLNz/FcGMD6+AQcc1IMniVbXL93ogc+jULvRfI7gdiclqB2B75lDACTU09mwTpqaT oLZg== 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=SBrKMMW5IUNpKqgLzXoUzlU+6It53CAPjnjkwX2SKSE=; fh=UU0GqEaQ9Xnukct86UJbX2/ZB3UfIgAdTfbf6iYszSw=; b=O6aFKa7qn8fo7DOtPY1NeHOyTihTVpjwBr77e+nYXaOOg6DiQ2TAvfDlix1RFCZ9rz 8txh7DUWbe3BB8c49AbXpdbmxbZjX4sCysN3cOXUe/j6DceI3rWs/WLpFpnxdo10ZWue W+FyTLT4Rx6mKSm8YXHrqm+7XdQZZPTIsggBVlsjojcNwBE9Wkqrczu8uB48NQeefLP0 dKzzLn5F7P+tHyNATsQO6eVbFlsNvKX5bpOJwObwUYOi8btBxEMlQr1POiOcX2VVjqFP HtOhiSOmRcoFctMwgECfabBWtB4UeNbvidG7W8/1lReLMzyFL26/eNUtmY/XTvkrYhWv UMuQ== 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:8 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org Received: from fry.vger.email (fry.vger.email. [2620:137:e000::3:8]) by mx.google.com with ESMTPS id p7-20020a17090a868700b0026961fdd37bsi8067901pjn.97.2023.09.24.10.11.44 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Sun, 24 Sep 2023 10:11:45 -0700 (PDT) Received-SPF: pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::3:8 as permitted sender) client-ip=2620:137:e000::3:8; Authentication-Results: mx.google.com; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::3:8 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org Received: from out1.vger.email (depot.vger.email [IPv6:2620:137:e000::3:0]) by fry.vger.email (Postfix) with ESMTP id 6E34280BF1B9; Sun, 24 Sep 2023 10:11:42 -0700 (PDT) X-Virus-Status: Clean X-Virus-Scanned: clamav-milter 0.103.10 at fry.vger.email Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S230062AbjIXRLj (ORCPT + 30 others); Sun, 24 Sep 2023 13:11:39 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:50948 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S229437AbjIXRLi (ORCPT ); Sun, 24 Sep 2023 13:11:38 -0400 Received: from mx.skole.hr (mx2.hosting.skole.hr [161.53.165.186]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id 3E5CDFC for ; Sun, 24 Sep 2023 10:11:29 -0700 (PDT) Received: from mx2.hosting.skole.hr (localhost.localdomain [127.0.0.1]) by mx.skole.hr (mx.skole.hr) with ESMTP id 404C683220; Sun, 24 Sep 2023 19:11:27 +0200 (CEST) From: =?utf-8?q?Duje_Mihanovi=C4=87?= Date: Sun, 24 Sep 2023 18:42:54 +0200 Subject: [PATCH RFC 1/6] ARM: pxa: Convert Spitz OHCI to GPIO descriptors MIME-Version: 1.0 Message-Id: <20230924-pxa-gpio-v1-1-2805b87d8894@skole.hr> References: <20230924-pxa-gpio-v1-0-2805b87d8894@skole.hr> In-Reply-To: <20230924-pxa-gpio-v1-0-2805b87d8894@skole.hr> To: Daniel Mack , Haojian Zhuang , Robert Jarzmik , Russell King , Alan Stern , Greg Kroah-Hartman , Linus Walleij , Bartosz Golaszewski , Andy Shevchenko Cc: linux-arm-kernel@lists.infradead.org, linux-kernel@vger.kernel.org, linux-usb@vger.kernel.org, linux-gpio@vger.kernel.org, =?utf-8?q?Duje_Mihan?= =?utf-8?q?ovi=C4=87?= X-Mailer: b4 0.12.3 X-Developer-Signature: v=1; a=openpgp-sha256; l=2818; i=duje.mihanovic@skole.hr; h=from:subject:message-id; bh=+Sz/awoB80RmbtvdOIvdB1I17dA4iaXaSLREife8PXw=; b=owEBbQKS/ZANAwAIAZoRnrBCLZbhAcsmYgBlEG270ggGazGspMk88lLMCw46u4STUHtpeT+Ie qd9ziPqrVuJAjMEAAEIAB0WIQRT351NnD/hEPs2LXiaEZ6wQi2W4QUCZRBtuwAKCRCaEZ6wQi2W 4etcD/9D7l6HUQH9mdjzDPU6tTfkLANQhPadZnhVUxfkp0t6FveMEeAUPBB49XrI9De9Pv5iz+8 dXDH9DG7ch/kaAsgPtv/tcpcE/UTm76BMlm/n0AUXt1m10olIuN84mSxp7dTfEUE2EPVd7UVs7/ hmuHXBO9wh2QffllcDNH02daRbqQFMgqKHtejR8LTvG7WcYgbTSQ0ZV9BjwhWgHXM5rfo7UPncB nVPCr5VE0v7XCoJHxF+mYXUcSNIMp7qDMzdvfISvi+swTqYAL5A5dxMmuDBL5Nh4msvbGtuRAvb bnVfBHRRa1BMSlKLwMopCV3WMxAfcicJI7YFelvJrvQqY8xzcL+larydFbnYrGZZa+RBePHY1oT 6Fh6XUO+xJRtwjYqdtr/9WltW6Mrk6cKl+HqdROiJsY9oPBcuqKTWaEUIwjeh0gz7OEjj0nbywg rbbb7u5e7TYiNi2AGb1dFOk/kCfddW2fMZvwD3VOThXMmxxkT2bcPF3cvFmh1LESlmFnT1RVd/D d7AJh7W1xJMtUVacCs8pd511R87vF730jvw2+BpBBVSA5FfmRUg3tbT/YEtu14Zv3/lr6fP7YPf ahr83Pel17Ec1biQ0nYr2VSr0dBSMZoPiFSaJvSxb4PiJ+FWOA0WM5g1RvEVVdo06ViNV5tN71b tDQ/fWIRF6wbtew== 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 fry.vger.email Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org X-Greylist: Sender passed SPF test, not delayed by milter-greylist-4.6.4 (fry.vger.email [0.0.0.0]); Sun, 24 Sep 2023 10:11:42 -0700 (PDT) X-getmail-retrieved-from-mailbox: INBOX X-GMAIL-THRID: 1777939781104236425 X-GMAIL-MSGID: 1777939781104236425 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. Signed-off-by: Duje Mihanović --- arch/arm/mach-pxa/spitz.c | 13 ++++++------- drivers/usb/host/ohci-pxa27x.c | 10 ++++++++++ 2 files changed, 16 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..0cf222f9d64b 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,12 @@ 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(&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 %d\n", + (int) pxa_ohci->usb_host); + pxa_ohci->usb_host = NULL; + } for (i = 0; i < 3; ++i) { char name[6]; @@ -512,6 +519,9 @@ 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); + if (pxa_ohci->usb_host) + gpiod_put(pxa_ohci->usb_host); + usb_put_hcd(hcd); } From patchwork Sun Sep 24 16:42: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: 144122 Return-Path: Delivered-To: ouuuleilei@gmail.com Received: by 2002:a59:cae8:0:b0:403:3b70:6f57 with SMTP id r8csp760686vqu; Sun, 24 Sep 2023 10:11:59 -0700 (PDT) X-Google-Smtp-Source: AGHT+IEAo8ibUfNqWuXiflYU8dqubVf74m72tUmK8I9izh7ByRkYySEoEjMm8ic0eanIEkGwcuAZ X-Received: by 2002:a17:903:110d:b0:1bb:d280:5e0b with SMTP id n13-20020a170903110d00b001bbd2805e0bmr3778918plh.18.1695575518766; Sun, 24 Sep 2023 10:11:58 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1695575518; cv=none; d=google.com; s=arc-20160816; b=KsODh6M63NTWObyDw1IyryAdxNhIok6sqbaPsqrImXGtnezOYO+1r22x6YrRaYX2U9 gP2PNSarNdkZUpxacMBAbPnk0lzz/qY0KTEiY1P8+yolrxee3wCXnydgvg2m4sLBLIrs pjuh5QAajmxemO8HvRWSWA4TxG09mYoUJA1XCYTkRHaa1HZN0sx1VrWxOO9qBNwqOoor BHhr7yTKaV1uSSWCc8zy40S95EVuOS+QiANu21iy2mhjbUswwHlJSGl9bZzHq1BEAgvA YZwatSHAm89ak4x7WfBkER3bYN4IqwsUFFooeNExb7V/McmzJJexvp1yA9qPBNxXh4y1 IEXw== 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=cOV4mE1/Zn2BZ8zG7meOL/2AAuwFOofljcMRuQv9XJs=; fh=UU0GqEaQ9Xnukct86UJbX2/ZB3UfIgAdTfbf6iYszSw=; b=m7dt2BguCDQz7uBU0+GODYi/qIG1B3UkTQE+tdwk9Sl55caBAS9gnovGR3MGNLF7h0 a+DsaNpp2mGdzC8RHo/iIGZJAqsqbbTF9Olftx24WkDhaY0d2n65JdTCpSgYs/4pMEfi Izfl2bHK+91eulBCQLt4pFiyQasKyTOWSzsp+K0WtmMjcIPDUEiKINAKxjURWxmKnNad VRvlJ6a6hBKDSbNXpCjq+hGuqNAm7I/yQQnZLLxhXyEvvSSrblO+KnbDOrPWGP15m6WV YUwg/gKfU73FIUNh3s+WpkOIzMQm+w8+0lzLjlsdTuKp3q/uWIV48nWv3d98F5jgsMch vPWQ== ARC-Authentication-Results: i=1; mx.google.com; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.33 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org Received: from lipwig.vger.email (lipwig.vger.email. [23.128.96.33]) by mx.google.com with ESMTPS id le11-20020a170902fb0b00b001b9f55d28a2si7611430plb.205.2023.09.24.10.11.58 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Sun, 24 Sep 2023 10:11:58 -0700 (PDT) Received-SPF: pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.33 as permitted sender) client-ip=23.128.96.33; Authentication-Results: mx.google.com; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.33 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 lipwig.vger.email (Postfix) with ESMTP id 0FE4F8142D86; Sun, 24 Sep 2023 10:11:55 -0700 (PDT) X-Virus-Status: Clean X-Virus-Scanned: clamav-milter 0.103.10 at lipwig.vger.email Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S230158AbjIXRLq (ORCPT + 30 others); Sun, 24 Sep 2023 13:11:46 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:50992 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S230047AbjIXRLi (ORCPT ); Sun, 24 Sep 2023 13:11:38 -0400 Received: from mx.skole.hr (mx1.hosting.skole.hr [161.53.165.185]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id 65B05FE for ; Sun, 24 Sep 2023 10:11:30 -0700 (PDT) Received: from mx1.hosting.skole.hr (localhost.localdomain [127.0.0.1]) by mx.skole.hr (mx.skole.hr) with ESMTP id 9ED6481FF1; Sun, 24 Sep 2023 19:11:28 +0200 (CEST) From: =?utf-8?q?Duje_Mihanovi=C4=87?= Date: Sun, 24 Sep 2023 18:42:55 +0200 Subject: [PATCH RFC 2/6] ARM: pxa: Convert Spitz LEDs to GPIO descriptors MIME-Version: 1.0 Message-Id: <20230924-pxa-gpio-v1-2-2805b87d8894@skole.hr> References: <20230924-pxa-gpio-v1-0-2805b87d8894@skole.hr> In-Reply-To: <20230924-pxa-gpio-v1-0-2805b87d8894@skole.hr> To: Daniel Mack , Haojian Zhuang , Robert Jarzmik , Russell King , Alan Stern , Greg Kroah-Hartman , Linus Walleij , Bartosz Golaszewski , Andy Shevchenko Cc: linux-arm-kernel@lists.infradead.org, linux-kernel@vger.kernel.org, linux-usb@vger.kernel.org, linux-gpio@vger.kernel.org, =?utf-8?q?Duje_Mihan?= =?utf-8?q?ovi=C4=87?= X-Mailer: b4 0.12.3 X-Developer-Signature: v=1; a=openpgp-sha256; l=1768; i=duje.mihanovic@skole.hr; h=from:subject:message-id; bh=02fLXHNo6SZtYq4sldyjzMDb6JVfWPhjgCG5UTkdTdY=; b=owEBbQKS/ZANAwAIAZoRnrBCLZbhAcsmYgBlEG274zYOOseY07wrIpLw55JpPY81b1O+DhHDw c1vQQZ2XxSJAjMEAAEIAB0WIQRT351NnD/hEPs2LXiaEZ6wQi2W4QUCZRBtuwAKCRCaEZ6wQi2W 4TqnD/4uQ6H9fKBhLDhKBRQmqOzNMF4vOaBCehGJ48w/HQ7SfRvR3zHESYgomDYWFePuKZ3gXlT Q7GErR6GxXh4Elgj4CqfwXfxS8mbYTfDagbLfH9zbfMIMN2Idz6GABC3NvPx3ikHb1F22tx+Cnd tek2dvcJAGVkWIFm983EQbkoFvgVrv5Qnf5ZdOPWLx7sinqxDLuVAzKxiY1nnOQNlgrECI+OEbm sqIOTGDa5VEu1/VzR7P8QcnzOz66Tu7+WU5iGgBHpeBXIKq/vMT9UCIerfMOadQMRUs1kjRrVOU NRV+DlpabQB+BXEN6+3a5AGHf9u87eevHHcNGDvUnOtf69mSg/pY+c+LtT2IPJfBjHBNPmWbfat LaasG70IQ+84KcMaTo0YGouUTutjCIvEn5Na/JewpnceClczrDLJtVk22jzDIrzVdQHKQL2f0t0 AfyGggn27642yT943m+oLOCoSAxbAFhxV1+o532IS/Wktb01NpdrC4T3+3EhwAYOBMbFAy5K91P TOI5waIYQyOFnYBEyFrjL+51Ins5LjZz2VrPlsalW6+Ace1OLZ2kV/o9MiEXzeuP1EuFAicVPsS Ylt23QHqnv2Xyjj/XEMzWt1DrkXLIKUXnteuH96bBXwHRsvxXruvJgv5z/3RTt2+zavpIVsmnch eCX3yZVlysu31Gw== 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 lipwig.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 (lipwig.vger.email [0.0.0.0]); Sun, 24 Sep 2023 10:11:55 -0700 (PDT) X-getmail-retrieved-from-mailbox: INBOX X-GMAIL-THRID: 1777939795421134302 X-GMAIL-MSGID: 1777939795421134302 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ć --- 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..91c4b208973c 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("pxa-gpio", SPITZ_GPIO_LED_ORANGE, "led_orange", + GPIO_ACTIVE_HIGH), + GPIO_LOOKUP("pxa-gpio", SPITZ_GPIO_LED_GREEN, "led_green", + 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,6 +489,11 @@ static struct platform_device spitz_led_device = { static void __init spitz_leds_init(void) { + gpiod_add_lookup_table(&spitz_led_gpio_table); + spitz_gpio_leds[0].gpiod = gpiod_get(&spitz_led_device.dev, + "led_orange", GPIOD_ASIS); + spitz_gpio_leds[1].gpiod = gpiod_get(&spitz_led_device.dev, + "led_green", GPIOD_ASIS); platform_device_register(&spitz_led_device); } #else From patchwork Sun Sep 24 16:42: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: 144123 Return-Path: Delivered-To: ouuuleilei@gmail.com Received: by 2002:a59:cae8:0:b0:403:3b70:6f57 with SMTP id r8csp760713vqu; Sun, 24 Sep 2023 10:12:05 -0700 (PDT) X-Google-Smtp-Source: AGHT+IEvrsVdQRDJ1MzKd1wwfBRzSrljOwfx1iWd1pKVuAJwHvwMKCB2Bv/n/C1vnoGRHzDw4IOh X-Received: by 2002:a05:6358:339e:b0:143:8020:b09a with SMTP id i30-20020a056358339e00b001438020b09amr7656445rwd.3.1695575524995; Sun, 24 Sep 2023 10:12:04 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1695575524; cv=none; d=google.com; s=arc-20160816; b=Xpxb83zBzJ83vjo5jK1mZYCvSOyx6nQR8X0kby3B7tmOD3eJ08VHxpe0vkSnS5SCMP uafmqFpEhs4lYS8V3XIvtSdFN4i4iNVrCAWsGD4Q1A+ISlcKjN2KdxsDLtyZiPnPDOE0 hCvwo+RVwDMeQXSrQ4oezoWSc+4sPZQL8v/79EjbU6IZz3WXqYcibwY2k9tOvn/P7Uq8 XGZwyUFRrDSbrbl8yklbMwy2ERWZOWGhl+qFfVEg4IDVEYpVIqB2AMMninJFYGypN3OX 79MA21e3Wo+4Nenfm4ScZuO4ER6b/p/1oIXCN06RCriASrAPz5Wb94dZvLQ50ZosGeTK 6nAw== 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=imPu2hzF7pTLkk7DLNny1xZEED4fv1nvxCJeS9zVeBk=; fh=UU0GqEaQ9Xnukct86UJbX2/ZB3UfIgAdTfbf6iYszSw=; b=JW3jillbq2eCSU1L38B64+vt2smxOiwb60KM79FXMuz5ry38Cd8FIdtduXCl7qvAmG 2IlBE0kBzK1nl9uS6k9aPA2IcwlP/ru28jA+lai4s6L+/tVcVS7qsvt2fjuMKzMrD+p+ VtzMBG0GDNDTAVK+Fy13fs0oWjvdJ/5hh6Y5SSCXHpAcZRx/hiA+gs8GxzFviNO9x4IQ 0joPiz/GF0RQTAne0JQoZe7KgpCa4ATyEUdeJk+FkZoVa9Mo7hI2LXe1KsfevJgUi8lU 22ddM0uNT0mIU0mYyjhsF9pHn5T05sf7pJ2eDh+y4HNWmiP4/RqUMTyjyaPGsqeCKbm4 zhng== ARC-Authentication-Results: i=1; mx.google.com; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.38 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org Received: from fry.vger.email (fry.vger.email. [23.128.96.38]) by mx.google.com with ESMTPS id e12-20020a65678c000000b005649893593dsi8118948pgr.880.2023.09.24.10.12.04 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Sun, 24 Sep 2023 10:12:04 -0700 (PDT) Received-SPF: pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.38 as permitted sender) client-ip=23.128.96.38; Authentication-Results: mx.google.com; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.38 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org Received: from out1.vger.email (depot.vger.email [IPv6:2620:137:e000::3:0]) by fry.vger.email (Postfix) with ESMTP id B94578021DAE; Sun, 24 Sep 2023 10:12:02 -0700 (PDT) X-Virus-Status: Clean X-Virus-Scanned: clamav-milter 0.103.10 at fry.vger.email Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S230113AbjIXRLm (ORCPT + 30 others); Sun, 24 Sep 2023 13:11:42 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:50976 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S229930AbjIXRLi (ORCPT ); Sun, 24 Sep 2023 13:11:38 -0400 Received: from mx.skole.hr (mx1.hosting.skole.hr [161.53.165.185]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id 977CE107 for ; Sun, 24 Sep 2023 10:11:31 -0700 (PDT) Received: from mx1.hosting.skole.hr (localhost.localdomain [127.0.0.1]) by mx.skole.hr (mx.skole.hr) with ESMTP id EB72C82071; Sun, 24 Sep 2023 19:11:29 +0200 (CEST) From: =?utf-8?q?Duje_Mihanovi=C4=87?= Date: Sun, 24 Sep 2023 18:42:56 +0200 Subject: [PATCH RFC 3/6] ARM: pxa: Convert Spitz CF power control to GPIO descriptors MIME-Version: 1.0 Message-Id: <20230924-pxa-gpio-v1-3-2805b87d8894@skole.hr> References: <20230924-pxa-gpio-v1-0-2805b87d8894@skole.hr> In-Reply-To: <20230924-pxa-gpio-v1-0-2805b87d8894@skole.hr> To: Daniel Mack , Haojian Zhuang , Robert Jarzmik , Russell King , Alan Stern , Greg Kroah-Hartman , Linus Walleij , Bartosz Golaszewski , Andy Shevchenko Cc: linux-arm-kernel@lists.infradead.org, linux-kernel@vger.kernel.org, linux-usb@vger.kernel.org, linux-gpio@vger.kernel.org, =?utf-8?q?Duje_Mihan?= =?utf-8?q?ovi=C4=87?= X-Mailer: b4 0.12.3 X-Developer-Signature: v=1; a=openpgp-sha256; l=2162; i=duje.mihanovic@skole.hr; h=from:subject:message-id; bh=fHl5iSb/dE+9PwQC8nVVOcMrGaHAC690mEvxtdZMvYU=; b=owEBbQKS/ZANAwAIAZoRnrBCLZbhAcsmYgBlEG27BuK/Gqm8cinGDVx4sQvQLQVqGvoy93Y6k DWmkjG5K4uJAjMEAAEIAB0WIQRT351NnD/hEPs2LXiaEZ6wQi2W4QUCZRBtuwAKCRCaEZ6wQi2W 4dXLEACikszO91VOu+vhakMeMrm/O3tmkrMkN8NPnGXcvL4gNyUYn1yBs4GGIwhNgqKx4BFJThM qu0g4cJNxl2Xo3ZJTV1/DJUkCi77Pgg24369H9qUWfZaxYN1ib4dxG1EZtlVzUKBcs/hqIN7Oop G1BDawuMi1J9vDEuKBaTUaPYHqsEgqd45Q1jGAeyuANqTHxebXGVxpOf6QQpakniCz2NgpvPcFP H5yA/Mg/ZCHzUxZu7Y5dYymHsw9TcAswEsGKKn7tW0dc3nMCqxLVeKyf6k2bI/hq/HbmdRIY73O S0UbqSfPKefBCsGjcwXg8r8bmO6J+aZy5XSwRBO/EhFxHsTnGQCL3vaORXDnDLxi+ZU1Io7ADPP fNGRqmjPwo3UPFWe0sYdK3yHRX8jDizPplYQTaMgqWqE1/aWfS9f6DBeL7rFYhZ/uBFeGTWLGQy G9F42HDvL9v+ri1rOMEZxmzxdEbB5Am73ph9LYg9WjKysUJDqJvHpFYx+p4zIUsxAFWDxuMdBeU +JQOr80ouEKJq0DmW6PW+edrmPzoKPnymkae2whXJdepUikD9hDp/yRrAD52aZK3Tp0p2mQYPjt gyVLQDvKE4nnKDtnSaP9T/qtpSTH9xWcV7xwFOTnhcMp38jMQQny17s2GxvjVsJFOq5eCf+JV1S K44HsSzUeiy5P2g== 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 fry.vger.email Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org X-Greylist: Sender passed SPF test, not delayed by milter-greylist-4.6.4 (fry.vger.email [0.0.0.0]); Sun, 24 Sep 2023 10:12:02 -0700 (PDT) X-getmail-retrieved-from-mailbox: INBOX X-GMAIL-THRID: 1777939802042072673 X-GMAIL-MSGID: 1777939802042072673 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. 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 91c4b208973c..616305978727 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 Sep 24 16:42: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: 144125 Return-Path: Delivered-To: ouuuleilei@gmail.com Received: by 2002:a59:cae8:0:b0:403:3b70:6f57 with SMTP id r8csp760930vqu; Sun, 24 Sep 2023 10:12:34 -0700 (PDT) X-Google-Smtp-Source: AGHT+IEzu3q/FkGueiku+RvsijDU9om3fafCdCCWF+0N1YSIVafshGEIs3/juFBjxtq3q9hB65Ds X-Received: by 2002:aca:2305:0:b0:3a7:540f:ca96 with SMTP id e5-20020aca2305000000b003a7540fca96mr6076249oie.4.1695575553900; Sun, 24 Sep 2023 10:12:33 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1695575553; cv=none; d=google.com; s=arc-20160816; b=vjjM0KV9djc6Z9fmF9xhyejLmkLuCJaFc6RGm357jnhKKlNjE7aHcm7t5jquM5jt7Y p7pW2QtmelFCQh3kfh9ItXXfR4GiHJMaAL7rIr7a/glh6SiMiKU9meswUAwosWOjyUtn 0f7EgdiptSpuPGVsdfUagIC4pOVcgKfK6VJW10VkirAPJrJ6tqhuviKyAvJ8Jtx6yXX8 OjdjXS6QoS/QTeMXvMSfUsy+wXqkmTrO2sfMP0oiBiYMVwEX/JRIrNbBSOhmNktZl92R b0gD+/3FX1mFtYGfbwSZB3xz1Cx9g3xktASAbftKIfIIDLPUtOSEWu+A+8kqni0ASbq4 oAxg== 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=cPfqbGhDEwzcZdyqJJSAkQvoFMb4ksyWo96UesQDLSs=; fh=UU0GqEaQ9Xnukct86UJbX2/ZB3UfIgAdTfbf6iYszSw=; b=NBurKSlkdLkbUpXU1KWTSaYEKd0sbh6Rn0LcOScP1Uko4GTvWGN390ro+4k5JynXi8 m3kvl4bWnyDIDRx0O4ZUlAGzlDitZm+iPZHLgKM6EtGhpCXUmyu+sRQLSrMVDn1I5xqb SNkMCSyYPoKtHK8GH5UepUXjE4RjFoRtyYGSEHaCcAhB6y6pcI6XFXkl5nnmtpgS0RAH HtNaMg5av9kVIgmVb6qbb3m0rqskRyFskWXuBDyM9sydZo0mIXTk8RZolMphfAYmndzI zVHOasDbJZcwIevrhqUWKXL9tIrlPGaRX5NgzvBtK8bcwrj+xkGydfFO7WAd6tilzzQH fIqg== 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 cn6-20020a056a00340600b0069100e4252csi6980289pfb.105.2023.09.24.10.12.33 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Sun, 24 Sep 2023 10:12:33 -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 DBBB5827AFB8; Sun, 24 Sep 2023 10:11:58 -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 S230192AbjIXRLs (ORCPT + 30 others); Sun, 24 Sep 2023 13:11:48 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:51006 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S230045AbjIXRLj (ORCPT ); Sun, 24 Sep 2023 13:11:39 -0400 Received: from mx.skole.hr (mx2.hosting.skole.hr [161.53.165.186]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id B7F0510A for ; Sun, 24 Sep 2023 10:11:32 -0700 (PDT) Received: from mx2.hosting.skole.hr (localhost.localdomain [127.0.0.1]) by mx.skole.hr (mx.skole.hr) with ESMTP id F0497832A1; Sun, 24 Sep 2023 19:11:30 +0200 (CEST) From: =?utf-8?q?Duje_Mihanovi=C4=87?= Date: Sun, 24 Sep 2023 18:42:57 +0200 Subject: [PATCH RFC 4/6] ARM: pxa: Convert reset driver to GPIO descriptors MIME-Version: 1.0 Message-Id: <20230924-pxa-gpio-v1-4-2805b87d8894@skole.hr> References: <20230924-pxa-gpio-v1-0-2805b87d8894@skole.hr> In-Reply-To: <20230924-pxa-gpio-v1-0-2805b87d8894@skole.hr> To: Daniel Mack , Haojian Zhuang , Robert Jarzmik , Russell King , Alan Stern , Greg Kroah-Hartman , Linus Walleij , Bartosz Golaszewski , Andy Shevchenko Cc: linux-arm-kernel@lists.infradead.org, linux-kernel@vger.kernel.org, linux-usb@vger.kernel.org, linux-gpio@vger.kernel.org, =?utf-8?q?Duje_Mihan?= =?utf-8?q?ovi=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=GrFT9JmOR1zAt3MyVJMcvKbA7dX5Lm6oYSMpmtciw8U=; b=owEBbQKS/ZANAwAIAZoRnrBCLZbhAcsmYgBlEG27USpK03fIklpgxoF4r7AZErPkzYxfE6IT/ 2tZaPhU9wuJAjMEAAEIAB0WIQRT351NnD/hEPs2LXiaEZ6wQi2W4QUCZRBtuwAKCRCaEZ6wQi2W 4RW3EACZMFf0i4zxCdnAKuLp1hs1yPKmYp3h7kd0qSwnkc5Wyc4iZrewxVNd73XebGxBHD0bB+B FgVhUpY/lt4LFRN6uCkuZefuj8q7nUX/3ljkbljlYKdvaag656rJ6FCoU7vLMXTB/xK3TP3mqD/ UnfPjlgn0KhGiKYBz6HcZPPPS3NtACDt44XUspRwqzNIRpGpBUnKlxWQMdkqxWsQoZZ/F5iBb3I VMWyJHWtU5twki0kx+YLV8zpD3cmG5GGEudZXp70cc4DCZbAMorZuynp+8eq9aZIAvXV59dw5uf z/iv9KQInSqIBBFuNAnU1kWJhKQuQA0VwXWX1q9zhodz7b7aOCIlsOhKdgemSHRgKWUcrVhHi0L GX717ffWtMUsJ5rcRGLaG5yzf4CKqptqEKbBkAdqmn5G2Zr7o8SA9HYjhYFN2z/lLI6wkI/hYh9 +Mu1CAHh151ALWrgX9JUanBZZaVdza8LhPFed6ty03fyjcbAsPcHLcIPHjp0oqUYnbkKla1t+2U RSG2N4fuXIQd979OYQ1iJqdJLgV+/DHEV1zEG/cZLefke+TMgyhsniuW/ydSV99zobKlEmQKVMz URrogilsBtjA+RIunY+HF+Cu6Ukr78/O/IhmDxYkLsO1GDh3DZF5t055yDNrd2B9m1IHn0A7fVE 8ymjg3RhjEGjoeQ== 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, 24 Sep 2023 10:11:58 -0700 (PDT) X-getmail-retrieved-from-mailbox: INBOX X-GMAIL-THRID: 1777939832068135181 X-GMAIL-MSGID: 1777939832068135181 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. Signed-off-by: Duje Mihanović --- arch/arm/mach-pxa/reset.c | 40 ++++++++++++++-------------------------- arch/arm/mach-pxa/reset.h | 3 +-- arch/arm/mach-pxa/spitz.c | 6 +++++- 3 files changed, 20 insertions(+), 29 deletions(-) diff --git a/arch/arm/mach-pxa/reset.c b/arch/arm/mach-pxa/reset.c index 27293549f8ad..1484dce1383c 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,21 @@ static void do_hw_reset(void); -static int reset_gpio = -1; +static struct gpio_desc *reset_gpio = NULL; -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)) { + printk(KERN_ERR "Can't request reset_gpio: %ld\n", + PTR_ERR(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 +38,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 616305978727..94bcb187713b 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 Sep 24 16:42:58 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: 144126 Return-Path: Delivered-To: ouuuleilei@gmail.com Received: by 2002:a59:cae8:0:b0:403:3b70:6f57 with SMTP id r8csp760958vqu; Sun, 24 Sep 2023 10:12:38 -0700 (PDT) X-Google-Smtp-Source: AGHT+IFRLt1WGYiHb35EKGKVoAkFsQwzHwYGXTZRYZirqz4P2SpG7BdoVLok04b8dryuBeg4lsbb X-Received: by 2002:a17:90b:3e87:b0:26d:4312:17e5 with SMTP id rj7-20020a17090b3e8700b0026d431217e5mr2744654pjb.6.1695575558323; Sun, 24 Sep 2023 10:12:38 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1695575558; cv=none; d=google.com; s=arc-20160816; b=N500Eac8Y9n/F+JAPn4/OnN6Bmqx+8+akRgFf5g3KVZnSxozKaw2i6P0mlsexQu8Y/ Kfqxk4/DMr4czkAH79cGwGFbbyguq8cT5EAn0u3yvS9UR+XQTiDgoRds7xFyODhS0Hcm Ke1DVCPmKTWpREGYjjT08JU3Trc1oMppwd0wABj0qiIe+HxvgUWOXi+vcsV/9JneAd/R T+LFJyRZybVaGhQfI0xNCvFuEJvFBCxBSo47NS5w7PpeVF3VRTemTSm8TyxWs5OjhSBq 9yMT2kee0KppcojsOGQOiOL4eh3rwNLimyn9YccR13P/p1y2XDuOSqJM1Q/Mhiw8rL72 2lKg== 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=iPIvb3hN9MTS1ifxXNdK5Clgs9CfXBR8loPYlIU4a1c=; fh=UU0GqEaQ9Xnukct86UJbX2/ZB3UfIgAdTfbf6iYszSw=; b=CL7w6H5zuSQuq0gbqCgST9lDGv9CvdZs2InmuWYUdz6MgwFCaeQrTv8TBD+swxwj7Q 5AAWJH81n0YH1IxUplFoDVE7G7cP8FPH0773aLc2+l8GMfo57qm/T9ysNGMrhtr3OxXx nXs4iTntTxSUL5MHx2rJj5wynNVqvi/C4T9u1D7gJsWQE3tOY5vY5FhzoQTGZJvr9UsA LTySJfgcr2rfPtHrJ1uUeHmfSHkO1/QG0YQyMGSGY6PWMeRq4FAvuzZT7sQv3oiNQ9gR qUp/dAlLzj2PRm09qqUGSmY40xqDvEvvqIgF4tbQMDB33KM2izwOW4lA3/Mza3hCna3G vrAA== 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:2 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org Received: from agentk.vger.email (agentk.vger.email. [2620:137:e000::3:2]) by mx.google.com with ESMTPS id gf14-20020a17090ac7ce00b0026963a00ab0si7984108pjb.122.2023.09.24.10.12.37 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Sun, 24 Sep 2023 10:12:38 -0700 (PDT) Received-SPF: pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::3:2 as permitted sender) client-ip=2620:137:e000::3:2; Authentication-Results: mx.google.com; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::3:2 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 agentk.vger.email (Postfix) with ESMTP id 1790081716B6; Sun, 24 Sep 2023 10:12:24 -0700 (PDT) X-Virus-Status: Clean X-Virus-Scanned: clamav-milter 0.103.10 at agentk.vger.email Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S230212AbjIXRLu (ORCPT + 30 others); Sun, 24 Sep 2023 13:11:50 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:51042 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S230089AbjIXRLj (ORCPT ); Sun, 24 Sep 2023 13:11:39 -0400 Received: from mx.skole.hr (mx1.hosting.skole.hr [161.53.165.185]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id 9D267C6 for ; Sun, 24 Sep 2023 10:11:33 -0700 (PDT) Received: from mx1.hosting.skole.hr (localhost.localdomain [127.0.0.1]) by mx.skole.hr (mx.skole.hr) with ESMTP id 314D38207C; Sun, 24 Sep 2023 19:11:32 +0200 (CEST) From: =?utf-8?q?Duje_Mihanovi=C4=87?= Date: Sun, 24 Sep 2023 18:42:58 +0200 Subject: [PATCH RFC 5/6] ARM: pxa: Convert Spitz hsync to GPIO descriptors MIME-Version: 1.0 Message-Id: <20230924-pxa-gpio-v1-5-2805b87d8894@skole.hr> References: <20230924-pxa-gpio-v1-0-2805b87d8894@skole.hr> In-Reply-To: <20230924-pxa-gpio-v1-0-2805b87d8894@skole.hr> To: Daniel Mack , Haojian Zhuang , Robert Jarzmik , Russell King , Alan Stern , Greg Kroah-Hartman , Linus Walleij , Bartosz Golaszewski , Andy Shevchenko Cc: linux-arm-kernel@lists.infradead.org, linux-kernel@vger.kernel.org, linux-usb@vger.kernel.org, linux-gpio@vger.kernel.org, =?utf-8?q?Duje_Mihan?= =?utf-8?q?ovi=C4=87?= X-Mailer: b4 0.12.3 X-Developer-Signature: v=1; a=openpgp-sha256; l=1719; i=duje.mihanovic@skole.hr; h=from:subject:message-id; bh=5895JvGZEWJwM5WNxnvl7MrpXNHBGrr2xGh6alIOeRs=; b=owEBbQKS/ZANAwAIAZoRnrBCLZbhAcsmYgBlEG28CnZS8E5xwAgzJ6CVN1PApJKF1p75dl+ro yYoGLjMX3SJAjMEAAEIAB0WIQRT351NnD/hEPs2LXiaEZ6wQi2W4QUCZRBtvAAKCRCaEZ6wQi2W 4YQfD/9LYjsoRnldDP9MME1UjvcTXrPKebJ1AlZZnkgjiTUqxRtFVja207shgBymZoSNfnYFQXK sts9x+WgMnlEaHH5XL6nRVrsBZ+v/TahgGgaEXvoq5MvERbUo9ndtbNsSZmTFAppefrqk6UK3eY tTnpgwRWJrhyybcGSqKy2RlbvnCxlBJtaKNmjbwY5OfXfgu0yu/Nzbf99f2+B9Sjfzhs7GhKINK tqhH3qpCvqMbEASiph4uIj5NoZeK3BpdSycgBAy0S5C7nP1LxhRzB57gLSBGPAu0zjKfq3cWIqY v4BXqg/OwTG/Q1IL8MxuROJoLhV+ehUFN/s6qb8crXQkTmcxWfikfIWCM7i/B/4SsFhW3G/doPY sPg7vCpWiX+ScuB7opkcFPlszjXy7Z+EkwTc0Nzq2N6saG4cbUI0OoV5rk91o0/pHZ1haAQ6FJG BMwJLJXjlIyPFAyEe/cq6oNb3AM0Z8sX74+uO3cWijv3Lt2qmzFybQrF1w3zAypi7g8mNJ9DZ+O 0MipG2lbd/oIHZ8dyfljXYMTKrWieYgZAh4FKFajPGAVwgp8rwsE63vB+EMg6119jorXG/Xp86b jBm20jjKfDGUnMG9lUoctJfg/2keNdlpp3sULGvQi0FeNWLjSQnOFKd+Kpydu/Y3nhaIsDVXF7G iRxo4ltWhHjGHUA== 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 agentk.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 (agentk.vger.email [0.0.0.0]); Sun, 24 Sep 2023 10:12:24 -0700 (PDT) X-getmail-retrieved-from-mailbox: INBOX X-GMAIL-THRID: 1777939836598033247 X-GMAIL-MSGID: 1777939836598033247 Sharp's Spitz still uses the legacy GPIO interface in its wait_for_hsync function. Convert it to use the GPIO descriptor interface. Signed-off-by: Duje Mihanović --- arch/arm/mach-pxa/spitz.c | 11 +++++++++-- 1 file changed, 9 insertions(+), 2 deletions(-) diff --git a/arch/arm/mach-pxa/spitz.c b/arch/arm/mach-pxa/spitz.c index 94bcb187713b..1e38069e75f7 100644 --- a/arch/arm/mach-pxa/spitz.c +++ b/arch/arm/mach-pxa/spitz.c @@ -520,12 +520,14 @@ static inline void spitz_leds_init(void) {} * SSP Devices ******************************************************************************/ #if defined(CONFIG_SPI_PXA2XX) || defined(CONFIG_SPI_PXA2XX_MODULE) +static struct gpio_desc *hsync = NULL; + static void spitz_ads7846_wait_for_hsync(void) { - while (gpio_get_value(SPITZ_GPIO_HSYNC)) + while (gpiod_get_value(hsync)) cpu_relax(); - while (!gpio_get_value(SPITZ_GPIO_HSYNC)) + while (!gpiod_get_value(hsync)) cpu_relax(); } @@ -543,6 +545,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, + "hsync", GPIO_ACTIVE_LOW), { } }, }; @@ -622,6 +626,9 @@ static void __init spitz_spi_init(void) gpiod_add_lookup_table(&spitz_ads7846_gpio_table); gpiod_add_lookup_table(&spitz_spi_gpio_table); + hsync = gpiod_get(NULL, "hsync", GPIOD_IN); + if (IS_ERR(hsync)) + pr_err("Failed to get hsync GPIO: %ld\n", PTR_ERR(hsync)); pxa2xx_set_spi_info(2, &spitz_spi_info); spi_register_board_info(ARRAY_AND_SIZE(spitz_spi_devices)); } From patchwork Sun Sep 24 16:42:59 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: 144124 Return-Path: Delivered-To: ouuuleilei@gmail.com Received: by 2002:a59:cae8:0:b0:403:3b70:6f57 with SMTP id r8csp760719vqu; Sun, 24 Sep 2023 10:12:05 -0700 (PDT) X-Google-Smtp-Source: AGHT+IH24GPDbYERD9Jh7RuT6J6yw1+fYLSlAJhFSqEnC8tsxwbWUjdh7c7+KzHbwv+Em5atwjBS X-Received: by 2002:a05:6a00:10c6:b0:692:7527:c2d0 with SMTP id d6-20020a056a0010c600b006927527c2d0mr3296142pfu.32.1695575525593; Sun, 24 Sep 2023 10:12:05 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1695575525; cv=none; d=google.com; s=arc-20160816; b=GiuW7rFGNX3MZEnc2pusXy6bXNDjeweHoS0P/+glNz+VBr8z4XU6DxHSZZDDN8K3uo 38ptNS5nUO1MRLBGQ569ydShJrSFYLqnlHvCCnufFaV4XZtgxDGjh7UFe/IRCeLHWKZ+ tn9NBkhJvvqvhlcISdZQtB8hE3MMiPhalYywuJWHNNf5OqYURDHM46R2ua2nGHNShqFL gAdnGEHtPygfJ8InTsal8K+qgVvnImoq6pC0GXdLuBOtq8Wwyw32YlmC+jCxBdN0vTlY vIVInJlB6UrLasMP3IrKurebhyyd+1iGgTEexYA8jq4tLiHXFolQk0r0v1YrE6XlNcl2 OoWA== 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=q/92XpD7jm2HT9ePz+x4tsmwRmiE2FoIFkSz51GiXhM=; fh=UU0GqEaQ9Xnukct86UJbX2/ZB3UfIgAdTfbf6iYszSw=; b=Zet5OsFSaTjghtYl/NncxBXeJdXUMOlpzTpsKgJ5R5zOS/QKTUbLrmOuPfQedJurk/ 1NgwBVr/a7zwULnCz4DUlOwen08VfJaip4R/+iXVml7pc97HISn7kzrrVFpq7Zj+9mz7 pa8JyK1aNW6s2W1vHPqohx3N5aS7vYTQqBW5FIkJxggtzg7Pba2c/O88KHx/mcBNWY3P lKngWMkPtbHHcxyO4K46HWV5HQMDeLJ3aGMTsPLrlOKVAu2UqJQUsoL1IEbfslPJACa5 FccVByxyMMZXcgmIXODPTHNRm+ti+kELs6RFxCsmkp+U2cdDMf3GUzHFDi6C4do2b07g p4Gw== ARC-Authentication-Results: i=1; mx.google.com; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.38 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org Received: from fry.vger.email (fry.vger.email. [23.128.96.38]) by mx.google.com with ESMTPS id e10-20020a65688a000000b0055c81ab9a9fsi8254592pgt.582.2023.09.24.10.12.05 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Sun, 24 Sep 2023 10:12:05 -0700 (PDT) Received-SPF: pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.38 as permitted sender) client-ip=23.128.96.38; Authentication-Results: mx.google.com; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.38 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org Received: from out1.vger.email (depot.vger.email [IPv6:2620:137:e000::3:0]) by fry.vger.email (Postfix) with ESMTP id 5CF778021BC9; Sun, 24 Sep 2023 10:12:03 -0700 (PDT) X-Virus-Status: Clean X-Virus-Scanned: clamav-milter 0.103.10 at fry.vger.email Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S230045AbjIXRLw (ORCPT + 30 others); Sun, 24 Sep 2023 13:11:52 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:40072 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S230109AbjIXRLl (ORCPT ); Sun, 24 Sep 2023 13:11:41 -0400 Received: from mx.skole.hr (mx1.hosting.skole.hr [161.53.165.185]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id 1FB21C6 for ; Sun, 24 Sep 2023 10:11:35 -0700 (PDT) Received: from mx1.hosting.skole.hr (localhost.localdomain [127.0.0.1]) by mx.skole.hr (mx.skole.hr) with ESMTP id 95E8482085; Sun, 24 Sep 2023 19:11:33 +0200 (CEST) From: =?utf-8?q?Duje_Mihanovi=C4=87?= Date: Sun, 24 Sep 2023 18:42:59 +0200 Subject: [PATCH RFC 6/6] ARM: pxa: Convert gumstix Bluetooth to GPIO descriptors MIME-Version: 1.0 Message-Id: <20230924-pxa-gpio-v1-6-2805b87d8894@skole.hr> References: <20230924-pxa-gpio-v1-0-2805b87d8894@skole.hr> In-Reply-To: <20230924-pxa-gpio-v1-0-2805b87d8894@skole.hr> To: Daniel Mack , Haojian Zhuang , Robert Jarzmik , Russell King , Alan Stern , Greg Kroah-Hartman , Linus Walleij , Bartosz Golaszewski , Andy Shevchenko Cc: linux-arm-kernel@lists.infradead.org, linux-kernel@vger.kernel.org, linux-usb@vger.kernel.org, linux-gpio@vger.kernel.org, =?utf-8?q?Duje_Mihan?= =?utf-8?q?ovi=C4=87?= X-Mailer: b4 0.12.3 X-Developer-Signature: v=1; a=openpgp-sha256; l=2065; i=duje.mihanovic@skole.hr; h=from:subject:message-id; bh=H9m5GKPOjDqHvnoQunanjp8s8qAFx4LJD9KoCMZ/UEw=; b=owEBbQKS/ZANAwAIAZoRnrBCLZbhAcsmYgBlEG28X5NLVBm4Qm0+u6B6FKoxQly/0Ciuq8Dwq QSFwx5tDyiJAjMEAAEIAB0WIQRT351NnD/hEPs2LXiaEZ6wQi2W4QUCZRBtvAAKCRCaEZ6wQi2W 4WIQEACd3lw4SAlg1f15xp4lmNLT7RcoKchhGt8EYTWfn55MAR/JinvBIGpVqMdgxB8EAXj+y6U 8K9GsDCvTXhFBwvCJzt6noLutTilUD1CzM3CJOXfS7ADUZur+AenZ9ueyN7iv4SbJYOZ5eGbEhS RR+wxCLltnrtnTdj7CYCbEbGVXp5Onahvon6xS1TMjaiIKJt4gT61wrXMjyHSHh69icqlMT5LKD +EfLU128BhOFkif3M4gkRXpKZPqn3NFKlTEfIXV6fWSR05NCWIhatqDbjJBJO/abPamHMBRr87Y a9FZ9Su3ElS2ePbsM7HDRChmg/WIukHYudItJYEIo1X1GfZIt8ob6NHL8BtDYwgC7BSID6s/M2O ngF+atGZtLGG+DMpSDqD0Db62Dor7IPgGE1GVFIV8bTQQdOWtriOa6ZS+swQnNY6Av9xV2UtBQd KBP7ZNp/E7wJwqUzoxOxO08Pp3b2Fqz4YoRQKSAB/pwoUCyZUaz8rEsX/YBU4yo1eRZsQhsF2o/ zixUHhAyOSPxOyY5bh438obvqYCtMSK8TgMeAyXIFLpLnkh4796NuwLF6XS9wv7AbXB52mS1Saw w5Oa0t5wLzMITGy17grLQ8wf1N9W3c5XSK4CbkyH9SmHlCkcc5A7eCyWIvysZ11il4X20lF02Aa Rfxtr3YB8cD6uWg== 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 fry.vger.email Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org X-Greylist: Sender passed SPF test, not delayed by milter-greylist-4.6.4 (fry.vger.email [0.0.0.0]); Sun, 24 Sep 2023 10:12:03 -0700 (PDT) X-getmail-retrieved-from-mailbox: INBOX X-GMAIL-THRID: 1777939802556220800 X-GMAIL-MSGID: 1777939802556220800 Gumstix still uses the legacy GPIO interface for resetting the Bluetooth device. Convert it to use the GPIO descriptor interface. 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)