From patchwork Tue Feb 21 09:42:06 2023 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Balamanikandan Gunasundar X-Patchwork-Id: 59827 Return-Path: Delivered-To: ouuuleilei@gmail.com Received: by 2002:adf:eb09:0:0:0:0:0 with SMTP id s9csp1772895wrn; Tue, 21 Feb 2023 01:50:29 -0800 (PST) X-Google-Smtp-Source: AK7set+MGCbKwDWe6m7lL3ncYyRO5YRT0I4mi6+wyEZQHsQPEijKXFqxvY+9qR7tA+Dr8DDIctIT X-Received: by 2002:a05:6a21:7889:b0:bd:7ee9:e77c with SMTP id bf9-20020a056a21788900b000bd7ee9e77cmr4231367pzc.48.1676973029188; Tue, 21 Feb 2023 01:50:29 -0800 (PST) ARC-Seal: i=1; a=rsa-sha256; t=1676973029; cv=none; d=google.com; s=arc-20160816; b=DAP8IVeIvsSR50Mkeqx1Q5VfHhbSRsocPJhUSoS+9flgdEacByrHgs+Iq8N6e9Pn6b 0XtMmEmtAxzSid4kVtVwSJJEGEB/3pIFEEAsXA51HdQjh3AYF2mpr7nPGpMvB/jksvsR g1HnIARpOOKXVLuRnZwj3an3wWjeIgeUBvjsJF1hvDaFNXavwsXf6xu2TqtsgdpbH0OQ DsHz8PYn8HHZcE4KWwExpdtbMLTsdAiwm7aslV5EoXnwzpFOx5zcYNk+itGLIxhhSL5Q vuhA3gqNxnqjiUZyv3nhtx5M5E6Rog0rqTppWbEGfYE5FjsTAgVa+VwICkY3uUEdYIYV ZIcA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:content-transfer-encoding:mime-version :references:in-reply-to:message-id:date:subject:cc:to:from :dkim-signature; bh=c0F70e+zXO0uKm+fAjQ5OdGnUI5Fo4li9yOlG3TGX70=; b=YCi9JWb67BpFk/u0bLYdnRhtiLfQmz9xRlXb/cqyTNruA+SOlg3oDOGWMUQHVEcBFq M07cfOnAIb7RUi9XZiP47EqqdlAiuLhdU+xOo9TTagGsct6Yn2yfKw1YHIMU0qdfCrBp L4z9QO/9lRzWHg2z58MZpR1d/3xh02kGW3hphJ421C6psi31EzU7cNLYayiejS99fI7e gI6wX6q+gpJx2QN70KMFSS8R7/sZCI5il4fGMQ8GDkM7ld1JpOdg4YnH2hTlitNvHB0X SttP/6AeQvKmpP74F7pGAGxo6FNNOJWr+yl7JzZM5ZCc9tl3YRaYRTR70Zu86iIbz54/ hEkg== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@microchip.com header.s=mchp header.b=SuOeTeux; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=QUARANTINE sp=QUARANTINE dis=NONE) header.from=microchip.com Received: from out1.vger.email (out1.vger.email. [2620:137:e000::1:20]) by mx.google.com with ESMTP id h184-20020a636cc1000000b004fba5431351si1134361pgc.602.2023.02.21.01.50.16; Tue, 21 Feb 2023 01:50:29 -0800 (PST) Received-SPF: pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) client-ip=2620:137:e000::1:20; Authentication-Results: mx.google.com; dkim=pass header.i=@microchip.com header.s=mchp header.b=SuOeTeux; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=QUARANTINE sp=QUARANTINE dis=NONE) header.from=microchip.com Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S233991AbjBUJmy (ORCPT + 99 others); Tue, 21 Feb 2023 04:42:54 -0500 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:52604 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S233984AbjBUJmw (ORCPT ); Tue, 21 Feb 2023 04:42:52 -0500 Received: from esa.microchip.iphmx.com (esa.microchip.iphmx.com [68.232.154.123]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id 191783C2A; Tue, 21 Feb 2023 01:42:49 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=microchip.com; i=@microchip.com; q=dns/txt; s=mchp; t=1676972570; x=1708508570; h=from:to:cc:subject:date:message-id:in-reply-to: references:mime-version:content-transfer-encoding; bh=cwT8q1A86no5rdEsZdVhE2849MtfhAeHuu+QdmDlJaA=; b=SuOeTeuxt5PGyf4TJCALUZqZoddRC1SSh+3BrvKkAEHUHCH3A+i5yiMz eg0mEfBiH0UHpVK0PSR6BvNNZdI7731zNElfeIA4nNNT5xo/vP4JfNaxD iVT6arJxp6Pnpkmbrt8rBN63V2x1MVd91mWGpElLPvdMBY2MCJs09yX/2 xYHZMG3ruflFCEiPBHQxQ18dqoKveW7x+Pi823j9SA+PVYI249eVsPREs cHSTDheqEV9JxEHwR6iTqmFW0aULwVugLoVtiXUz70ntMdhtaJaxGFrFI WBS3eQU0cG6e726b5SP182Fsf0O7diRFcUjmNz++wqkrqiVeUwDU4bQGa Q==; X-IronPort-AV: E=Sophos;i="5.97,315,1669100400"; d="scan'208";a="138246810" Received: from unknown (HELO email.microchip.com) ([170.129.1.10]) by esa6.microchip.iphmx.com with ESMTP/TLS/AES256-SHA256; 21 Feb 2023 02:42:49 -0700 Received: from chn-vm-ex04.mchp-main.com (10.10.85.152) by chn-vm-ex03.mchp-main.com (10.10.85.151) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2507.16; Tue, 21 Feb 2023 02:42:48 -0700 Received: from che-lt-i64410lx.microchip.com (10.10.115.15) by chn-vm-ex04.mchp-main.com (10.10.85.152) with Microsoft SMTP Server id 15.1.2507.16 via Frontend Transport; Tue, 21 Feb 2023 02:42:44 -0700 From: Balamanikandan Gunasundar To: , , , , , , , , CC: , Subject: [PATCH v4 1/2] mmc: atmel-mci: Convert to gpio descriptors Date: Tue, 21 Feb 2023 15:12:06 +0530 Message-ID: <20230221094207.102006-2-balamanikandan.gunasundar@microchip.com> X-Mailer: git-send-email 2.25.1 In-Reply-To: <20230221094207.102006-1-balamanikandan.gunasundar@microchip.com> References: <20230221094207.102006-1-balamanikandan.gunasundar@microchip.com> MIME-Version: 1.0 X-Spam-Status: No, score=-4.4 required=5.0 tests=BAYES_00,DKIMWL_WL_HIGH, DKIM_SIGNED,DKIM_VALID,DKIM_VALID_AU,DKIM_VALID_EF,RCVD_IN_DNSWL_MED, RCVD_IN_MSPIKE_H2,SPF_HELO_PASS,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-getmail-retrieved-from-mailbox: =?utf-8?q?INBOX?= X-GMAIL-THRID: =?utf-8?q?1758433654622094063?= X-GMAIL-MSGID: =?utf-8?q?1758433670911639501?= Replace the legacy GPIO APIs with gpio descriptor consumer interface. To maintain backward compatibility, we rely on the "cd-inverted" property to manage the invertion flag instead of GPIO property. Signed-off-by: Balamanikandan Gunasundar Reviewed-by: Linus Walleij --- drivers/mmc/host/atmel-mci.c | 77 +++++++++++++++++------------------- include/linux/atmel-mci.h | 4 +- 2 files changed, 39 insertions(+), 42 deletions(-) diff --git a/drivers/mmc/host/atmel-mci.c b/drivers/mmc/host/atmel-mci.c index dd18440a90c5..ddad5a929634 100644 --- a/drivers/mmc/host/atmel-mci.c +++ b/drivers/mmc/host/atmel-mci.c @@ -11,7 +11,6 @@ #include #include #include -#include #include #include #include @@ -19,7 +18,8 @@ #include #include #include -#include +#include +#include #include #include #include @@ -388,8 +388,8 @@ struct atmel_mci_slot { #define ATMCI_CARD_NEED_INIT 1 #define ATMCI_SHUTDOWN 2 - int detect_pin; - int wp_pin; + struct gpio_desc *detect_pin; + struct gpio_desc *wp_pin; bool detect_is_active_high; struct timer_list detect_timer; @@ -637,7 +637,10 @@ atmci_of_init(struct platform_device *pdev) pdata->slot[slot_id].bus_width = 1; pdata->slot[slot_id].detect_pin = - of_get_named_gpio(cnp, "cd-gpios", 0); + devm_fwnode_gpiod_get(&pdev->dev, of_fwnode_handle(cnp), + "cd", GPIOD_IN, "cd-gpios"); + if (IS_ERR(pdata->slot[slot_id].detect_pin)) + pdata->slot[slot_id].detect_pin = NULL; pdata->slot[slot_id].detect_is_active_high = of_property_read_bool(cnp, "cd-inverted"); @@ -646,7 +649,10 @@ atmci_of_init(struct platform_device *pdev) of_property_read_bool(cnp, "non-removable"); pdata->slot[slot_id].wp_pin = - of_get_named_gpio(cnp, "wp-gpios", 0); + devm_fwnode_gpiod_get(&pdev->dev, of_fwnode_handle(cnp), + "wp", GPIOD_IN, "wp-gpios"); + if (IS_ERR(pdata->slot[slot_id].wp_pin)) + pdata->slot[slot_id].wp_pin = NULL; } return pdata; @@ -1509,8 +1515,8 @@ static int atmci_get_ro(struct mmc_host *mmc) int read_only = -ENOSYS; struct atmel_mci_slot *slot = mmc_priv(mmc); - if (gpio_is_valid(slot->wp_pin)) { - read_only = gpio_get_value(slot->wp_pin); + if (slot->wp_pin) { + read_only = gpiod_get_value(slot->wp_pin); dev_dbg(&mmc->class_dev, "card is %s\n", read_only ? "read-only" : "read-write"); } @@ -1523,8 +1529,8 @@ static int atmci_get_cd(struct mmc_host *mmc) int present = -ENOSYS; struct atmel_mci_slot *slot = mmc_priv(mmc); - if (gpio_is_valid(slot->detect_pin)) { - present = !(gpio_get_value(slot->detect_pin) ^ + if (slot->detect_pin) { + present = !(gpiod_get_raw_value(slot->detect_pin) ^ slot->detect_is_active_high); dev_dbg(&mmc->class_dev, "card is %spresent\n", present ? "" : "not "); @@ -1637,8 +1643,8 @@ static void atmci_detect_change(struct timer_list *t) if (test_bit(ATMCI_SHUTDOWN, &slot->flags)) return; - enable_irq(gpio_to_irq(slot->detect_pin)); - present = !(gpio_get_value(slot->detect_pin) ^ + enable_irq(gpiod_to_irq(slot->detect_pin)); + present = !(gpiod_get_raw_value(slot->detect_pin) ^ slot->detect_is_active_high); present_old = test_bit(ATMCI_CARD_PRESENT, &slot->flags); @@ -2237,9 +2243,9 @@ static int atmci_init_slot(struct atmel_mci *host, dev_dbg(&mmc->class_dev, "slot[%u]: bus_width=%u, detect_pin=%d, " "detect_is_active_high=%s, wp_pin=%d\n", - id, slot_data->bus_width, slot_data->detect_pin, + id, slot_data->bus_width, desc_to_gpio(slot_data->detect_pin), slot_data->detect_is_active_high ? "true" : "false", - slot_data->wp_pin); + desc_to_gpio(slot_data->wp_pin)); mmc->ops = &atmci_ops; mmc->f_min = DIV_ROUND_UP(host->bus_hz, 512); @@ -2275,31 +2281,24 @@ static int atmci_init_slot(struct atmel_mci *host, /* Assume card is present initially */ set_bit(ATMCI_CARD_PRESENT, &slot->flags); - if (gpio_is_valid(slot->detect_pin)) { - if (devm_gpio_request(&host->pdev->dev, slot->detect_pin, - "mmc_detect")) { - dev_dbg(&mmc->class_dev, "no detect pin available\n"); - slot->detect_pin = -EBUSY; - } else if (gpio_get_value(slot->detect_pin) ^ - slot->detect_is_active_high) { + if (slot->detect_pin) { + if (gpiod_get_raw_value(slot->detect_pin) ^ + slot->detect_is_active_high) { clear_bit(ATMCI_CARD_PRESENT, &slot->flags); } + } else { + dev_dbg(&mmc->class_dev, "no detect pin available\n"); } - if (!gpio_is_valid(slot->detect_pin)) { + if (!slot->detect_pin) { if (slot_data->non_removable) mmc->caps |= MMC_CAP_NONREMOVABLE; else mmc->caps |= MMC_CAP_NEEDS_POLL; } - if (gpio_is_valid(slot->wp_pin)) { - if (devm_gpio_request(&host->pdev->dev, slot->wp_pin, - "mmc_wp")) { - dev_dbg(&mmc->class_dev, "no WP pin available\n"); - slot->wp_pin = -EBUSY; - } - } + if (!slot->wp_pin) + dev_dbg(&mmc->class_dev, "no WP pin available\n"); host->slot[id] = slot; mmc_regulator_get_supply(mmc); @@ -2309,18 +2308,18 @@ static int atmci_init_slot(struct atmel_mci *host, return ret; } - if (gpio_is_valid(slot->detect_pin)) { + if (slot->detect_pin) { timer_setup(&slot->detect_timer, atmci_detect_change, 0); - ret = request_irq(gpio_to_irq(slot->detect_pin), - atmci_detect_interrupt, - IRQF_TRIGGER_FALLING | IRQF_TRIGGER_RISING, - "mmc-detect", slot); + ret = request_irq(gpiod_to_irq(slot->detect_pin), + atmci_detect_interrupt, + IRQF_TRIGGER_FALLING | IRQF_TRIGGER_RISING, + "mmc-detect", slot); if (ret) { dev_dbg(&mmc->class_dev, "could not request IRQ %d for detect pin\n", - gpio_to_irq(slot->detect_pin)); - slot->detect_pin = -EBUSY; + gpiod_to_irq(slot->detect_pin)); + slot->detect_pin = NULL; } } @@ -2339,10 +2338,8 @@ static void atmci_cleanup_slot(struct atmel_mci_slot *slot, mmc_remove_host(slot->mmc); - if (gpio_is_valid(slot->detect_pin)) { - int pin = slot->detect_pin; - - free_irq(gpio_to_irq(pin), slot); + if (slot->detect_pin) { + free_irq(gpiod_to_irq(slot->detect_pin), slot); del_timer_sync(&slot->detect_timer); } diff --git a/include/linux/atmel-mci.h b/include/linux/atmel-mci.h index 1491af38cc6e..017e7d8f6126 100644 --- a/include/linux/atmel-mci.h +++ b/include/linux/atmel-mci.h @@ -26,8 +26,8 @@ */ struct mci_slot_pdata { unsigned int bus_width; - int detect_pin; - int wp_pin; + struct gpio_desc *detect_pin; + struct gpio_desc *wp_pin; bool detect_is_active_high; bool non_removable; }; From patchwork Tue Feb 21 09:42:07 2023 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Balamanikandan Gunasundar X-Patchwork-Id: 59828 Return-Path: Delivered-To: ouuuleilei@gmail.com Received: by 2002:adf:eb09:0:0:0:0:0 with SMTP id s9csp1773174wrn; Tue, 21 Feb 2023 01:51:29 -0800 (PST) X-Google-Smtp-Source: AK7set8W5dE8j76lb12E97SjOZpKAgsiXYwRugKdxUlRFryw6dZBpZFwlGUlkTkyM+HUjQZphLis X-Received: by 2002:a17:903:11cd:b0:19c:32a6:a362 with SMTP id q13-20020a17090311cd00b0019c32a6a362mr6672236plh.6.1676973088798; Tue, 21 Feb 2023 01:51:28 -0800 (PST) ARC-Seal: i=1; a=rsa-sha256; t=1676973088; cv=none; d=google.com; s=arc-20160816; b=feTJzRPDIRjIxj8xFy/VA5OqQUdK/l+GQ9vLWzI5G6aPJEn7BThNBC0fl5HUDMPvcH W66vOHfPtlnMvL9uJrXLc1Zf9gYjXD4KDMRWcdeblfJReA4YEbkYN8+mBrM3C1Cl96lK kOXLRQs8RnhC/1IV+3aDShaqAx3vGsf3RXqh1Ol6ubthA9y+bq5PpFzU8YqfsX4rbzay uCp+eIemS6GR3DwL17JXcvMlmpd1T7tsYpBchJrtraWmQgVQuqulfiDCyh8u6NptGJzo IMGgHdXpO9hSVshn7AaRADDJAkbWGQbOC+O9EGvg94yRZ2oQei+DPvb9w3eV3ksxS479 v4sg== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:content-transfer-encoding:mime-version :references:in-reply-to:message-id:date:subject:cc:to:from :dkim-signature; bh=VpnN5hjmShDLX2Vo0x36bPcwcHdDCvY2PIPj5s+0jbo=; b=gs+vN3YNotfaJzPLvLGVoyehGUatT4a9rP15yi1pjMTOPUNV+EjYDLi3EjF5ztOjHQ A1FlIr8B9zenXMIHl8ZJKkhKjhF4KmJwJO4D9UYJGXgcIncfb9/wB8kQLwIck6QieSXu X9coV2uWITGcChm0Dnn861GoKbk4O308tH2MIlyVMn1t3xSb8EI+jeW9tx+8/rUajJyc KZT3wnbLu5j7tDb3e62ziwgCKR4qcjnLVrY/Yw6XnAbQYJL4GwAbDUwlCx31MP4v0cam LihS0sjY170RHDEqtEuf3rkGrjfRPFqyfgjciOII9AaJ+ZOp28YF9iNX8Eqc0MTtwlgg 3dfw== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@microchip.com header.s=mchp header.b=EHh4QRy+; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=QUARANTINE sp=QUARANTINE dis=NONE) header.from=microchip.com Received: from out1.vger.email (out1.vger.email. [2620:137:e000::1:20]) by mx.google.com with ESMTP id i63-20020a638742000000b004fb81c96759si3154389pge.698.2023.02.21.01.51.15; Tue, 21 Feb 2023 01:51:28 -0800 (PST) Received-SPF: pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) client-ip=2620:137:e000::1:20; Authentication-Results: mx.google.com; dkim=pass header.i=@microchip.com header.s=mchp header.b=EHh4QRy+; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=QUARANTINE sp=QUARANTINE dis=NONE) header.from=microchip.com Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S233984AbjBUJnB (ORCPT + 99 others); Tue, 21 Feb 2023 04:43:01 -0500 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:52836 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S233988AbjBUJm6 (ORCPT ); Tue, 21 Feb 2023 04:42:58 -0500 Received: from esa.microchip.iphmx.com (esa.microchip.iphmx.com [68.232.154.123]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id 2D4CD30E9; Tue, 21 Feb 2023 01:42:56 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=microchip.com; i=@microchip.com; q=dns/txt; s=mchp; t=1676972576; x=1708508576; h=from:to:cc:subject:date:message-id:in-reply-to: references:mime-version:content-transfer-encoding; bh=VdRIV4wFzCNVr8yDuZx/Q+Vky4EpLNRgaQcQ7QQdiLY=; b=EHh4QRy+q/XHg2kYtrkMvjVmpiv2Dzwu9X3DwiXIUxTNsI81JQGXN90n /XlNI+5/QpYIkw9QLDmk/Og+K9MSTLWHaToGQGlHdthoxkh/szt4NMBeu FGH3B16C3DBypfIlC2PSo9VhcNLIGl/07eJesEGCmL9KPjNaTdBBxVfi0 vax6puiiM214gGwsfcUj1jrCpc981m6fd1C8L3bzfUqETLmA+MFOgbjG3 dB31oPCq+C+lV07DM9uWT9njBjIxKce3krJiE+cAZHfsGEsqtZnFJx5er tRzvjigLtPG/u6wBt6YOQUdKGgCmxmlGtjOt3Y8ZHYzrUn9uFarVSFO2H Q==; X-IronPort-AV: E=Sophos;i="5.97,315,1669100400"; d="scan'208";a="138246831" Received: from unknown (HELO email.microchip.com) ([170.129.1.10]) by esa6.microchip.iphmx.com with ESMTP/TLS/AES256-SHA256; 21 Feb 2023 02:42:55 -0700 Received: from chn-vm-ex04.mchp-main.com (10.10.85.152) by chn-vm-ex04.mchp-main.com (10.10.85.152) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2507.16; Tue, 21 Feb 2023 02:42:54 -0700 Received: from che-lt-i64410lx.microchip.com (10.10.115.15) by chn-vm-ex04.mchp-main.com (10.10.85.152) with Microsoft SMTP Server id 15.1.2507.16 via Frontend Transport; Tue, 21 Feb 2023 02:42:49 -0700 From: Balamanikandan Gunasundar To: , , , , , , , , CC: , Subject: [PATCH v4 2/2] mmc: atmel-mci: move atmel MCI header file Date: Tue, 21 Feb 2023 15:12:07 +0530 Message-ID: <20230221094207.102006-3-balamanikandan.gunasundar@microchip.com> X-Mailer: git-send-email 2.25.1 In-Reply-To: <20230221094207.102006-1-balamanikandan.gunasundar@microchip.com> References: <20230221094207.102006-1-balamanikandan.gunasundar@microchip.com> MIME-Version: 1.0 X-Spam-Status: No, score=-4.4 required=5.0 tests=BAYES_00,DKIMWL_WL_HIGH, DKIM_SIGNED,DKIM_VALID,DKIM_VALID_AU,DKIM_VALID_EF,RCVD_IN_DNSWL_MED, RCVD_IN_MSPIKE_H2,SPF_HELO_PASS,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-getmail-retrieved-from-mailbox: =?utf-8?q?INBOX?= X-GMAIL-THRID: =?utf-8?q?1758433733690494308?= X-GMAIL-MSGID: =?utf-8?q?1758433733690494308?= Move the contents of linux/atmel-mci.h into drivers/mmc/host/atmel-mci.c as it is only used in one file Signed-off-by: Balamanikandan Gunasundar --- drivers/mmc/host/atmel-mci.c | 39 +++++++++++++++++++++++++++++- include/linux/atmel-mci.h | 46 ------------------------------------ 2 files changed, 38 insertions(+), 47 deletions(-) delete mode 100644 include/linux/atmel-mci.h diff --git a/drivers/mmc/host/atmel-mci.c b/drivers/mmc/host/atmel-mci.c index ddad5a929634..8b5116d7ae74 100644 --- a/drivers/mmc/host/atmel-mci.c +++ b/drivers/mmc/host/atmel-mci.c @@ -30,7 +30,6 @@ #include #include -#include #include #include #include @@ -40,6 +39,8 @@ #include #include +#define ATMCI_MAX_NR_SLOTS 2 + /* * Superset of MCI IP registers integrated in Atmel AT91 Processor * Registers and bitfields marked with [2] are only available in MCI2 @@ -201,6 +202,42 @@ enum atmci_pdc_buf { PDC_SECOND_BUF, }; +/** + * struct mci_slot_pdata - board-specific per-slot configuration + * @bus_width: Number of data lines wired up the slot + * @detect_pin: GPIO pin wired to the card detect switch + * @wp_pin: GPIO pin wired to the write protect sensor + * @detect_is_active_high: The state of the detect pin when it is active + * @non_removable: The slot is not removable, only detect once + * + * If a given slot is not present on the board, @bus_width should be + * set to 0. The other fields are ignored in this case. + * + * Any pins that aren't available should be set to a negative value. + * + * Note that support for multiple slots is experimental -- some cards + * might get upset if we don't get the clock management exactly right. + * But in most cases, it should work just fine. + */ +struct mci_slot_pdata { + unsigned int bus_width; + struct gpio_desc *detect_pin; + struct gpio_desc *wp_pin; + bool detect_is_active_high; + bool non_removable; +}; + +/** + * struct mci_platform_data - board-specific MMC/SDcard configuration + * @dma_slave: DMA slave interface to use in data transfers. + * @slot: Per-slot configuration data. + */ +struct mci_platform_data { + void *dma_slave; + dma_filter_fn dma_filter; + struct mci_slot_pdata slot[ATMCI_MAX_NR_SLOTS]; +}; + struct atmel_mci_caps { bool has_dma_conf_reg; bool has_pdc; diff --git a/include/linux/atmel-mci.h b/include/linux/atmel-mci.h deleted file mode 100644 index 017e7d8f6126..000000000000 --- a/include/linux/atmel-mci.h +++ /dev/null @@ -1,46 +0,0 @@ -/* SPDX-License-Identifier: GPL-2.0 */ -#ifndef __LINUX_ATMEL_MCI_H -#define __LINUX_ATMEL_MCI_H - -#include -#include - -#define ATMCI_MAX_NR_SLOTS 2 - -/** - * struct mci_slot_pdata - board-specific per-slot configuration - * @bus_width: Number of data lines wired up the slot - * @detect_pin: GPIO pin wired to the card detect switch - * @wp_pin: GPIO pin wired to the write protect sensor - * @detect_is_active_high: The state of the detect pin when it is active - * @non_removable: The slot is not removable, only detect once - * - * If a given slot is not present on the board, @bus_width should be - * set to 0. The other fields are ignored in this case. - * - * Any pins that aren't available should be set to a negative value. - * - * Note that support for multiple slots is experimental -- some cards - * might get upset if we don't get the clock management exactly right. - * But in most cases, it should work just fine. - */ -struct mci_slot_pdata { - unsigned int bus_width; - struct gpio_desc *detect_pin; - struct gpio_desc *wp_pin; - bool detect_is_active_high; - bool non_removable; -}; - -/** - * struct mci_platform_data - board-specific MMC/SDcard configuration - * @dma_slave: DMA slave interface to use in data transfers. - * @slot: Per-slot configuration data. - */ -struct mci_platform_data { - void *dma_slave; - dma_filter_fn dma_filter; - struct mci_slot_pdata slot[ATMCI_MAX_NR_SLOTS]; -}; - -#endif /* __LINUX_ATMEL_MCI_H */