On 2018-10-10 07:00, Vinod wrote: >> drivers/dma/ti/Kconfig | 12 + >> drivers/dma/ti/Makefile | 1 + >> drivers/dma/ti/k3-udma.c | 3623 +++++++++++++++++++++++++++++ > > Sorry but that's too big to review, please split it up > > ... > > I tried to review but it is too long, can you split to possibly, struct > and io accessors, then low level function and dma callbacks at the end.. Hrm, I can try that. >> drivers/dma/ti/k3-udma.h | 132 ++ >> include/dt-bindings/dma/k3-udma.h | 26 + >> 5 files changed, 3794 insertions(+) >> create mode 100644 drivers/dma/ti/k3-udma.c >> create mode 100644 drivers/dma/ti/k3-udma.h >> create mode 100644 include/dt-bindings/dma/k3-udma.h >> >> diff --git a/drivers/dma/ti/k3-udma.c b/drivers/dma/ti/k3-udma.c >> new file mode 100644 >> index 000000000000..2a2a2c8b1fc2 >> --- /dev/null >> +++ b/drivers/dma/ti/k3-udma.c >> @@ -0,0 +1,3623 @@ >> +// SPDX-License-Identifier: GPL-2.0 >> +/* >> + * Copyright (C) 2018 Texas Instruments Incorporated - http://www.ti.com >> + * Author: Peter Ujfalusi <peter.ujfalusi@xxxxxx> >> + */ >> + >> +#include <linux/kernel.h> >> +#include <linux/delay.h> >> +#include <linux/dmaengine.h> >> +#include <linux/dma-mapping.h> >> +#include <linux/dmapool.h> >> +#include <linux/err.h> >> +#include <linux/init.h> >> +#include <linux/interrupt.h> >> +#include <linux/list.h> >> +#include <linux/module.h> >> +#include <linux/platform_device.h> >> +#include <linux/pm_runtime.h> >> +#include <linux/slab.h> >> +#include <linux/spinlock.h> >> +#include <linux/of.h> >> +#include <linux/of_dma.h> >> +#include <linux/of_device.h> >> +#include <linux/of_irq.h> > > Do you really need all of_ variants? Yes, they are needed: of_dma.h -> of_dma support of_device.h -> of_find_device_by_node() of_irq.h -> of_irq_find_parent() - Péter Texas Instruments Finland Oy, Porkkalankatu 22, 00180 Helsinki. Y-tunnus/Business ID: 0615521-4. Kotipaikka/Domicile: Helsinki