On 07/27/2015 10:04 AM, Shawn Lin wrote:Thanks, Michal. You'r right, and forgive me, a green hand, for my inappropriate patch.
This patch adds the interface to get quirks from dts, andThis is not documented anywhere that's why you should send binding to DT
there is no need to assign different quirks by condition statement
of arasan IP version.
Signed-off-by: Shawn Lin <shawn.lin@xxxxxxxxxxxxxx>
---
drivers/mmc/host/sdhci-of-arasan.c | 7 +++++++
1 file changed, 7 insertions(+)
diff --git a/drivers/mmc/host/sdhci-of-arasan.c b/drivers/mmc/host/sdhci-of-arasan.c
index ef5a7d2..db07788 100644
--- a/drivers/mmc/host/sdhci-of-arasan.c
+++ b/drivers/mmc/host/sdhci-of-arasan.c
@@ -132,6 +132,7 @@ static SIMPLE_DEV_PM_OPS(sdhci_arasan_dev_pm_ops, sdhci_arasan_suspend,
static int sdhci_arasan_probe(struct platform_device *pdev)
{
int ret;
+ u32 quirktab[2];
struct clk *clk_xin;
struct sdhci_host *host;
struct sdhci_pltfm_host *pltfm_host;
@@ -172,6 +173,12 @@ static int sdhci_arasan_probe(struct platform_device *pdev)
goto clk_disable_all;
}
+ if (of_property_read_u32_array(pdev->dev.of_node,
+ "arasan,quirks", &quirktab[0], 2)) {
mailing list and get ACK for it.
Thanks.+ host->quirks |= quirktab[0];Also is there any binding which is done in this way?
+ host->quirks2 |= quirktab[1];
+ }
+
if (of_device_is_compatible(pdev->dev.of_node, "arasan,sdhci-4.9a")) {
host->quirks |= SDHCI_QUIRK_NO_HISPD_BIT;
host->quirks2 |= SDHCI_QUIRK2_HOST_NO_CMD23;
Thanks,
Michal