aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--include/linux/mmc/card.h40
1 files changed, 36 insertions, 4 deletions
diff --git a/include/linux/mmc/card.h b/include/linux/mmc/card.h
index 4910dec47bb7..7190aa2096f7 100644
--- a/include/linux/mmc/card.h
+++ b/include/linux/mmc/card.h
@@ -273,16 +273,14 @@ struct mmc_fixup {
273 card->cid.month) 273 card->cid.month)
274 274
275/* 275/*
276 * This hook just adds a quirk unconditionally. 276 * Unconditionally quirk add/remove.
277 */ 277 */
278
278static inline void __maybe_unused add_quirk(struct mmc_card *card, int data) 279static inline void __maybe_unused add_quirk(struct mmc_card *card, int data)
279{ 280{
280 card->quirks |= data; 281 card->quirks |= data;
281} 282}
282 283
283/*
284 * This hook just removes a quirk unconditionally.
285 */
286static inline void __maybe_unused remove_quirk(struct mmc_card *card, int data) 284static inline void __maybe_unused remove_quirk(struct mmc_card *card, int data)
287{ 285{
288 card->quirks &= ~data; 286 card->quirks &= ~data;
@@ -308,6 +306,40 @@ static inline void __maybe_unused remove_quirk(struct mmc_card *card, int data)
308#define mmc_sd_card_set_uhs(c) ((c)->state |= MMC_STATE_ULTRAHIGHSPEED) 306#define mmc_sd_card_set_uhs(c) ((c)->state |= MMC_STATE_ULTRAHIGHSPEED)
309#define mmc_card_set_ext_capacity(c) ((c)->state |= MMC_CARD_SDXC) 307#define mmc_card_set_ext_capacity(c) ((c)->state |= MMC_CARD_SDXC)
310 308
309/*
310 * Quirk add/remove for MMC products.
311 */
312
313static inline void __maybe_unused add_quirk_mmc(struct mmc_card *card, int data)
314{
315 if (mmc_card_mmc(card))
316 card->quirks |= data;
317}
318
319static inline void __maybe_unused remove_quirk_mmc(struct mmc_card *card,
320 int data)
321{
322 if (mmc_card_mmc(card))
323 card->quirks &= ~data;
324}
325
326/*
327 * Quirk add/remove for SD products.
328 */
329
330static inline void __maybe_unused add_quirk_sd(struct mmc_card *card, int data)
331{
332 if (mmc_card_sd(card))
333 card->quirks |= data;
334}
335
336static inline void __maybe_unused remove_quirk_sd(struct mmc_card *card,
337 int data)
338{
339 if (mmc_card_sd(card))
340 card->quirks &= ~data;
341}
342
311static inline int mmc_card_lenient_fn0(const struct mmc_card *c) 343static inline int mmc_card_lenient_fn0(const struct mmc_card *c)
312{ 344{
313 return c->quirks & MMC_QUIRK_LENIENT_FN0; 345 return c->quirks & MMC_QUIRK_LENIENT_FN0;