Received: by 2002:a05:7412:3784:b0:e2:908c:2ebd with SMTP id jk4csp2662506rdb; Wed, 4 Oct 2023 07:57:09 -0700 (PDT) X-Google-Smtp-Source: AGHT+IHF4EKsUEWZU0SVgrk6mUb4R7KtL33WOUOHwrlrC7JxlYXQf7H+4Y/oX7B99lZYvnj3mTO3 X-Received: by 2002:a05:6808:1313:b0:3af:8050:369f with SMTP id y19-20020a056808131300b003af8050369fmr3465609oiv.6.1696431428990; Wed, 04 Oct 2023 07:57:08 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1696431428; cv=none; d=google.com; s=arc-20160816; b=pMOiiQb8FAnMfEGYCjG0eQuLDlM+orndSrVh/lWeV1TMcQnAxRMqUzShnmNn7L7B5J CiUzsJXOoGMt3/oeC2BYDQpLWerbcpCUi3D4ABbOdJQ2XqGxsrLWZZYSqa3MRCTvkANP GsmlmXP9Bl+zMHg6HbuBT/OO9gfoQ8jDYi6u864m3Z+m0n0nzS3djCfEoxO7SMqHt9be obK8N5x9yXJWk8MiYf1mxTO9MSJWWaQLBEw97hp2J9Qhfxe6/NolsZWTjlU17xmRuPVT llARbca2aqrkZJxE6scMSTfds3mTCjcheuUxy1HXM0yzRVKgr/iv24KktWyD/VBozkz9 aIMQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:cc:to:in-reply-to:references:message-id :content-transfer-encoding:mime-version:subject:date:from; bh=g84fWwdcJGxiPPTDe2rJ7b/9sFtL4buyA704uvoI24Q=; fh=H4D8raVEE9ToK4xcGS9/Pnvmhs2QUzCYuQTuaKubzik=; b=xO1yraQ4hObYaHrALeFjIC+N5xDWZIDXoa3SfpLnMQE5Koi/0pKnap+pxNSE6DeJun uJX2VNR7f/+tI/42fkyt0HK3lBZ0oL3EMvAI45eAvW8So7+y2lNml08JK0vqc8rwiBB9 djQViZ4kdt+xp25u+GlZEoEx3uBm/0T5rhazeuZECUCjHehdf+cC8O7z8pbWKaSCtVQy fxUWeszjDsYhxDdVym2w/NAKcxyMDak6tbvUtqkOLI4LJMGxA6DFRmO89uY2+RqJAb+0 GO/NEjx2IbproiEZspPFoJMgWW6w1sMXgNvkx2VMvDu3uQ6+XHc40nUapau9R2BurOeQ VbDQ== ARC-Authentication-Results: i=1; mx.google.com; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::3:7 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org Return-Path: Received: from snail.vger.email (snail.vger.email. [2620:137:e000::3:7]) by mx.google.com with ESMTPS id v186-20020a6389c3000000b00578b9fb24f6si3735833pgd.616.2023.10.04.07.57.08 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Wed, 04 Oct 2023 07:57:08 -0700 (PDT) Received-SPF: pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::3:7 as permitted sender) client-ip=2620:137:e000::3:7; Authentication-Results: mx.google.com; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::3:7 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org Received: from out1.vger.email (depot.vger.email [IPv6:2620:137:e000::3:0]) by snail.vger.email (Postfix) with ESMTP id CBAFF82224DE; Wed, 4 Oct 2023 07:57:07 -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 S243205AbjJDO5E (ORCPT + 99 others); Wed, 4 Oct 2023 10:57:04 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:60308 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S243121AbjJDO4v (ORCPT ); Wed, 4 Oct 2023 10:56:51 -0400 Received: from mx.skole.hr (mx1.hosting.skole.hr [161.53.165.185]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id 124B1114; Wed, 4 Oct 2023 07:56:46 -0700 (PDT) Received: from mx1.hosting.skole.hr (localhost.localdomain [127.0.0.1]) by mx.skole.hr (mx.skole.hr) with ESMTP id 4820184CB4; Wed, 4 Oct 2023 16:56:45 +0200 (CEST) From: =?utf-8?q?Duje_Mihanovi=C4=87?= Date: Wed, 04 Oct 2023 16:56:27 +0200 Subject: [PATCH RFC v5 3/6] ARM: pxa: Convert Spitz CF power control to GPIO descriptors MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: 8bit Message-Id: <20231004-pxa-gpio-v5-3-d99ae6fceea8@skole.hr> References: <20231004-pxa-gpio-v5-0-d99ae6fceea8@skole.hr> In-Reply-To: <20231004-pxa-gpio-v5-0-d99ae6fceea8@skole.hr> To: Daniel Mack , Haojian Zhuang , Robert Jarzmik , Russell King , Alan Stern , Greg Kroah-Hartman , Linus Walleij , Bartosz Golaszewski , Andy Shevchenko , Dmitry Torokhov , Mark Brown Cc: linux-arm-kernel@lists.infradead.org, linux-kernel@vger.kernel.org, linux-usb@vger.kernel.org, linux-gpio@vger.kernel.org, linux-input@vger.kernel.org, linux-spi@vger.kernel.org, =?utf-8?q?Duje_Mihanovi=C4=87?= X-Mailer: b4 0.12.3 X-Developer-Signature: v=1; a=openpgp-sha256; l=2214; i=duje.mihanovic@skole.hr; h=from:subject:message-id; bh=KS0wJeQAKLB5dKzgUIGP98I3G2fGCey57KOguPJsj3Y=; b=owEBbQKS/ZANAwAIAZoRnrBCLZbhAcsmYgBlHX0k0eLl93XWJ77A4HcpvvnTW6rw5IUEBVaZK 9G4+btriQmJAjMEAAEIAB0WIQRT351NnD/hEPs2LXiaEZ6wQi2W4QUCZR19JAAKCRCaEZ6wQi2W 4al3D/9nKmO5AkDvEj4Dgn62yLO4LY2q11bFkySNthbUGi079W8qdL5XjpM4hcehCzuWt9+lHJX ojMd3uCWUDkH0TV+3/IHseAqc45tyqUW+3NuQmQg8w+Lz57z10XbQ+fW6cL2gxtAFK82IJ6XyE/ i8AvmwKFtKIn7Ep4I1wH5q634InRqBZ1iAJqnKd4v9QJTz9yiUNYxQkTybIrPlknUl8325rvpvI y9ZsfIId1Cqw/eTMHocDabeCEaX0sUX4RA2HGnlAReo7vCD+O0inZlg8HgP+qFEp13Tt2De+osJ aC5b+tUDxloW0X0ElXa+GHqqyG/eySgrTTl1Jl3A85BWpLY8eZnEGa9wedRFyAcohXorI/FktAt jT5tpeHTAIp3bsVKzVID7NmDaqpB8bwDFVVY1AO9l6YKnLev+/H19T8rmb6QAQe4PnUdKW07yrk 0FMMig70Z4OVtpUVBOqXeZEgd8/XkOMXpfydjhHhP3w8dvdus8DuihfmLq/aA6/blYGaog9bwgE LWvYMwKLILD2ztenOD5GCtV13nZyH7D4u8g/aI3dl/hhUCOZZDzfG1cZsY3DvF6t3Da12Za5Str z2CDNRKEmWBEZgzKM+GX6m1MIBxaxB1TYeP995KTO+bub5sr+/VRXMUiysxlO5MW/3KLzjymK0I 5pV4u+cS4Gvsg9A== X-Developer-Key: i=duje.mihanovic@skole.hr; a=openpgp; fpr=53DF9D4D9C3FE110FB362D789A119EB0422D96E1 X-Spam-Status: No, score=-1.9 required=5.0 tests=BAYES_00, RCVD_IN_DNSWL_BLOCKED,SPF_HELO_NONE,SPF_PASS autolearn=ham autolearn_force=no version=3.4.6 X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on lindbergh.monkeyblade.net Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org X-Greylist: Sender passed SPF test, not delayed by milter-greylist-4.6.4 (snail.vger.email [0.0.0.0]); Wed, 04 Oct 2023 07:57:08 -0700 (PDT) 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 -- 2.42.0