From patchwork Fri Feb 12 13:15:32 2021 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Ulf Hansson X-Patchwork-Id: 381827 Delivered-To: patches@linaro.org Received: by 2002:a02:b18a:0:0:0:0:0 with SMTP id t10csp2922292jah; Fri, 12 Feb 2021 05:15:52 -0800 (PST) X-Received: by 2002:a05:6512:344a:: with SMTP id j10mr1573834lfr.317.1613135752459; Fri, 12 Feb 2021 05:15:52 -0800 (PST) ARC-Seal: i=1; a=rsa-sha256; t=1613135752; cv=none; d=google.com; s=arc-20160816; b=yKC537KH24sNeSa2lUQS4h4ZqWKKfQD+WZF6iZ+/AtwtZSCBfnqATOPU5bW1eHkyyd UB/4+jE483PalVp4NGAQIlVglB/asSdfnMuTgbTW0YU4cwWmIjB993rvvO2DZwzuhf8E MIiJRI3xlIL1UxuZUQcljQBVOCz+eQHTmYZXZzetP2BBa/HMZzhrZ3u6n3kn4AXGtGbt BhQoNwGkKTxO9sdRHs1Ds8GzwjKmh410hpCsZsbne3h0nzClTSjA05ndNmUsZ4Y+cTMT beyY0ulQYbXsda9zUz3AgClR7pycGc3ueEFUru8xvwmeT0i5VqudVA1rVDeJfQ2wPHTE nlDg== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:dkim-signature; bh=kNfUMwXJsoKHQeXptuNd1laxxutYEsENQDplczxMvTQ=; b=edpzzU+73QdlCums77Tee39UiKyRbB2GdCYgVkEt+XRh+IVppZfvp5TIXDOOh7UGpb 5Frg6mayIr3cvsKj8luvGG6O/wtwZ/uBjgSkwAGEx2s/b7pQC8sgxeb7iTOexPuSqaIo FsK8qFxgWuxCvNhmGiNrqJFalU9Dt/PPlaKno6A3FK/VrqBSaIu+4HCJ36/IjMUhVbqB b7ks/8vUaZ74Yscufcq2rKXKDj73iOYoDuOYarSm7vq7t8wBSogzS0Gt/haS5C4sDq+j kyj7aeS2zfCNN3xPHPkfy+gpFK5pUmrraMUX1BPFFJNTeB1s7fp1fSe/3OYo7oK9Mw0O F4Zg== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@linaro.org header.s=google header.b=U9kMLvw3; spf=pass (google.com: domain of ulf.hansson@linaro.org designates 209.85.220.41 as permitted sender) smtp.mailfrom=ulf.hansson@linaro.org; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=linaro.org Return-Path: Received: from mail-sor-f41.google.com (mail-sor-f41.google.com. [209.85.220.41]) by mx.google.com with SMTPS id w9sor2030611lfd.3.2021.02.12.05.15.52 for (Google Transport Security); Fri, 12 Feb 2021 05:15:52 -0800 (PST) Received-SPF: pass (google.com: domain of ulf.hansson@linaro.org designates 209.85.220.41 as permitted sender) client-ip=209.85.220.41; Authentication-Results: mx.google.com; dkim=pass header.i=@linaro.org header.s=google header.b=U9kMLvw3; spf=pass (google.com: domain of ulf.hansson@linaro.org designates 209.85.220.41 as permitted sender) smtp.mailfrom=ulf.hansson@linaro.org; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=linaro.org DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; h=from:to:cc:subject:date:message-id:in-reply-to:references :mime-version:content-transfer-encoding; bh=kNfUMwXJsoKHQeXptuNd1laxxutYEsENQDplczxMvTQ=; b=U9kMLvw3+66zo/Cb7/7B/Wi9DPJ1U99GxpEBsXoOmEJprfaYXcEgHpkmqKQ0rr6d2y 0j2RpI96LKVXj13MN/JKUC/Z54BVszxQMLKZp/kXlAf9Q+Ty8/TwO52jwvaK9MEUSbjw evQ8U9UqkwwsH3cO2AlIIkPDN6558cjFCzMhdcn8bRVOfdN+MO19R4qG0nBrklS/ghbq admRir1yUYAxvX5JugAavEEUJdDCMvYlu9J7AcgPD9gjd6TNFWrHlxFuQPuboPKabObG FOvbvsizTmCJETdlac9jL34X41zzPtMpdgE5H8UsqaiVeeb7FtnwmZVrc5/PwbB47hPc T5Gw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:from:to:cc:subject:date:message-id:in-reply-to :references:mime-version:content-transfer-encoding; bh=kNfUMwXJsoKHQeXptuNd1laxxutYEsENQDplczxMvTQ=; b=f8q/UFLvZY5qwxtG/HA+KcRy2WNNS3wE+3F0sHh4ieJ7rhKn2l9hW8DSI4iywwvKlO 7VUHvae+fjT8yZacD5HFnDduf2QKhsaCiov6TdgapB4x2JMQSZVsr2RdHgJdBSg0lJif +VU0OOKuJVLpWPqxn24dyuIAloJQJKvdy/d3v1dSICwLfQb/BtQZt6DiQvyK44igCE2+ /VH0g+q9cx3A/QkY28aBazvC8oUh/Jp7szUIACRI9KaREhAKt8/ILHpmTDnzYESvrE3c gww91uI1/LbNTU/+a5M3Njt9jtn9NSOs5zK2ortSfSVXZ8Jq1hjNf2lHsrILHAmg0HHq UcoQ== X-Gm-Message-State: AOAM532pLnZ5faUOocgZiQdmNNG4UZZqXscBV+NU1Zs2ZQY3ymujcYnB i+vzRH0EazZatQ+k0HUcxSTdLiz1 X-Google-Smtp-Source: ABdhPJyxYldTkDjFUhavPJDFmo5SZNs+btDvyxYX7E1iHc4y/uxolj8FTbGLfyHIHdOMV46UosYMog== X-Received: by 2002:a19:78a:: with SMTP id 132mr1505818lfh.382.1613135752096; Fri, 12 Feb 2021 05:15:52 -0800 (PST) Return-Path: Received: from localhost.localdomain (h-98-128-181-28.NA.cust.bahnhof.se. [98.128.181.28]) by smtp.gmail.com with ESMTPSA id w21sm971448lfu.132.2021.02.12.05.15.50 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Fri, 12 Feb 2021 05:15:50 -0800 (PST) From: Ulf Hansson To: linux-mmc@vger.kernel.org, Ulf Hansson Cc: Adrian Hunter , Linus Walleij , Wolfram Sang , Pierre Ossman , Russell King , linux-kernel@vger.kernel.org Subject: [PATCH 1/2] mmc: core: Drop superfluous validations in mmc_hw|sw_reset() Date: Fri, 12 Feb 2021 14:15:32 +0100 Message-Id: <20210212131532.236775-1-ulf.hansson@linaro.org> X-Mailer: git-send-email 2.25.1 In-Reply-To: References: MIME-Version: 1.0 The mmc_hw|sw_reset() APIs are designed to be called solely from upper layers, which means drivers that operates on top of the struct mmc_card, like the mmc block device driver and an SDIO functional driver. Additionally, as long as the struct mmc_host has a valid pointer to a struct mmc_card, the corresponding host->bus_ops pointer stays valid and assigned. For these reasons, let's drop the superfluous reference counting and the redundant validations in mmc_hw|sw_reset(). Signed-off-by: Ulf Hansson --- Note, ideally mmc_hw|sw_reset() shall be converted to take a struct mmc_card* as an in-parameter, rather than the current struct mmc_host*, but that is left to a future/separate change. --- drivers/mmc/core/block.c | 2 +- drivers/mmc/core/core.c | 21 +-------------------- 2 files changed, 2 insertions(+), 21 deletions(-) -- 2.25.1 Reviewed-by: Adrian Hunter diff --git a/drivers/mmc/core/block.c b/drivers/mmc/core/block.c index b877f62df366..b7d3f5a73388 100644 --- a/drivers/mmc/core/block.c +++ b/drivers/mmc/core/block.c @@ -947,7 +947,7 @@ static int mmc_blk_reset(struct mmc_blk_data *md, struct mmc_host *host, md->reset_done |= type; err = mmc_hw_reset(host); /* Ensure we switch back to the correct partition */ - if (err != -EOPNOTSUPP) { + if (err) { struct mmc_blk_data *main_md = dev_get_drvdata(&host->card->dev); int part_err; diff --git a/drivers/mmc/core/core.c b/drivers/mmc/core/core.c index 1136b859ddd8..2e41fa598bd6 100644 --- a/drivers/mmc/core/core.c +++ b/drivers/mmc/core/core.c @@ -2080,18 +2080,7 @@ int mmc_hw_reset(struct mmc_host *host) { int ret; - if (!host->card) - return -EINVAL; - - mmc_bus_get(host); - if (!host->bus_ops || host->bus_dead || !host->bus_ops->hw_reset) { - mmc_bus_put(host); - return -EOPNOTSUPP; - } - ret = host->bus_ops->hw_reset(host); - mmc_bus_put(host); - if (ret < 0) pr_warn("%s: tried to HW reset card, got error %d\n", mmc_hostname(host), ret); @@ -2104,18 +2093,10 @@ int mmc_sw_reset(struct mmc_host *host) { int ret; - if (!host->card) - return -EINVAL; - - mmc_bus_get(host); - if (!host->bus_ops || host->bus_dead || !host->bus_ops->sw_reset) { - mmc_bus_put(host); + if (!host->bus_ops->sw_reset) return -EOPNOTSUPP; - } ret = host->bus_ops->sw_reset(host); - mmc_bus_put(host); - if (ret) pr_warn("%s: tried to SW reset card, got error %d\n", mmc_hostname(host), ret);