Linux kernel mirror (for testing) git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
kernel os linux

mmc: host: Drop redundant MMC_CAP_ERASE

The MMC_CAP_ERASE bit is no longer used by the mmc core as erase, discard
and trim operations are now always supported. Therefore, drop the bit and
move all mmc hosts away from using it.

Signed-off-by: Ulf Hansson <ulf.hansson@linaro.org>
Reviewed-by: Rui Miguel Silva <rmfrfs@gmail.com>
Link: https://lore.kernel.org/r/20200508112902.23575-1-ulf.hansson@linaro.org
Reviewed-by: Linus Walleij <linus.walleij@linaro.org>

+12 -25
+1 -2
drivers/mmc/host/bcm2835.c
··· 1280 1280 1281 1281 /* host controller capabilities */ 1282 1282 mmc->caps |= MMC_CAP_SD_HIGHSPEED | MMC_CAP_MMC_HIGHSPEED | 1283 - MMC_CAP_NEEDS_POLL | MMC_CAP_HW_RESET | MMC_CAP_ERASE | 1284 - MMC_CAP_CMD23; 1283 + MMC_CAP_NEEDS_POLL | MMC_CAP_HW_RESET | MMC_CAP_CMD23; 1285 1284 1286 1285 spin_lock_init(&host->lock); 1287 1286 mutex_init(&host->mutex);
+1 -2
drivers/mmc/host/cavium.c
··· 1038 1038 * Disable bounce buffers for max_segs = 1 1039 1039 */ 1040 1040 mmc->caps |= MMC_CAP_MMC_HIGHSPEED | MMC_CAP_SD_HIGHSPEED | 1041 - MMC_CAP_ERASE | MMC_CAP_CMD23 | MMC_CAP_POWER_OFF_CARD | 1042 - MMC_CAP_3_3V_DDR; 1041 + MMC_CAP_CMD23 | MMC_CAP_POWER_OFF_CARD | MMC_CAP_3_3V_DDR; 1043 1042 1044 1043 if (host->use_sg) 1045 1044 mmc->max_segs = 16;
-6
drivers/mmc/host/dw_mmc.c
··· 2751 2751 if (host->pdata->caps) 2752 2752 mmc->caps = host->pdata->caps; 2753 2753 2754 - /* 2755 - * Support MMC_CAP_ERASE by default. 2756 - * It needs to use trim/discard/erase commands. 2757 - */ 2758 - mmc->caps |= MMC_CAP_ERASE; 2759 - 2760 2754 if (host->pdata->pm_caps) 2761 2755 mmc->pm_caps = host->pdata->pm_caps; 2762 2756
+1 -1
drivers/mmc/host/meson-mx-sdio.c
··· 564 564 mmc->f_max = clk_round_rate(host->cfg_div_clk, 565 565 clk_get_rate(host->parent_clk)); 566 566 567 - mmc->caps |= MMC_CAP_ERASE | MMC_CAP_CMD23 | MMC_CAP_WAIT_WHILE_BUSY; 567 + mmc->caps |= MMC_CAP_CMD23 | MMC_CAP_WAIT_WHILE_BUSY; 568 568 mmc->ops = &meson_mx_mmc_ops; 569 569 570 570 ret = mmc_of_parse(mmc);
+1 -1
drivers/mmc/host/mtk-sd.c
··· 2326 2326 if (mmc->caps & MMC_CAP_SDIO_IRQ) 2327 2327 mmc->caps2 |= MMC_CAP2_SDIO_IRQ_NOTHREAD; 2328 2328 2329 - mmc->caps |= MMC_CAP_ERASE | MMC_CAP_CMD23; 2329 + mmc->caps |= MMC_CAP_CMD23; 2330 2330 /* MMC core transfer sizes tunable parameters */ 2331 2331 mmc->max_segs = MAX_BD_NUM; 2332 2332 if (host->dev_comp->support_64g)
-2
drivers/mmc/host/mvsdio.c
··· 752 752 if (maxfreq) 753 753 mmc->f_max = maxfreq; 754 754 755 - mmc->caps |= MMC_CAP_ERASE; 756 - 757 755 spin_lock_init(&host->lock); 758 756 759 757 host->base = devm_platform_ioremap_resource(pdev, 0);
+1 -2
drivers/mmc/host/mxs-mmc.c
··· 634 634 /* set mmc core parameters */ 635 635 mmc->ops = &mxs_mmc_ops; 636 636 mmc->caps = MMC_CAP_SD_HIGHSPEED | MMC_CAP_MMC_HIGHSPEED | 637 - MMC_CAP_SDIO_IRQ | MMC_CAP_NEEDS_POLL | MMC_CAP_CMD23 | 638 - MMC_CAP_ERASE; 637 + MMC_CAP_SDIO_IRQ | MMC_CAP_NEEDS_POLL | MMC_CAP_CMD23; 639 638 640 639 host->broken_cd = of_property_read_bool(np, "broken-cd"); 641 640
+1 -1
drivers/mmc/host/omap.c
··· 1244 1244 1245 1245 mmc->caps = 0; 1246 1246 if (host->pdata->slots[id].wires >= 4) 1247 - mmc->caps |= MMC_CAP_4_BIT_DATA | MMC_CAP_ERASE; 1247 + mmc->caps |= MMC_CAP_4_BIT_DATA; 1248 1248 1249 1249 mmc->ops = &mmc_omap_ops; 1250 1250 mmc->f_min = 400000;
+1 -1
drivers/mmc/host/omap_hsmmc.c
··· 1922 1922 mmc->max_req_size = mmc->max_blk_size * mmc->max_blk_count; 1923 1923 1924 1924 mmc->caps |= MMC_CAP_MMC_HIGHSPEED | MMC_CAP_SD_HIGHSPEED | 1925 - MMC_CAP_WAIT_WHILE_BUSY | MMC_CAP_ERASE | MMC_CAP_CMD23; 1925 + MMC_CAP_WAIT_WHILE_BUSY | MMC_CAP_CMD23; 1926 1926 1927 1927 mmc->caps |= mmc_pdata(host)->caps; 1928 1928 if (mmc->caps & MMC_CAP_8_BIT_DATA)
+1 -1
drivers/mmc/host/rtsx_pci_sdmmc.c
··· 1347 1347 mmc->ocr_avail = MMC_VDD_32_33 | MMC_VDD_33_34 | MMC_VDD_165_195; 1348 1348 mmc->caps = MMC_CAP_4_BIT_DATA | MMC_CAP_SD_HIGHSPEED | 1349 1349 MMC_CAP_MMC_HIGHSPEED | MMC_CAP_BUS_WIDTH_TEST | 1350 - MMC_CAP_UHS_SDR12 | MMC_CAP_UHS_SDR25 | MMC_CAP_ERASE; 1350 + MMC_CAP_UHS_SDR12 | MMC_CAP_UHS_SDR25; 1351 1351 mmc->caps2 = MMC_CAP2_NO_PRESCAN_POWERUP | MMC_CAP2_FULL_PWR_CYCLE; 1352 1352 mmc->max_current_330 = 400; 1353 1353 mmc->max_current_180 = 800;
+1 -1
drivers/mmc/host/rtsx_usb_sdmmc.c
··· 1314 1314 mmc->caps = MMC_CAP_4_BIT_DATA | MMC_CAP_SD_HIGHSPEED | 1315 1315 MMC_CAP_MMC_HIGHSPEED | MMC_CAP_BUS_WIDTH_TEST | 1316 1316 MMC_CAP_UHS_SDR12 | MMC_CAP_UHS_SDR25 | MMC_CAP_UHS_SDR50 | 1317 - MMC_CAP_ERASE | MMC_CAP_SYNC_RUNTIME_PM; 1317 + MMC_CAP_SYNC_RUNTIME_PM; 1318 1318 mmc->caps2 = MMC_CAP2_NO_PRESCAN_POWERUP | MMC_CAP2_FULL_PWR_CYCLE | 1319 1319 MMC_CAP2_NO_SDIO; 1320 1320
+1 -1
drivers/mmc/host/sdhci.c
··· 4331 4331 !host->ops->get_max_timeout_count) 4332 4332 mmc->max_busy_timeout = 0; 4333 4333 4334 - mmc->caps |= MMC_CAP_SDIO_IRQ | MMC_CAP_ERASE | MMC_CAP_CMD23; 4334 + mmc->caps |= MMC_CAP_SDIO_IRQ | MMC_CAP_CMD23; 4335 4335 mmc->caps2 |= MMC_CAP2_SDIO_IRQ_NOTHREAD; 4336 4336 4337 4337 if (host->quirks & SDHCI_QUIRK_MULTIBLOCK_READ_ACMD12)
+1 -1
drivers/mmc/host/sunxi-mmc.c
··· 1394 1394 mmc->f_min = 400000; 1395 1395 mmc->f_max = 52000000; 1396 1396 mmc->caps |= MMC_CAP_MMC_HIGHSPEED | MMC_CAP_SD_HIGHSPEED | 1397 - MMC_CAP_ERASE | MMC_CAP_SDIO_IRQ; 1397 + MMC_CAP_SDIO_IRQ; 1398 1398 1399 1399 /* 1400 1400 * Some H5 devices do not have signal traces precise enough to
+1 -1
drivers/mmc/host/tmio_mmc_core.c
··· 1128 1128 if (ret == -EPROBE_DEFER) 1129 1129 return ret; 1130 1130 1131 - mmc->caps |= MMC_CAP_ERASE | MMC_CAP_4_BIT_DATA | pdata->capabilities; 1131 + mmc->caps |= MMC_CAP_4_BIT_DATA | pdata->capabilities; 1132 1132 mmc->caps2 |= pdata->capabilities2; 1133 1133 mmc->max_segs = pdata->max_segs ? : 32; 1134 1134 mmc->max_blk_size = TMIO_MAX_BLK_SIZE;
-1
drivers/staging/greybus/sdio.c
··· 67 67 ((r & GB_SDIO_CAP_8_BIT_DATA) ? MMC_CAP_8_BIT_DATA : 0) | 68 68 ((r & GB_SDIO_CAP_MMC_HS) ? MMC_CAP_MMC_HIGHSPEED : 0) | 69 69 ((r & GB_SDIO_CAP_SD_HS) ? MMC_CAP_SD_HIGHSPEED : 0) | 70 - ((r & GB_SDIO_CAP_ERASE) ? MMC_CAP_ERASE : 0) | 71 70 ((r & GB_SDIO_CAP_1_2V_DDR) ? MMC_CAP_1_2V_DDR : 0) | 72 71 ((r & GB_SDIO_CAP_1_8V_DDR) ? MMC_CAP_1_8V_DDR : 0) | 73 72 ((r & GB_SDIO_CAP_POWER_OFF_CARD) ? MMC_CAP_POWER_OFF_CARD : 0) |
-1
include/linux/mmc/host.h
··· 321 321 #define MMC_CAP_AGGRESSIVE_PM (1 << 7) /* Suspend (e)MMC/SD at idle */ 322 322 #define MMC_CAP_NONREMOVABLE (1 << 8) /* Nonremovable e.g. eMMC */ 323 323 #define MMC_CAP_WAIT_WHILE_BUSY (1 << 9) /* Waits while card is busy */ 324 - #define MMC_CAP_ERASE (1 << 10) /* Allow erase/trim commands */ 325 324 #define MMC_CAP_3_3V_DDR (1 << 11) /* Host supports eMMC DDR 3.3V */ 326 325 #define MMC_CAP_1_8V_DDR (1 << 12) /* Host supports eMMC DDR 1.8V */ 327 326 #define MMC_CAP_1_2V_DDR (1 << 13) /* Host supports eMMC DDR 1.2V */