mmc: quirks: Add/remove quirks conditional support.
Conditional add/remove quirks for MMC and SD. Signed-off-by: Andrei Warkentin <andreiw@motorola.com> Signed-off-by: Chris Ball <cjb@laptop.org>
This commit is contained in:
parent
88095e7b47
commit
c59de92879
|
@ -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)
|
||||||
#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;
|
||||||
|
|
Loading…
Reference in New Issue