linux/drivers/mmc/core
Seunghui Lee 917a5336f2 mmc: core: Set read only for SD cards with permanent write protect bit
Some of SD cards sets permanent write protection bit in their CSD register,
due to lifespan or internal problem. To avoid unnecessary I/O write
operations, let's parse the bits in the CSD during initialization and mark
the card as read only for this case.

Signed-off-by: Seunghui Lee <sh043.lee@samsung.com>
Link: https://lore.kernel.org/r/20210222083156.19158-1-sh043.lee@samsung.com
Cc: stable@vger.kernel.org
Signed-off-by: Ulf Hansson <ulf.hansson@linaro.org>
2021-03-30 11:41:59 +02:00
..
block.c mmc: core: Drop superfluous validations in mmc_hw|sw_reset() 2021-03-30 11:41:58 +02:00
block.h mmc: block: Remove code no longer needed after the switch to blk-mq 2017-12-11 13:02:22 +01:00
bus.c mmc: cqhci: Fix random crash when remove mmc module/card 2021-03-09 10:00:52 +01:00
bus.h treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 500 2019-06-19 17:09:55 +02:00
card.h treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 194 2019-05-30 11:29:22 -07:00
core.c mmc: core: Drop reference counting of the bus_ops 2021-03-30 11:41:58 +02:00
core.h mmc: core: Re-work HW reset for SDIO cards 2019-11-14 16:28:56 +01:00
crypto.c mmc: core: Add basic support for inline encryption 2021-02-01 12:02:33 +01:00
crypto.h mmc: core: Add basic support for inline encryption 2021-02-01 12:02:33 +01:00
debugfs.c mmc: core: Use DEFINE_DEBUGFS_ATTRIBUTE instead of DEFINE_SIMPLE_ATTRIBUTE 2020-05-28 11:21:01 +02:00
host.c mmc: core: Add basic support for inline encryption 2021-02-01 12:02:33 +01:00
host.h mmc: core: Initial support for SD express card/host 2020-11-16 11:59:28 +01:00
Kconfig mmc: core: Add basic support for inline encryption 2021-02-01 12:02:33 +01:00
Makefile mmc: core: Add basic support for inline encryption 2021-02-01 12:02:33 +01:00
mmc_ops.c mmc: core: Reduce code duplication to mmc_spi_send_{csd|cid} 2021-03-30 11:41:58 +02:00
mmc_ops.h mmc: core: Re-work the code for eMMC sanitize 2020-03-26 14:45:31 +01:00
mmc_test.c mmc: mmc_test: use erase_arg for mmc_erase command 2021-02-12 12:07:03 +01:00
mmc.c mmc: core: Fix partition switch time for eMMC 2021-03-09 10:00:52 +01:00
pwrseq_emmc.c treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 194 2019-05-30 11:29:22 -07:00
pwrseq_sd8787.c treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 157 2019-05-30 11:26:37 -07:00
pwrseq_simple.c treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 194 2019-05-30 11:29:22 -07:00
pwrseq.c treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 194 2019-05-30 11:29:22 -07:00
pwrseq.h treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 194 2019-05-30 11:29:22 -07:00
queue.c mmc: queue: Remove unused define 2021-02-08 12:56:52 +01:00
queue.h mmc: queue: Remove unused define 2021-02-08 12:56:52 +01:00
quirks.h mmc: core: Mark fixups as __maybe_unused 2020-07-13 12:18:25 +02:00
regulator.c mmc: core: Add missing documetation for 'mmc' and 'ios' 2020-07-13 12:18:25 +02:00
sd_ops.c mmc: core: Initial support for SD express card/host 2020-11-16 11:59:28 +01:00
sd_ops.h mmc: core: Initial support for SD express card/host 2020-11-16 11:59:28 +01:00
sd.c mmc: core: Set read only for SD cards with permanent write protect bit 2021-03-30 11:41:59 +02:00
sd.h mmc: core: remove unused host parameter of mmc_sd_get_csd() 2021-02-01 11:54:48 +01:00
sdio_bus.c mmc: sdio: Export SDIO revision and info strings to userspace 2020-09-07 09:11:29 +02:00
sdio_bus.h treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 152 2019-05-30 11:26:32 -07:00
sdio_cis.c mmc: core: Limit retries when analyse of SDIO tuples fails 2021-02-01 11:13:06 +01:00
sdio_cis.h treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 152 2019-05-30 11:26:32 -07:00
sdio_io.c mmc: core: Provide description for sdio_set_host_pm_flags()'s 'flag' arg 2020-07-13 12:18:25 +02:00
sdio_irq.c sched,mmc: Convert to sched_set_fifo*() 2020-06-15 14:10:22 +02:00
sdio_ops.c mmc: sdio: Use mmc_pre_req() / mmc_post_req() 2020-09-07 08:57:44 +02:00
sdio_ops.h treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 152 2019-05-30 11:26:32 -07:00
sdio_uart.c treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 152 2019-05-30 11:26:32 -07:00
sdio.c mmc: core: remove unused host parameter of mmc_sd_get_csd() 2021-02-01 11:54:48 +01:00
slot-gpio.c mmc: core: Remove mmc_gpiod_request_*(invert_gpio) 2019-12-18 13:37:07 +01:00
slot-gpio.h treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 194 2019-05-30 11:29:22 -07:00