static int __init s3c64xx_dma_init(void) { int ret; printk(KERN_INFO "%s: Registering DMA channels\n", __func__); dma_pool = dma_pool_create("DMA-LLI", NULL, sizeof(struct pl080s_lli), 16, 0); if (!dma_pool) { printk(KERN_ERR "%s: failed to create pool\n", __func__); return -ENOMEM; } ret = sysdev_class_register(&dma_sysclass); if (ret) { printk(KERN_ERR "%s: failed to create sysclass\n", __func__); return -ENOMEM; } writel(0xffffff, S3C_SYSREG(0x110)); s3c64xx_dma_init1(0, DMACH_UART0, IRQ_DMA0, 0x75000000); s3c64xx_dma_init1(8, DMACH_PCM1_TX, IRQ_DMA1, 0x75100000); return 0; }
static int __init s3c64xx_dma_init(void) { int ret; printk(KERN_INFO "%s: Registering DMA channels\n", __func__); dma_pool = dma_pool_create("DMA-LLI", NULL, 32, 16, 0); if (!dma_pool) { printk(KERN_ERR "%s: failed to create pool\n", __func__); return -ENOMEM; } ret = sysdev_class_register(&dma_sysclass); if (ret) { printk(KERN_ERR "%s: failed to create sysclass\n", __func__); return -ENOMEM; } /* Set all DMA configuration to be DMA, not SDMA */ writel(0xffffff, S3C_SYSREG(0x110)); /* Register standard DMA controlers */ s3c64xx_dma_init1(0, DMACH_UART0, IRQ_DMA0, 0x75000000); s3c64xx_dma_init1(8, DMACH_PCM1_TX, IRQ_DMA1, 0x75100000); return 0; }
static int __init s3c64xx_dma_init(void) { int ret; printk(KERN_INFO "%s: Registering DMA channels\n", __func__); dma_pool = dma_pool_create("DMA-LLI", NULL, sizeof(struct pl080s_lli), 16, 0); if (!dma_pool) { printk(KERN_ERR "%s: failed to create pool\n", __func__); return -ENOMEM; } ret = subsys_system_register(&dma_subsys, NULL); if (ret) { printk(KERN_ERR "%s: failed to create subsys\n", __func__); return -ENOMEM; } /* Set all DMA configuration to be DMA, not SDMA */ writel(0xffffff, S3C64XX_SDMA_SEL); /* Register standard DMA controllers */ s3c64xx_dma_init1(0, DMACH_UART0, IRQ_DMA0, 0x75000000); s3c64xx_dma_init1(8, DMACH_PCM1_TX, IRQ_DMA1, 0x75100000); return 0; }