|
@@ -24,7 +24,7 @@
|
|
|
#include <linux/init.h>
|
|
|
#include <linux/device.h>
|
|
|
#include <linux/io.h>
|
|
|
-
|
|
|
+#include <linux/dma-mapping.h>
|
|
|
#include <linux/omap-dma.h>
|
|
|
#include <mach/tc.h>
|
|
|
|
|
@@ -270,11 +270,17 @@ static u32 configure_dma_errata(void)
|
|
|
return errata;
|
|
|
}
|
|
|
|
|
|
+static const struct platform_device_info omap_dma_dev_info = {
|
|
|
+ .name = "omap-dma-engine",
|
|
|
+ .id = -1,
|
|
|
+ .dma_mask = DMA_BIT_MASK(32),
|
|
|
+};
|
|
|
+
|
|
|
static int __init omap1_system_dma_init(void)
|
|
|
{
|
|
|
struct omap_system_dma_plat_info *p;
|
|
|
struct omap_dma_dev_attr *d;
|
|
|
- struct platform_device *pdev;
|
|
|
+ struct platform_device *pdev, *dma_pdev;
|
|
|
int ret;
|
|
|
|
|
|
pdev = platform_device_alloc("omap_dma_system", 0);
|
|
@@ -380,8 +386,16 @@ static int __init omap1_system_dma_init(void)
|
|
|
dma_common_ch_start = CPC;
|
|
|
dma_common_ch_end = COLOR;
|
|
|
|
|
|
+ dma_pdev = platform_device_register_full(&omap_dma_dev_info);
|
|
|
+ if (IS_ERR(dma_pdev)) {
|
|
|
+ ret = PTR_ERR(dma_pdev);
|
|
|
+ goto exit_release_pdev;
|
|
|
+ }
|
|
|
+
|
|
|
return ret;
|
|
|
|
|
|
+exit_release_pdev:
|
|
|
+ platform_device_del(pdev);
|
|
|
exit_release_chan:
|
|
|
kfree(d->chan);
|
|
|
exit_release_d:
|