aboutsummaryrefslogtreecommitdiffstats
path: root/target/linux/brcm2708/patches-4.4/0351-mmc-Add-card_quirks-module-parameter-log-quirks.patch
diff options
context:
space:
mode:
Diffstat (limited to 'target/linux/brcm2708/patches-4.4/0351-mmc-Add-card_quirks-module-parameter-log-quirks.patch')
-rw-r--r--target/linux/brcm2708/patches-4.4/0351-mmc-Add-card_quirks-module-parameter-log-quirks.patch76
1 files changed, 0 insertions, 76 deletions
diff --git a/target/linux/brcm2708/patches-4.4/0351-mmc-Add-card_quirks-module-parameter-log-quirks.patch b/target/linux/brcm2708/patches-4.4/0351-mmc-Add-card_quirks-module-parameter-log-quirks.patch
deleted file mode 100644
index 2604eb51bc..0000000000
--- a/target/linux/brcm2708/patches-4.4/0351-mmc-Add-card_quirks-module-parameter-log-quirks.patch
+++ /dev/null
@@ -1,76 +0,0 @@
-From 1e3041d55d7184e94174f0a5eeaa2c23ca9d940a Mon Sep 17 00:00:00 2001
-From: Phil Elwell <phil@raspberrypi.org>
-Date: Fri, 20 May 2016 10:11:43 +0100
-Subject: [PATCH] mmc: Add card_quirks module parameter, log quirks
-
-Use mmc_block.card_quirks to override the quirks for all SD or MMC
-cards. The value is a bitfield using the bit positions defined in
-include/linux/mmc/card.h. If the module parameter is placed in the
-kernel command line (or bootargs) stored on the card then, assuming the
-device only has one SD card interface, the override effectively becomes
-card-specific.
-
-Signed-off-by: Phil Elwell <phil@raspberrypi.org>
----
- drivers/mmc/card/block.c | 28 +++++++++++++++++++++++++---
- 1 file changed, 25 insertions(+), 3 deletions(-)
-
---- a/drivers/mmc/card/block.c
-+++ b/drivers/mmc/card/block.c
-@@ -137,6 +137,13 @@ enum {
- module_param(perdev_minors, int, 0444);
- MODULE_PARM_DESC(perdev_minors, "Minors numbers to allocate per device");
-
-+/*
-+ * Allow quirks to be overridden for the current card
-+ */
-+static char *card_quirks;
-+module_param(card_quirks, charp, 0644);
-+MODULE_PARM_DESC(card_quirks, "Force the use of the indicated quirks (a bitfield)");
-+
- static inline int mmc_blk_part_switch(struct mmc_card *card,
- struct mmc_blk_data *md);
- static int get_card_status(struct mmc_card *card, u32 *status, int retries);
-@@ -2571,6 +2578,7 @@ static int mmc_blk_probe(struct mmc_card
- {
- struct mmc_blk_data *md, *part_md;
- char cap_str[10];
-+ char quirk_str[24];
-
- /*
- * Check that the card supports the command class(es) we need.
-@@ -2578,7 +2586,16 @@ static int mmc_blk_probe(struct mmc_card
- if (!(card->csd.cmdclass & CCC_BLOCK_READ))
- return -ENODEV;
-
-- mmc_fixup_device(card, blk_fixups);
-+ if (card_quirks) {
-+ unsigned long quirks;
-+ if (kstrtoul(card_quirks, 0, &quirks) == 0)
-+ card->quirks = (unsigned int)quirks;
-+ else
-+ pr_err("mmc_block: Invalid card_quirks parameter '%s'\n",
-+ card_quirks);
-+ }
-+ else
-+ mmc_fixup_device(card, blk_fixups);
-
- md = mmc_blk_alloc(card);
- if (IS_ERR(md))
-@@ -2586,9 +2603,14 @@ static int mmc_blk_probe(struct mmc_card
-
- string_get_size((u64)get_capacity(md->disk), 512, STRING_UNITS_2,
- cap_str, sizeof(cap_str));
-- pr_info("%s: %s %s %s %s\n",
-+ if (card->quirks)
-+ snprintf(quirk_str, sizeof(quirk_str),
-+ " (quirks 0x%08x)", card->quirks);
-+ else
-+ quirk_str[0] = '\0';
-+ pr_info("%s: %s %s %s%s%s\n",
- md->disk->disk_name, mmc_card_id(card), mmc_card_name(card),
-- cap_str, md->read_only ? "(ro)" : "");
-+ cap_str, md->read_only ? " (ro)" : "", quirk_str);
-
- if (mmc_blk_alloc_parts(card, md))
- goto out;