From patchwork Tue Feb 4 08:54:40 2020 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Ulf Hansson X-Patchwork-Id: 183058 Delivered-To: patches@linaro.org Received: by 2002:a92:1f12:0:0:0:0:0 with SMTP id i18csp5064179ile; Tue, 4 Feb 2020 00:55:11 -0800 (PST) X-Received: by 2002:a2e:b68c:: with SMTP id l12mr16267512ljo.36.1580806511579; Tue, 04 Feb 2020 00:55:11 -0800 (PST) ARC-Seal: i=1; a=rsa-sha256; t=1580806511; cv=none; d=google.com; s=arc-20160816; b=gufFaMBaeYbYpKOlKyFbuzsJK4+DNJ6liO+6RCrt+ypH+tZvDVJkuz82qNhMO1jC3M C3eCZEvxGDbjEClPvcKP92x5dLKMch8S3Jrzn3mPcdiX4Wdw3SYvso0M09R+h+lpsTIM gyo3om71YKshZKS6vshFfWCfVyt5DVw8ryJOKYXJR4oxYXvAZ8jrSwiGdbk9bupHHuxB LMaE7Ox+47UQqtae9hCNqJEG4yzTGSCAeZYcaiWb1YAfQLCPDbUCuWaG3CoPlyBA5vhZ mioXCdgeh0IWzxYuuIUk7/Wm24x0RL+32vUo9fXHPBQscTAHWpBr3U4RIlXxhYQj9xfF ACfA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=references:in-reply-to:message-id:date:subject:cc:to:from :dkim-signature; bh=0GJq9tA3Io62JheI7iBf2w6LOIrqQ/a6e8cUoQjZMmA=; b=RS/6CFImYIDrUNDr0ui99rIiNCd3aiZ4SebdA7dDJA8LMCZnkjHE16FfO4VW1oJTly HtxxaxjS5sThqWviYq7mIJE0liUxSSAREZJ3BRFYtw0T4w62AMuwz7gPKEGLjEvlIBS+ YLCQwXYjn47GiZU2fC98yWehtqeBP53o8GwYyg2tF38CokGnsKu8mPxSeQj2Cj0/UzJy Y8B2JaEryAIWNVKRCnjrz24+2iZ+vMe4iAjQvtDovYEH7ilTB8n8L1L27jQuDb5+EMDi 4lsc1iKstGv0wNMdVd2Sbof14/teeG3yEcC2pWNZEuUzUhwYR5dCEdltIrWOxVMe5tAW z3kg== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@linaro.org header.s=google header.b=ViWufv1X; spf=pass (google.com: domain of ulf.hansson@linaro.org designates 209.85.220.65 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-f65.google.com (mail-sor-f65.google.com. [209.85.220.65]) by mx.google.com with SMTPS id h8sor12391450ljg.36.2020.02.04.00.55.11 for (Google Transport Security); Tue, 04 Feb 2020 00:55:11 -0800 (PST) Received-SPF: pass (google.com: domain of ulf.hansson@linaro.org designates 209.85.220.65 as permitted sender) client-ip=209.85.220.65; Authentication-Results: mx.google.com; dkim=pass header.i=@linaro.org header.s=google header.b=ViWufv1X; spf=pass (google.com: domain of ulf.hansson@linaro.org designates 209.85.220.65 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; bh=0GJq9tA3Io62JheI7iBf2w6LOIrqQ/a6e8cUoQjZMmA=; b=ViWufv1Xr+96Cd+lNIA+1z8HqQv1biss1J2rnTS0V+hDssQrciUWVmRT9y+QhIWMj0 IK3TUARrTJxGz3wD+hzZDHnamKkWUiD0ecRfCJX9bjqMlZnyHhC1lASK4VG9+5352YsH S799L2WwarvSuDMYYPgZFKbEQlT9gkJQ8WZDijpa44DQAT8fh3PXbEWqypTK9vlzxf9c T0s/mDqtT7pF5AWxKWWFskWyEb3Q6AtRrp3gSr2VTjSNmV/VjrLsxk/56vl+oQIOD8xX 0FGkFcMiCsFUtuCZu8KsS0VJKSghpJ0IVbKGidDi3p3hTahwZ/+C/RjQeBg/t6w7efIm J/6w== 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; bh=0GJq9tA3Io62JheI7iBf2w6LOIrqQ/a6e8cUoQjZMmA=; b=NRcQfDOIYnYFqOkqbP+SEEsdn+5O3kCP4YqoEHcuB/mN1g9tPCtyHfhccSXFIONi+/ DBTJdI6595AqShRZXTNk1BpZGvuhqTY1xSPHvif17xJyi+5MptiF6sYnmH+jZJ6fJyay cMOCmYxtQNB6cOTFjyfmBodBsTlNBEjgmKdVerC/qq4nA43zwEDTfIXJnz1vazQ7nsc2 WcYPpXAXDAPSGmpSJnUjnD1DUGlDZ1JB/YGoUtRxNWWcqq4it8M6NQp7IYutofa1Srap skbDFdTJe/+zaXz0YpmNgaRORhJv/kA3XnAdDc2xOmMN5I3d5OCt9GLppT9+Q9tPGRp9 PrVQ== X-Gm-Message-State: APjAAAXMEx6/ZsXLgsUOd/UiARVuojEhRslO7oZq+UKlZgtXwINrBNnW lFqnpwyqkCH3XOrJAdNYQRHCxfS6 X-Google-Smtp-Source: APXvYqygbLawlcN0vVzBEz9H+kbNUCy252g+HSsYbyPjhrnKq/k+OTmLVe4pOiopdtj2tpFKQPRaTA== X-Received: by 2002:a2e:b80e:: with SMTP id u14mr17053415ljo.17.1580806511074; Tue, 04 Feb 2020 00:55:11 -0800 (PST) Return-Path: Received: from localhost.localdomain (h-158-174-22-210.NA.cust.bahnhof.se. [158.174.22.210]) by smtp.gmail.com with ESMTPSA id n2sm11156283ljj.1.2020.02.04.00.55.09 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Tue, 04 Feb 2020 00:55:10 -0800 (PST) From: Ulf Hansson To: linux-mmc@vger.kernel.org, Ulf Hansson Cc: Adrian Hunter , Wolfram Sang , Ludovic Barre , Baolin Wang , Linus Walleij , Chaotian Jing , Shawn Lin , mirq-linux@rere.qmqm.pl Subject: [PATCH 03/12] mmc: core: Extend mmc_switch_status() to rid of __mmc_switch_status() Date: Tue, 4 Feb 2020 09:54:40 +0100 Message-Id: <20200204085449.32585-4-ulf.hansson@linaro.org> X-Mailer: git-send-email 2.17.1 In-Reply-To: <20200204085449.32585-1-ulf.hansson@linaro.org> References: <20200204085449.32585-1-ulf.hansson@linaro.org> To simplify code, let's extend mmc_switch_status() to cope with needs addressed in __mmc_switch_status(). Then move all users to the updated mmc_switch_status() API and drop __mmc_switch_status() altogether. Signed-off-by: Ulf Hansson --- drivers/mmc/core/mmc.c | 16 ++++++++-------- drivers/mmc/core/mmc_ops.c | 9 ++------- drivers/mmc/core/mmc_ops.h | 3 +-- 3 files changed, 11 insertions(+), 17 deletions(-) -- 2.17.1 diff --git a/drivers/mmc/core/mmc.c b/drivers/mmc/core/mmc.c index f6912ded652d..8a1f64065a47 100644 --- a/drivers/mmc/core/mmc.c +++ b/drivers/mmc/core/mmc.c @@ -1173,7 +1173,7 @@ static int mmc_select_hs400(struct mmc_card *card) max_dtr = card->ext_csd.hs_max_dtr; mmc_set_clock(host, max_dtr); - err = mmc_switch_status(card); + err = mmc_switch_status(card, true); if (err) goto out_err; @@ -1211,7 +1211,7 @@ static int mmc_select_hs400(struct mmc_card *card) if (host->ops->hs400_complete) host->ops->hs400_complete(host); - err = mmc_switch_status(card); + err = mmc_switch_status(card, true); if (err) goto out_err; @@ -1249,7 +1249,7 @@ int mmc_hs400_to_hs200(struct mmc_card *card) mmc_set_timing(host, MMC_TIMING_MMC_DDR52); - err = mmc_switch_status(card); + err = mmc_switch_status(card, true); if (err) goto out_err; @@ -1265,7 +1265,7 @@ int mmc_hs400_to_hs200(struct mmc_card *card) if (host->ops->hs400_downgrade) host->ops->hs400_downgrade(host); - err = mmc_switch_status(card); + err = mmc_switch_status(card, true); if (err) goto out_err; @@ -1285,7 +1285,7 @@ int mmc_hs400_to_hs200(struct mmc_card *card) * failed. If there really is a problem, we would expect tuning will * fail and the result ends up the same. */ - err = __mmc_switch_status(card, false); + err = mmc_switch_status(card, false); if (err) goto out_err; @@ -1366,7 +1366,7 @@ static int mmc_select_hs400es(struct mmc_card *card) } mmc_set_timing(host, MMC_TIMING_MMC_HS); - err = mmc_switch_status(card); + err = mmc_switch_status(card, true); if (err) goto out_err; @@ -1407,7 +1407,7 @@ static int mmc_select_hs400es(struct mmc_card *card) if (host->ops->hs400_enhanced_strobe) host->ops->hs400_enhanced_strobe(host, &host->ios); - err = mmc_switch_status(card); + err = mmc_switch_status(card, true); if (err) goto out_err; @@ -1468,7 +1468,7 @@ static int mmc_select_hs200(struct mmc_card *card) * switch failed. If there really is a problem, we would expect * tuning will fail and the result ends up the same. */ - err = __mmc_switch_status(card, false); + err = mmc_switch_status(card, false); /* * mmc_select_timing() assumes timing has not changed if diff --git a/drivers/mmc/core/mmc_ops.c b/drivers/mmc/core/mmc_ops.c index 35df97fe9cdc..d2371612d536 100644 --- a/drivers/mmc/core/mmc_ops.c +++ b/drivers/mmc/core/mmc_ops.c @@ -430,7 +430,7 @@ static int mmc_switch_status_error(struct mmc_host *host, u32 status) } /* Caller must hold re-tuning */ -int __mmc_switch_status(struct mmc_card *card, bool crc_err_fatal) +int mmc_switch_status(struct mmc_card *card, bool crc_err_fatal) { u32 status; int err; @@ -444,11 +444,6 @@ int __mmc_switch_status(struct mmc_card *card, bool crc_err_fatal) return mmc_switch_status_error(card->host, status); } -int mmc_switch_status(struct mmc_card *card) -{ - return __mmc_switch_status(card, true); -} - static int mmc_poll_for_busy(struct mmc_card *card, unsigned int timeout_ms, bool send_status, bool retry_crc_err) { @@ -594,7 +589,7 @@ int __mmc_switch(struct mmc_card *card, u8 set, u8 index, u8 value, mmc_set_timing(host, timing); if (send_status) { - err = mmc_switch_status(card); + err = mmc_switch_status(card, true); if (err && timing) mmc_set_timing(host, old_timing); } diff --git a/drivers/mmc/core/mmc_ops.h b/drivers/mmc/core/mmc_ops.h index 8f2f9475716d..09dee8a466a0 100644 --- a/drivers/mmc/core/mmc_ops.h +++ b/drivers/mmc/core/mmc_ops.h @@ -29,8 +29,7 @@ int mmc_bus_test(struct mmc_card *card, u8 bus_width); int mmc_interrupt_hpi(struct mmc_card *card); int mmc_can_ext_csd(struct mmc_card *card); int mmc_get_ext_csd(struct mmc_card *card, u8 **new_ext_csd); -int mmc_switch_status(struct mmc_card *card); -int __mmc_switch_status(struct mmc_card *card, bool crc_err_fatal); +int mmc_switch_status(struct mmc_card *card, bool crc_err_fatal); int __mmc_switch(struct mmc_card *card, u8 set, u8 index, u8 value, unsigned int timeout_ms, unsigned char timing, bool use_busy_signal, bool send_status, bool retry_crc_err);