From: Adrian Hunter <adrian.hunter@intel.com>
To: Ulf Hansson <ulf.hansson@linaro.org>, Chris Ball <chris@printf.net>
Cc: linux-mmc <linux-mmc@vger.kernel.org>,
Philip Rakity <prakity@nvidia.com>,
Adrian Hunter <adrian.hunter@intel.com>
Subject: [PATCH 03/12] mmc: core: Simplify card drive strength mask
Date: Thu, 5 Feb 2015 15:13:40 +0200 [thread overview]
Message-ID: <1423142029-22521-4-git-send-email-adrian.hunter@intel.com> (raw)
In-Reply-To: <1423142029-22521-1-git-send-email-adrian.hunter@intel.com>
Card drive strength selection uses a callback to
which a mask of supported drive strengths is passed.
Currently, the bits are checked against the values
in the SD specifications. That is not necessary
because the callback will anyway match the mask
against a valid value. Simplify by taking the mask
as is but still ensuring that the default mandatory
value (type B) is always supported.
Signed-off-by: Adrian Hunter <adrian.hunter@intel.com>
---
drivers/mmc/core/sd.c | 12 ++----------
drivers/mmc/core/sdio.c | 12 ++----------
2 files changed, 4 insertions(+), 20 deletions(-)
diff --git a/drivers/mmc/core/sd.c b/drivers/mmc/core/sd.c
index cbee29a..fab83e8 100644
--- a/drivers/mmc/core/sd.c
+++ b/drivers/mmc/core/sd.c
@@ -387,8 +387,7 @@ out:
static int sd_select_driver_type(struct mmc_card *card, u8 *status)
{
int host_drv_type = SD_DRIVER_TYPE_B;
- int card_drv_type = SD_DRIVER_TYPE_B;
- int drive_strength, drv_type;
+ int card_drv_type, drive_strength, drv_type;
int err;
if (!card->host->ops->select_drive_strength)
@@ -403,14 +402,7 @@ static int sd_select_driver_type(struct mmc_card *card, u8 *status)
if (card->host->caps & MMC_CAP_DRIVER_TYPE_D)
host_drv_type |= SD_DRIVER_TYPE_D;
- if (card->sw_caps.sd3_drv_type & SD_DRIVER_TYPE_A)
- card_drv_type |= SD_DRIVER_TYPE_A;
-
- if (card->sw_caps.sd3_drv_type & SD_DRIVER_TYPE_C)
- card_drv_type |= SD_DRIVER_TYPE_C;
-
- if (card->sw_caps.sd3_drv_type & SD_DRIVER_TYPE_D)
- card_drv_type |= SD_DRIVER_TYPE_D;
+ card_drv_type = card->sw_caps.sd3_drv_type | SD_DRIVER_TYPE_B;
/*
* The drive strength that the hardware can support
diff --git a/drivers/mmc/core/sdio.c b/drivers/mmc/core/sdio.c
index d7309ab..76e4dde 100644
--- a/drivers/mmc/core/sdio.c
+++ b/drivers/mmc/core/sdio.c
@@ -400,8 +400,7 @@ static unsigned char host_drive_to_sdio_drive(int host_strength)
static void sdio_select_driver_type(struct mmc_card *card)
{
int host_drv_type = SD_DRIVER_TYPE_B;
- int card_drv_type = SD_DRIVER_TYPE_B;
- int drive_strength, drv_type;
+ int card_drv_type, drive_strength, drv_type;
unsigned char card_strength;
int err;
@@ -417,14 +416,7 @@ static void sdio_select_driver_type(struct mmc_card *card)
if (card->host->caps & MMC_CAP_DRIVER_TYPE_D)
host_drv_type |= SD_DRIVER_TYPE_D;
- if (card->sw_caps.sd3_drv_type & SD_DRIVER_TYPE_A)
- card_drv_type |= SD_DRIVER_TYPE_A;
-
- if (card->sw_caps.sd3_drv_type & SD_DRIVER_TYPE_C)
- card_drv_type |= SD_DRIVER_TYPE_C;
-
- if (card->sw_caps.sd3_drv_type & SD_DRIVER_TYPE_D)
- card_drv_type |= SD_DRIVER_TYPE_D;
+ card_drv_type = card->sw_caps.sd3_drv_type | SD_DRIVER_TYPE_B;
/*
* The drive strength that the hardware can support
--
1.9.1
next prev parent reply other threads:[~2015-02-05 13:18 UTC|newest]
Thread overview: 13+ messages / expand[flat|nested] mbox.gz Atom feed top
2015-02-05 13:13 [PATCH 00/12] mmc: Add support for drive strength for eMMCs Adrian Hunter
2015-02-05 13:13 ` [PATCH 01/12] mmc: core: Reset driver type to default Adrian Hunter
2015-02-05 13:13 ` [PATCH 02/12] mmc: core: Allow card drive strength to be different to host Adrian Hunter
2015-02-05 13:13 ` Adrian Hunter [this message]
2015-02-05 13:13 ` [PATCH 04/12] mmc: core: Add 'card' to drive strength selection callback Adrian Hunter
2015-02-05 13:13 ` [PATCH 05/12] mmc: core: Factor out common code in drive strength selection Adrian Hunter
2015-02-05 13:13 ` [PATCH 06/12] mmc: core: Record card drive strength Adrian Hunter
2015-02-05 13:13 ` [PATCH 07/12] mmc: mmc: Read card's valid driver strength mask Adrian Hunter
2015-02-05 13:13 ` [PATCH 08/12] mmc: mmc: Add driver strength selection Adrian Hunter
2015-02-05 13:13 ` [PATCH 09/12] mmc: core: Add function to read driver-strength device property Adrian Hunter
2015-02-05 13:13 ` [PATCH 10/12] mmc: sdhci: Add a callback to select drive strength Adrian Hunter
2015-02-05 13:13 ` [PATCH 11/12] mmc: sdhci-pci: Add support for drive strength selection for SPT Adrian Hunter
2015-02-05 13:13 ` [PATCH 12/12] mmc: sdhci-pci: Enable HS400 for some Intel host controllers Adrian Hunter
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=1423142029-22521-4-git-send-email-adrian.hunter@intel.com \
--to=adrian.hunter@intel.com \
--cc=chris@printf.net \
--cc=linux-mmc@vger.kernel.org \
--cc=prakity@nvidia.com \
--cc=ulf.hansson@linaro.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox