Commit c59de928 authored by Andrei Warkentin's avatar Andrei Warkentin Committed by Chris Ball

mmc: quirks: Add/remove quirks conditional support.

Conditional add/remove quirks for MMC and SD.
Signed-off-by: default avatarAndrei Warkentin <andreiw@motorola.com>
Signed-off-by: default avatarChris Ball <cjb@laptop.org>
parent 88095e7b
...@@ -273,16 +273,14 @@ struct mmc_fixup { ...@@ -273,16 +273,14 @@ struct mmc_fixup {
card->cid.month) 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) static inline void __maybe_unused add_quirk(struct mmc_card *card, int data)
{ {
card->quirks |= data; card->quirks |= data;
} }
/*
* This hook just removes a quirk unconditionally.
*/
static inline void __maybe_unused remove_quirk(struct mmc_card *card, int data) static inline void __maybe_unused remove_quirk(struct mmc_card *card, int data)
{ {
card->quirks &= ~data; card->quirks &= ~data;
...@@ -308,6 +306,40 @@ static inline void __maybe_unused remove_quirk(struct mmc_card *card, int 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_sd_card_set_uhs(c) ((c)->state |= MMC_STATE_ULTRAHIGHSPEED)
#define mmc_card_set_ext_capacity(c) ((c)->state |= MMC_CARD_SDXC) #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) static inline int mmc_card_lenient_fn0(const struct mmc_card *c)
{ {
return c->quirks & MMC_QUIRK_LENIENT_FN0; return c->quirks & MMC_QUIRK_LENIENT_FN0;
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment