[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-Id: <ac5cc7cdcd530af35c483cc9ea110013fb1a6049.1636103151.git.hns@goldelico.com>
Date: Fri, 5 Nov 2021 10:05:48 +0100
From: "H. Nikolaus Schaller" <hns@...delico.com>
To: Ulf Hansson <ulf.hansson@...aro.org>,
Jérôme Pouiller
<jerome.pouiller@...abs.com>, Avri Altman <avri.altman@....com>,
Shawn Lin <shawn.lin@...k-chips.com>,
Linus Walleij <linus.walleij@...aro.org>,
Tony Lindgren <tony@...mide.com>, Bean Huo <beanhuo@...ron.com>
Cc: notasas@...il.com, linux-mmc@...r.kernel.org,
linux-kernel@...r.kernel.org, letux-kernel@...nphoenux.org,
kernel@...a-handheld.com,
"H. Nikolaus Schaller" <hns@...delico.com>
Subject: [RFC v4 3/6] mmc: core: provide macro and table to match the device tree to apply quirks
This (initially empty) table allows to match quirks early based
on .compatible of the child node of some mmc/sdio interface.
A new macro SDIO_FIXUP_COMPATIBLE makes the definition readable.
Signed-off-by: H. Nikolaus Schaller <hns@...delico.com>
---
drivers/mmc/core/card.h | 15 +++++++++++++++
drivers/mmc/core/quirks.h | 4 ++++
2 files changed, 19 insertions(+)
diff --git a/drivers/mmc/core/card.h b/drivers/mmc/core/card.h
index a3204c19861a4..089ede71d3150 100644
--- a/drivers/mmc/core/card.h
+++ b/drivers/mmc/core/card.h
@@ -122,6 +122,21 @@ struct mmc_fixup {
_vendor, _device, \
_fixup, _data, EXT_CSD_REV_ANY) \
+#define SDIO_FIXUP_COMPATIBLE(_compatible_list, _fixup, _data) \
+ { \
+ .name = CID_NAME_ANY, \
+ .manfid = CID_MANFID_ANY, \
+ .oemid = CID_OEMID_ANY, \
+ .rev_start = 0, \
+ .rev_end = -1ull, \
+ .cis_vendor = SDIO_ANY_ID, \
+ .cis_device = SDIO_ANY_ID, \
+ .vendor_fixup = (_fixup), \
+ .data = (_data), \
+ .ext_csd_rev = EXT_CSD_REV_ANY, \
+ .of_compatible = _compatible_list, \
+ }
+
#define cid_rev(hwrev, fwrev, year, month) \
(((u64) hwrev) << 40 | \
((u64) fwrev) << 32 | \
diff --git a/drivers/mmc/core/quirks.h b/drivers/mmc/core/quirks.h
index ee591fd8aeca2..41c418527199c 100644
--- a/drivers/mmc/core/quirks.h
+++ b/drivers/mmc/core/quirks.h
@@ -146,6 +146,10 @@ static const struct mmc_fixup __maybe_unused sdio_fixup_methods[] = {
END_FIXUP
};
+static const struct mmc_fixup __maybe_unused sdio_card_init_methods[] = {
+ END_FIXUP
+};
+
static inline bool mmc_fixup_of_compatible_match(struct mmc_card *card,
const char *const *compat_list)
{
--
2.33.0
Powered by blists - more mailing lists