[PATCH 1/5] mci: mci-core: respect disable-wp property
From: Michael Tretter <m.tretter@pengutronix.de>
Date: 2021-06-16 07:41:38
Subsystem:
the rest · Maintainer:
Linus Torvalds
Systems without write-protect pin should ignore the write protect logic and assume that an SD card is always read-write. This is expressed by the disable-wp dt property. Respect the disable-wp property and don't call the write protection check in these cases. Signed-off-by: Michael Tretter <m.tretter@pengutronix.de> --- drivers/mci/mci-core.c | 4 +++- include/mci.h | 1 + 2 files changed, 4 insertions(+), 1 deletion(-)
diff --git a/drivers/mci/mci-core.c b/drivers/mci/mci-core.c
index a160b9889459..a094f3cbf522 100644
--- a/drivers/mci/mci-core.c
+++ b/drivers/mci/mci-core.c@@ -1358,7 +1358,8 @@ static int __maybe_unused mci_sd_write(struct block_device *blk, mci_blk_part_switch(part); - if (host->card_write_protected && host->card_write_protected(host)) { + if (!host->disable_wp && + host->card_write_protected && host->card_write_protected(host)) { dev_err(&mci->dev, "card write protected\n"); return -EPERM; }
@@ -2016,6 +2017,7 @@ void mci_of_parse_node(struct mci_host *host, host->non_removable = of_property_read_bool(np, "non-removable"); host->no_sd = of_property_read_bool(np, "no-sd"); + host->disable_wp = of_property_read_bool(np, "disable-wp"); } void mci_of_parse(struct mci_host *host)
diff --git a/include/mci.h b/include/mci.h
index df2437f6181b..922aeaecf3de 100644
--- a/include/mci.h
+++ b/include/mci.h@@ -406,6 +406,7 @@ struct mci_host { int use_dsr; /**< optional dsr usage flag */ bool non_removable; /**< device is non removable */ bool no_sd; /**< do not send SD commands during initialization */ + bool disable_wp; /**< ignore write-protect detection logic */ struct regulator *supply; /** init the host interface */
--
2.29.2
_______________________________________________
barebox mailing list
barebox@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/barebox