aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/dma/edma.c
diff options
context:
space:
mode:
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;
}