OSDN Git Service

mmc: renesas_sdhi: remove whitelist for internal DMAC
authorWolfram Sang <wsa+renesas@sang-engineering.com>
Tue, 3 Dec 2019 19:48:59 +0000 (20:48 +0100)
committerUlf Hansson <ulf.hansson@linaro.org>
Mon, 16 Dec 2019 11:29:36 +0000 (12:29 +0100)
We know now that there won't be Gen3 SoCs with both, SYS-DMAC and
internal DMAC. We removed the blacklisting for SYS-DMAC already, so we
can remove the whitelisting for internal DMAC, too. This makes adding
new SoCs easier. We keep the quirk handling, of course.

Signed-off-by: Wolfram Sang <wsa+renesas@sang-engineering.com>
Reviewed-by: Geert Uytterhoeven <geert+renesas@glider.be>
Reviewed-by: Niklas Söderlund <niklas.soderlund+renesas@ragnatech.se>
Reviewed-by: Yoshihiro Shimoda <yoshihiro.shimoda.uh@renesas.com>
Link: https://lore.kernel.org/r/20191203194859.917-1-wsa@the-dreams.de
Signed-off-by: Ulf Hansson <ulf.hansson@linaro.org>
drivers/mmc/host/renesas_sdhi_internal_dmac.c

index 18839a1..b9d2efc 100644 (file)
@@ -298,38 +298,23 @@ static const struct tmio_mmc_dma_ops renesas_sdhi_internal_dmac_dma_ops = {
  * Whitelist of specific R-Car Gen3 SoC ES versions to use this DMAC
  * implementation as others may use a different implementation.
  */
-static const struct soc_device_attribute soc_whitelist[] = {
-       /* specific ones */
+static const struct soc_device_attribute soc_dma_quirks[] = {
        { .soc_id = "r7s9210",
          .data = (void *)BIT(SDHI_INTERNAL_DMAC_ADDR_MODE_FIXED_ONLY) },
        { .soc_id = "r8a7795", .revision = "ES1.*",
          .data = (void *)BIT(SDHI_INTERNAL_DMAC_ONE_RX_ONLY) },
        { .soc_id = "r8a7796", .revision = "ES1.0",
          .data = (void *)BIT(SDHI_INTERNAL_DMAC_ONE_RX_ONLY) },
-       /* generic ones */
-       { .soc_id = "r8a774a1" },
-       { .soc_id = "r8a774b1" },
-       { .soc_id = "r8a774c0" },
-       { .soc_id = "r8a77470" },
-       { .soc_id = "r8a7795" },
-       { .soc_id = "r8a7796" },
-       { .soc_id = "r8a77965" },
-       { .soc_id = "r8a77970" },
-       { .soc_id = "r8a77980" },
-       { .soc_id = "r8a77990" },
-       { .soc_id = "r8a77995" },
        { /* sentinel */ }
 };
 
 static int renesas_sdhi_internal_dmac_probe(struct platform_device *pdev)
 {
-       const struct soc_device_attribute *soc = soc_device_match(soc_whitelist);
+       const struct soc_device_attribute *soc = soc_device_match(soc_dma_quirks);
        struct device *dev = &pdev->dev;
 
-       if (!soc)
-               return -ENODEV;
-
-       global_flags |= (unsigned long)soc->data;
+       if (soc)
+               global_flags |= (unsigned long)soc->data;
 
        dev->dma_parms = devm_kzalloc(dev, sizeof(*dev->dma_parms), GFP_KERNEL);
        if (!dev->dma_parms)