ASoC: lpass-platform: use devm_regmap_field_bulk_alloc
authorSrinivas Kandagatla <srinivas.kandagatla@linaro.org>
Fri, 25 Sep 2020 16:48:56 +0000 (17:48 +0100)
committerMark Brown <broonie@kernel.org>
Mon, 28 Sep 2020 19:51:36 +0000 (20:51 +0100)
use new devm_regmap_field_bulk_alloc to allocate fields as
it make the code more readable!

Signed-off-by: Srinivas Kandagatla <srinivas.kandagatla@linaro.org>
Tested-by: Srinivasa Rao Mandadapu <srivasam@codeaurora.org>
Link: https://lore.kernel.org/r/20200925164856.10315-3-srinivas.kandagatla@linaro.org
Signed-off-by: Mark Brown <broonie@kernel.org>
sound/soc/qcom/lpass-platform.c

index df692ed95503d942bf3eee74311e43c42accdc43..7ac26290082fcdaedd40729f92fd436c5e61ddb4 100644 (file)
@@ -56,6 +56,7 @@ static int lpass_platform_alloc_dmactl_fields(struct device *dev,
        struct lpass_data *drvdata = dev_get_drvdata(dev);
        struct lpass_variant *v = drvdata->variant;
        struct lpaif_dmactl *rd_dmactl, *wr_dmactl;
+       int rval;
 
        drvdata->rd_dmactl = devm_kzalloc(dev, sizeof(struct lpaif_dmactl),
                                          GFP_KERNEL);
@@ -70,31 +71,13 @@ static int lpass_platform_alloc_dmactl_fields(struct device *dev,
        rd_dmactl = drvdata->rd_dmactl;
        wr_dmactl = drvdata->wr_dmactl;
 
-       rd_dmactl->bursten = devm_regmap_field_alloc(dev, map, v->rdma_bursten);
-       rd_dmactl->wpscnt = devm_regmap_field_alloc(dev, map, v->rdma_wpscnt);
-       rd_dmactl->fifowm = devm_regmap_field_alloc(dev, map, v->rdma_fifowm);
-       rd_dmactl->intf = devm_regmap_field_alloc(dev, map, v->rdma_intf);
-       rd_dmactl->enable = devm_regmap_field_alloc(dev, map, v->rdma_enable);
-       rd_dmactl->dyncclk = devm_regmap_field_alloc(dev, map, v->rdma_dyncclk);
+       rval = devm_regmap_field_bulk_alloc(dev, map, &rd_dmactl->bursten,
+                                           &v->rdma_bursten, 6);
+       if (rval)
+               return rval;
 
-       if (IS_ERR(rd_dmactl->bursten) || IS_ERR(rd_dmactl->wpscnt) ||
-           IS_ERR(rd_dmactl->fifowm) || IS_ERR(rd_dmactl->intf) ||
-           IS_ERR(rd_dmactl->enable) || IS_ERR(rd_dmactl->dyncclk))
-               return -EINVAL;
-
-       wr_dmactl->bursten = devm_regmap_field_alloc(dev, map, v->wrdma_bursten);
-       wr_dmactl->wpscnt = devm_regmap_field_alloc(dev, map, v->wrdma_wpscnt);
-       wr_dmactl->fifowm = devm_regmap_field_alloc(dev, map, v->wrdma_fifowm);
-       wr_dmactl->intf = devm_regmap_field_alloc(dev, map, v->wrdma_intf);
-       wr_dmactl->enable = devm_regmap_field_alloc(dev, map, v->wrdma_enable);
-       wr_dmactl->dyncclk = devm_regmap_field_alloc(dev, map, v->wrdma_dyncclk);
-
-       if (IS_ERR(wr_dmactl->bursten) || IS_ERR(wr_dmactl->wpscnt) ||
-           IS_ERR(wr_dmactl->fifowm) || IS_ERR(wr_dmactl->intf) ||
-           IS_ERR(wr_dmactl->enable) || IS_ERR(wr_dmactl->dyncclk))
-               return -EINVAL;
-
-       return 0;
+       return devm_regmap_field_bulk_alloc(dev, map, &wr_dmactl->bursten,
+                                           &v->wrdma_bursten, 6);
 }
 
 static int lpass_platform_pcmops_open(struct snd_soc_component *component,