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.
Unified · Split
| @@ -1280,8 +1280,7 @@ static int bcm2835_add_host(struct bcm2835_host *host) · 1279 unmodified lines | ||
| 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); |
| @@ -1038,8 +1038,7 @@ int cvm_mmc_of_slot_probe(struct device *dev, struct cvm_mmc_host *host) · 1037 unmodified lines | ||
| 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; |
| @@ -2751,12 +2751,6 @@ static int dw_mci_init_slot_caps(struct dw_mci_slot *slot) · 2750 unmodified lines | ||
| 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 | |
| @@ -564,7 +564,7 @@ static int meson_mx_mmc_add_host(struct meson_mx_mmc_host *host) · 563 unmodified lines | ||
| 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); |
| @@ -2326,7 +2326,7 @@ static int msdc_drv_probe(struct platform_device *pdev) · 2325 unmodified lines | ||
| 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) |
| @@ -752,8 +752,6 @@ static int mvsd_probe(struct platform_device *pdev) · 751 unmodified lines | ||
| 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); |
| @@ -634,8 +634,7 @@ static int mxs_mmc_probe(struct platform_device *pdev) · 633 unmodified lines | ||
| 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 | |
| @@ -1244,7 +1244,7 @@ static int mmc_omap_new_slot(struct mmc_omap_host *host, int id) · 1243 unmodified lines | ||
| 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; |
| @@ -1922,7 +1922,7 @@ static int omap_hsmmc_probe(struct platform_device *pdev) · 1921 unmodified lines | ||
| 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) |
| @@ -1347,7 +1347,7 @@ static void realtek_init_host(struct realtek_pci_sdmmc *host) · 1346 unmodified lines | ||
| 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; |
| @@ -1314,7 +1314,7 @@ static void rtsx_usb_init_host(struct rtsx_usb_sdmmc *host) · 1313 unmodified lines | ||
| 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 | |
| @@ -4331,7 +4331,7 @@ int sdhci_setup_host(struct sdhci_host *host) · 4330 unmodified lines | ||
| 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) |
| @@ -1394,7 +1394,7 @@ static int sunxi_mmc_probe(struct platform_device *pdev) · 1393 unmodified lines | ||
| 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 |
| @@ -1128,7 +1128,7 @@ int tmio_mmc_host_probe(struct tmio_mmc_host *_host) · 1127 unmodified lines | ||
| 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; |
| @@ -67,7 +67,6 @@ static void _gb_sdio_set_host_caps(struct gb_sdio_host *host, u32 r) · 66 unmodified lines | ||
| 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) | |
| @@ -321,7 +321,6 @@ struct mmc_host { · 320 unmodified lines | ||
| 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 */ |