aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/dma/edma.c
diff options
context:
space:
mode:
authorPeter Ujfalusi <peter.ujfalusi@ti.com>2015-10-16 10:18:07 +0300
committerVinod Koul <vinod.koul@intel.com>2015-10-27 10:22:45 +0900
commit966a87b5962ed0d058e93809ae310fa542a69c8e (patch)
treea4e83497fefd82f989bead7a977a39bb65dbcd10 /drivers/dma/edma.c
parentdmaengine: edma: Do not allocate memory for edma_rsv_info in case of DT boot (diff)
downloadlinux-dev-966a87b5962ed0d058e93809ae310fa542a69c8e.tar.xz
linux-dev-966a87b5962ed0d058e93809ae310fa542a69c8e.zip
dmaengine: edma: Merge the of parsing functions
Instead of nesting functions just merge them since the resulting function is still small and readable. Signed-off-by: Peter Ujfalusi <peter.ujfalusi@ti.com> Signed-off-by: Vinod Koul <vinod.koul@intel.com>
Diffstat (limited to 'drivers/dma/edma.c')
-rw-r--r--drivers/dma/edma.c24
1 files changed, 8 insertions, 16 deletions
diff --git a/drivers/dma/edma.c b/drivers/dma/edma.c
index c1b8bb09c221..d4d71e60da1b 100644
--- a/drivers/dma/edma.c
+++ b/drivers/dma/edma.c
@@ -1921,31 +1921,23 @@ static int edma_xbar_event_map(struct device *dev, struct edma_soc_info *pdata,
return 0;
}
-static int edma_of_parse_dt(struct device *dev, struct edma_soc_info *pdata)
-{
- int ret = 0;
- struct property *prop;
- size_t sz;
-
- prop = of_find_property(dev->of_node, "ti,edma-xbar-event-map", &sz);
- if (prop)
- ret = edma_xbar_event_map(dev, pdata, sz);
-
- return ret;
-}
-
static struct edma_soc_info *edma_setup_info_from_dt(struct device *dev)
{
struct edma_soc_info *info;
+ struct property *prop;
+ size_t sz;
int ret;
info = devm_kzalloc(dev, sizeof(struct edma_soc_info), GFP_KERNEL);
if (!info)
return ERR_PTR(-ENOMEM);
- ret = edma_of_parse_dt(dev, info);
- if (ret)
- return ERR_PTR(ret);
+ prop = of_find_property(dev->of_node, "ti,edma-xbar-event-map", &sz);
+ if (prop) {
+ ret = edma_xbar_event_map(dev, info, sz);
+ if (ret)
+ return ERR_PTR(ret);
+ }
return info;
}