#include <linux/platform_device.h>
#include <linux/slab.h>
#include <linux/err.h>
#include <linux/init.h>
#include <linux/list.h>
#include <linux/io.h>
#include <linux/of.h>
#include <linux/of_dma.h>
#include <linux/of_platform.h>
#define TI_XBAR_DRA7 …
#define TI_XBAR_AM335X …
static const u32 ti_xbar_type[] = …;
static const struct of_device_id ti_dma_xbar_match[] = …;
#define TI_AM335X_XBAR_LINES …
struct ti_am335x_xbar_data { … };
struct ti_am335x_xbar_map { … };
static inline void ti_am335x_xbar_write(void __iomem *iomem, int event, u8 val)
{ … }
static void ti_am335x_xbar_free(struct device *dev, void *route_data)
{ … }
static void *ti_am335x_xbar_route_allocate(struct of_phandle_args *dma_spec,
struct of_dma *ofdma)
{ … }
static const struct of_device_id ti_am335x_master_match[] __maybe_unused = …;
static int ti_am335x_xbar_probe(struct platform_device *pdev)
{ … }
#define TI_DRA7_XBAR_OUTPUTS …
#define TI_DRA7_XBAR_INPUTS …
struct ti_dra7_xbar_data { … };
struct ti_dra7_xbar_map { … };
static inline void ti_dra7_xbar_write(void __iomem *iomem, int xbar, u16 val)
{ … }
static void ti_dra7_xbar_free(struct device *dev, void *route_data)
{ … }
static void *ti_dra7_xbar_route_allocate(struct of_phandle_args *dma_spec,
struct of_dma *ofdma)
{ … }
#define TI_XBAR_EDMA_OFFSET …
#define TI_XBAR_SDMA_OFFSET …
static const u32 ti_dma_offset[] = …;
static const struct of_device_id ti_dra7_master_match[] __maybe_unused = …;
static inline void ti_dra7_xbar_reserve(int offset, int len, unsigned long *p)
{ … }
static int ti_dra7_xbar_probe(struct platform_device *pdev)
{ … }
static int ti_dma_xbar_probe(struct platform_device *pdev)
{ … }
static struct platform_driver ti_dma_xbar_driver = …;
static int omap_dmaxbar_init(void)
{ … }
arch_initcall(omap_dmaxbar_init);