diff options
author | Álvaro Fernández Rojas <noltari@gmail.com> | 2016-09-10 14:54:26 +0200 |
---|---|---|
committer | Álvaro Fernández Rojas <noltari@gmail.com> | 2016-09-10 14:54:26 +0200 |
commit | 2b1c6b21b5e6c82ebb55d7fb7df90e60e88cbb14 (patch) | |
tree | ba6d48b4fec219d07110f5d55afc19bc309d2bdb /target/linux/brcm2708/patches-4.4/0353-mmc-Add-card_quirks-module-parameter-log-quirks.patch | |
parent | ac08cb06f6734ebf73ed855cbc836c566f80eaca (diff) | |
download | upstream-2b1c6b21b5e6c82ebb55d7fb7df90e60e88cbb14.tar.gz upstream-2b1c6b21b5e6c82ebb55d7fb7df90e60e88cbb14.tar.bz2 upstream-2b1c6b21b5e6c82ebb55d7fb7df90e60e88cbb14.zip |
brcm2708: update linux 4.4 patches to latest version
As usual these patches were extracted and rebased from the raspberry pi repo:
https://github.com/raspberrypi/linux/tree/rpi-4.4.y
Also adds support for Raspberry Pi Compute Module 3 (untested).
Signed-off-by: Álvaro Fernández Rojas <noltari@gmail.com>
Diffstat (limited to 'target/linux/brcm2708/patches-4.4/0353-mmc-Add-card_quirks-module-parameter-log-quirks.patch')
-rw-r--r-- | target/linux/brcm2708/patches-4.4/0353-mmc-Add-card_quirks-module-parameter-log-quirks.patch | 76 |
1 files changed, 0 insertions, 76 deletions
diff --git a/target/linux/brcm2708/patches-4.4/0353-mmc-Add-card_quirks-module-parameter-log-quirks.patch b/target/linux/brcm2708/patches-4.4/0353-mmc-Add-card_quirks-module-parameter-log-quirks.patch deleted file mode 100644 index 4a9a51a328..0000000000 --- a/target/linux/brcm2708/patches-4.4/0353-mmc-Add-card_quirks-module-parameter-log-quirks.patch +++ /dev/null @@ -1,76 +0,0 @@ -From 2c0da5702844c4ec246243634778bd3448100570 Mon Sep 17 00:00:00 2001 -From: Phil Elwell <phil@raspberrypi.org> -Date: Fri, 20 May 2016 10:11:43 +0100 -Subject: [PATCH 353/423] 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); -@@ -2570,6 +2577,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. -@@ -2577,7 +2585,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)) -@@ -2585,9 +2602,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; |