|
@@ -273,16 +273,14 @@ struct mmc_fixup {
|
|
|
card->cid.month)
|
|
|
|
|
|
/*
|
|
|
- * This hook just adds a quirk unconditionally.
|
|
|
+ * Unconditionally quirk add/remove.
|
|
|
*/
|
|
|
+
|
|
|
static inline void __maybe_unused add_quirk(struct mmc_card *card, int data)
|
|
|
{
|
|
|
card->quirks |= data;
|
|
|
}
|
|
|
|
|
|
-/*
|
|
|
- * This hook just removes a quirk unconditionally.
|
|
|
- */
|
|
|
static inline void __maybe_unused remove_quirk(struct mmc_card *card, int data)
|
|
|
{
|
|
|
card->quirks &= ~data;
|
|
@@ -308,6 +306,40 @@ static inline void __maybe_unused remove_quirk(struct mmc_card *card, int data)
|
|
|
#define mmc_sd_card_set_uhs(c) ((c)->state |= MMC_STATE_ULTRAHIGHSPEED)
|
|
|
#define mmc_card_set_ext_capacity(c) ((c)->state |= MMC_CARD_SDXC)
|
|
|
|
|
|
+/*
|
|
|
+ * Quirk add/remove for MMC products.
|
|
|
+ */
|
|
|
+
|
|
|
+static inline void __maybe_unused add_quirk_mmc(struct mmc_card *card, int data)
|
|
|
+{
|
|
|
+ if (mmc_card_mmc(card))
|
|
|
+ card->quirks |= data;
|
|
|
+}
|
|
|
+
|
|
|
+static inline void __maybe_unused remove_quirk_mmc(struct mmc_card *card,
|
|
|
+ int data)
|
|
|
+{
|
|
|
+ if (mmc_card_mmc(card))
|
|
|
+ card->quirks &= ~data;
|
|
|
+}
|
|
|
+
|
|
|
+/*
|
|
|
+ * Quirk add/remove for SD products.
|
|
|
+ */
|
|
|
+
|
|
|
+static inline void __maybe_unused add_quirk_sd(struct mmc_card *card, int data)
|
|
|
+{
|
|
|
+ if (mmc_card_sd(card))
|
|
|
+ card->quirks |= data;
|
|
|
+}
|
|
|
+
|
|
|
+static inline void __maybe_unused remove_quirk_sd(struct mmc_card *card,
|
|
|
+ int data)
|
|
|
+{
|
|
|
+ if (mmc_card_sd(card))
|
|
|
+ card->quirks &= ~data;
|
|
|
+}
|
|
|
+
|
|
|
static inline int mmc_card_lenient_fn0(const struct mmc_card *c)
|
|
|
{
|
|
|
return c->quirks & MMC_QUIRK_LENIENT_FN0;
|