From patchwork Tue Sep 26 15:46:24 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: 144956 Return-Path: Delivered-To: ouuuleilei@gmail.com Received: by 2002:a59:cae8:0:b0:403:3b70:6f57 with SMTP id r8csp2019061vqu; Tue, 26 Sep 2023 08:58:17 -0700 (PDT) X-Google-Smtp-Source: AGHT+IGhdtFEpFDDIxy2NUPy8A4+zInqeIq3NDzVo8urqiIMAMYxfE/sK+Pl6xZlATwu68qp85uC X-Received: by 2002:a05:6a00:b56:b0:68b:e710:ee9c with SMTP id p22-20020a056a000b5600b0068be710ee9cmr9663056pfo.19.1695743896773; Tue, 26 Sep 2023 08:58:16 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1695743896; cv=none; d=google.com; s=arc-20160816; b=KiKC/FAlyM/24sK15F99dVNkHSIqb5AQ01oBFaFywgFaov7ig9MFGYCsB0uTiLQP6/ PPJcxHDa8M2+WdIcK52Eun7lKoJKz+7jqjBkH2KtSVpBvmbRfoCEuXO8W4fOCJ5FkA85 0Dy1ILBZTRv73s4AtBx9cQs5RfwfWCM6K4mJueaZ9QNn9McGoK9TEJWaqhuwoBUZAYN1 bar3yp5noOVBGN0JFWlCKzHfQK7gB9kPH9dzwsQkz8kfnNeo2Cp9wWtjTPyPjMHG8RDd Yi26WQNITvWrJZGft+TC9/w8tTGq+bAIjs6j521qxPulLJwTpY6r+qNl6YS5JCAqaUXD +OEA== 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=FZqHx13RX8G5xijJEgqSVOQL+IjtUNtNnEDX4GecJEkD+g7BpdY22QKmKtX/FrYu26 RQFZ3PAtHvHfSrtYlmHGyLzQdeIcfrGCPfXTA/Z8hQH3Jqz+/GtnUeOqaTGYTmjycM0b UnispnZ6LMAsRSviDfoGWFf1BZyH74qbl+kIzh584DPbtmIT86DzrXa2lQcMuuprkfr/ 3nFjAAVJl8Uo1t7rp7A7/HneIlu0uU35zuHNGLHSEK6Uyu0uox0aqyGR/4JafbbFykjx A1WiJBJCOpPnjaB1Yr0LBEUt/26DxovWTM/wqJXsYm/0Kdz6ds4k1fxAYLJXx2noTlvS c91w== 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:3 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org Received: from lipwig.vger.email (lipwig.vger.email. [2620:137:e000::3:3]) by mx.google.com with ESMTPS id dc8-20020a056a0035c800b0068a590d8043si13306628pfb.375.2023.09.26.08.58.16 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Tue, 26 Sep 2023 08:58:16 -0700 (PDT) Received-SPF: pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::3:3 as permitted sender) client-ip=2620:137:e000::3:3; Authentication-Results: mx.google.com; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::3:3 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 74CBB8083E79; Tue, 26 Sep 2023 08:46:53 -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 S233792AbjIZPqp (ORCPT + 28 others); Tue, 26 Sep 2023 11:46:45 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:56994 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S229519AbjIZPqo (ORCPT ); Tue, 26 Sep 2023 11:46:44 -0400 Received: from mx.skole.hr (mx1.hosting.skole.hr [161.53.165.185]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id 5E31A116; Tue, 26 Sep 2023 08:46:36 -0700 (PDT) Received: from mx1.hosting.skole.hr (localhost.localdomain [127.0.0.1]) by mx.skole.hr (mx.skole.hr) with ESMTP id CFA5882471; Tue, 26 Sep 2023 17:46:34 +0200 (CEST) From: =?utf-8?q?Duje_Mihanovi=C4=87?= Date: Tue, 26 Sep 2023 17:46:24 +0200 Subject: [PATCH RFC v2 3/6] ARM: pxa: Convert Spitz CF power control to GPIO descriptors MIME-Version: 1.0 Message-Id: <20230926-pxa-gpio-v2-3-984464d165dd@skole.hr> References: <20230926-pxa-gpio-v2-0-984464d165dd@skole.hr> In-Reply-To: <20230926-pxa-gpio-v2-0-984464d165dd@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/ZANAwAIAZoRnrBCLZbhAcsmYgBlEvzW8p1SpO/LVrhZ4cyOyEsmfBY+BbA8HF5w/ xIAZC61EYWJAjMEAAEIAB0WIQRT351NnD/hEPs2LXiaEZ6wQi2W4QUCZRL81gAKCRCaEZ6wQi2W 4Qp5EACNKOhea/Gu/9RKXqniM2l/1tXSAoQTFENWZpL9pxI0tf3YtwigVQvliPGZq5KmhzQ+z82 McRgQkT6ukcEX0V+Vb5DGaiVN+qE+uvEysd/IG1M5GGusAxMLT2yZMtM281IqYvqRSCFcdM96/E rU7mOkk+rtu0kMnKmhXPMhz5jVckiElNbR6c8HX/Hc2ltYfme0TGyxKOsN3CqX3kecym4dja33z yVBWV/2oG56ilZmSSU4QaMRWPi8AA4XrIWQXIyR0dDVGLg3eNHy0zZedGOJPdx4SGOv7Y4wqVw5 /X39MMtb+E75HdxE2SI9eLKDQuubS+SH6H6ytHRBXbKmgIwZPr3cfrQQvfi6+KSxJG6xS2R6brN O0xgsNpY7rjDtuUeAkykVQMr2UAVhz9E98F+P7OXXE/vkl6qpXNfIkxxeKyZaapFrGQaSHTd5DP 44tJSB2LYdaERlJtVSHruMuE04/d1wURuWCZEPEKOozOgIV1Q/qbsX7K+F4Gohti58ytq9eqMw0 czpViWocbw/9nMPfcMe8lstBxgOI0e71Sq82YgqBquZBUrR8YCcSTRhT/sX1YosGVb2sapfs12f iG5YKpHHuEFLuBmrVOO+s5uhCBxeEF222jrY/qvYXZYafLeoUEcEeIEgQ3q9bEGeKz6pc9k8w1u epzqgGNVa7PFBcw== 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]); Tue, 26 Sep 2023 08:46:53 -0700 (PDT) X-getmail-retrieved-from-mailbox: INBOX X-GMAIL-THRID: 1778116352443156861 X-GMAIL-MSGID: 1778116352443156861 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ć Acked-by: Linus Walleij --- 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