Received: by 2002:a05:7412:3784:b0:e2:908c:2ebd with SMTP id jk4csp827950rdb; Sun, 1 Oct 2023 07:14:23 -0700 (PDT) X-Google-Smtp-Source: AGHT+IEM9LDvl0ppEoDwWc/gCm4FvOXvkivjxPH7dRlyYAB/2j4td/httPhz7xAAxowl083ae9y6 X-Received: by 2002:a17:90a:e2c6:b0:261:2824:6b8c with SMTP id fr6-20020a17090ae2c600b0026128246b8cmr14176432pjb.13.1696169662659; Sun, 01 Oct 2023 07:14:22 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1696169662; cv=none; d=google.com; s=arc-20160816; b=fBXv68rHAax+BtL0gQvmANF4Z5PJx+5lrqlBM0+3ItHaUYXxnoWJMjFaRFialm99R8 nLcLNAqScOv8igGODr6kQofzuNUvAQRU6GMCpUTNkjCesYJ/badhKknFsq6ht4PQZ1Ln esMpaWPK+oqsX0e+5j2Xujp9oG/+q+NGW4B1bPOKLaeLhTnS+rueY9IAOvXF/HdmlSSR K+/3zeOD+QL3ZPBGTdMk7fZi3tIj0sm5ZWS94r0xnW3S0L/UiEoLjEnYzaZEeye4j3v/ 6G7ZroPSpykb36u4kQg3+vXdK528HSGJgE1b6BYJTqWLvM4TWafBsFAnZREDYv3ZuCNh naJg== 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 2620:137:e000::3:4 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org Return-Path: Received: from howler.vger.email (howler.vger.email. [2620:137:e000::3:4]) by mx.google.com with ESMTPS id nm16-20020a17090b19d000b00278f79e4fabsi5416943pjb.93.2023.10.01.07.14.22 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Sun, 01 Oct 2023 07:14:22 -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 9EF4680B8DC0; Sun, 1 Oct 2023 07:13:26 -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 S235115AbjJAONS (ORCPT + 99 others); Sun, 1 Oct 2023 10:13:18 -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 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: 8bit 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_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/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:26 -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