| .. | .. |
|---|
| 14 | 14 | |
|---|
| 15 | 15 | #include "card.h" |
|---|
| 16 | 16 | |
|---|
| 17 | | -static const struct mmc_fixup mmc_blk_fixups[] = { |
|---|
| 17 | +static const struct mmc_fixup __maybe_unused mmc_blk_fixups[] = { |
|---|
| 18 | 18 | #define INAND_CMD38_ARG_EXT_CSD 113 |
|---|
| 19 | 19 | #define INAND_CMD38_ARG_ERASE 0x00 |
|---|
| 20 | 20 | #define INAND_CMD38_ARG_TRIM 0x01 |
|---|
| .. | .. |
|---|
| 59 | 59 | MMC_QUIRK_BLK_NO_CMD23), |
|---|
| 60 | 60 | MMC_FIXUP("APUSD", CID_MANFID_APACER, 0x5048, add_quirk_sd, |
|---|
| 61 | 61 | MMC_QUIRK_BLK_NO_CMD23), |
|---|
| 62 | + MMC_FIXUP(CID_NAME_ANY, CID_MANFID_DH, CID_OEMID_ANY, add_quirk_sd, |
|---|
| 63 | + MMC_QUIRK_BLK_NO_CMD23), |
|---|
| 62 | 64 | |
|---|
| 63 | 65 | /* |
|---|
| 64 | 66 | * Some MMC cards need longer data read timeout than indicated in CSD. |
|---|
| .. | .. |
|---|
| 99 | 101 | MMC_FIXUP("V10016", CID_MANFID_KINGSTON, CID_OEMID_ANY, add_quirk_mmc, |
|---|
| 100 | 102 | MMC_QUIRK_TRIM_BROKEN), |
|---|
| 101 | 103 | |
|---|
| 104 | + /* |
|---|
| 105 | + * Kingston EMMC04G-M627 advertises TRIM but it does not seems to |
|---|
| 106 | + * support being used to offload WRITE_ZEROES. |
|---|
| 107 | + */ |
|---|
| 108 | + MMC_FIXUP("M62704", CID_MANFID_KINGSTON, 0x0100, add_quirk_mmc, |
|---|
| 109 | + MMC_QUIRK_TRIM_BROKEN), |
|---|
| 110 | + |
|---|
| 111 | + /* |
|---|
| 112 | + * Micron MTFC4GACAJCN-1M advertises TRIM but it does not seems to |
|---|
| 113 | + * support being used to offload WRITE_ZEROES. |
|---|
| 114 | + */ |
|---|
| 115 | + MMC_FIXUP("Q2J54A", CID_MANFID_MICRON, 0x014e, add_quirk_mmc, |
|---|
| 116 | + MMC_QUIRK_TRIM_BROKEN), |
|---|
| 117 | + |
|---|
| 118 | + /* |
|---|
| 119 | + * Some SD cards reports discard support while they don't |
|---|
| 120 | + */ |
|---|
| 121 | + MMC_FIXUP(CID_NAME_ANY, CID_MANFID_SANDISK_SD, 0x5344, add_quirk_sd, |
|---|
| 122 | + MMC_QUIRK_BROKEN_SD_DISCARD), |
|---|
| 123 | + |
|---|
| 102 | 124 | END_FIXUP |
|---|
| 103 | 125 | }; |
|---|
| 104 | 126 | |
|---|
| 105 | | -static const struct mmc_fixup mmc_ext_csd_fixups[] = { |
|---|
| 127 | +static const struct mmc_fixup __maybe_unused mmc_ext_csd_fixups[] = { |
|---|
| 106 | 128 | /* |
|---|
| 107 | 129 | * Certain Hynix eMMC 4.41 cards might get broken when HPI feature |
|---|
| 108 | 130 | * is used so disable the HPI feature for such buggy cards. |
|---|
| .. | .. |
|---|
| 120 | 142 | }; |
|---|
| 121 | 143 | |
|---|
| 122 | 144 | |
|---|
| 123 | | -static const struct mmc_fixup sdio_fixup_methods[] = { |
|---|
| 145 | +static const struct mmc_fixup __maybe_unused sdio_fixup_methods[] = { |
|---|
| 124 | 146 | SDIO_FIXUP(SDIO_VENDOR_ID_TI_WL1251, SDIO_DEVICE_ID_TI_WL1251, |
|---|
| 125 | 147 | add_quirk, MMC_QUIRK_NONSTD_FUNC_IF), |
|---|
| 126 | 148 | |
|---|
| .. | .. |
|---|
| 139 | 161 | SDIO_FIXUP(SDIO_VENDOR_ID_MARVELL, SDIO_DEVICE_ID_MARVELL_8797_F0, |
|---|
| 140 | 162 | add_quirk, MMC_QUIRK_BROKEN_IRQ_POLLING), |
|---|
| 141 | 163 | |
|---|
| 142 | | - SDIO_FIXUP(SDIO_VENDOR_ID_MARVELL, SDIO_DEVICE_ID_MARVELL_8887WLAN, |
|---|
| 164 | + SDIO_FIXUP(SDIO_VENDOR_ID_MARVELL, SDIO_DEVICE_ID_MARVELL_8887_F0, |
|---|
| 143 | 165 | add_limit_rate_quirk, 150000000), |
|---|
| 144 | 166 | |
|---|
| 145 | 167 | END_FIXUP |
|---|
| .. | .. |
|---|
| 166 | 188 | (f->ext_csd_rev == EXT_CSD_REV_ANY || |
|---|
| 167 | 189 | f->ext_csd_rev == card->ext_csd.rev) && |
|---|
| 168 | 190 | rev >= f->rev_start && rev <= f->rev_end) { |
|---|
| 169 | | - dev_dbg(&card->dev, "calling %pf\n", f->vendor_fixup); |
|---|
| 191 | + dev_dbg(&card->dev, "calling %ps\n", f->vendor_fixup); |
|---|
| 170 | 192 | f->vendor_fixup(card, f->data); |
|---|
| 171 | 193 | } |
|---|
| 172 | 194 | } |
|---|