diff options
Diffstat (limited to 'arch/arm/plat-s3c24xx')
-rw-r--r-- | arch/arm/plat-s3c24xx/dma.c | 16 |
1 files changed, 12 insertions, 4 deletions
diff --git a/arch/arm/plat-s3c24xx/dma.c b/arch/arm/plat-s3c24xx/dma.c index aae1b9cbaf44..10ef3995b114 100644 --- a/arch/arm/plat-s3c24xx/dma.c +++ b/arch/arm/plat-s3c24xx/dma.c | |||
@@ -1184,7 +1184,7 @@ int s3c2410_dma_devconfig(int channel, | |||
1184 | dma_wrreg(chan, S3C2410_DMA_DIDSTC, (0<<1) | (0<<0)); | 1184 | dma_wrreg(chan, S3C2410_DMA_DIDSTC, (0<<1) | (0<<0)); |
1185 | 1185 | ||
1186 | chan->addr_reg = dma_regaddr(chan, S3C2410_DMA_DIDST); | 1186 | chan->addr_reg = dma_regaddr(chan, S3C2410_DMA_DIDST); |
1187 | return 0; | 1187 | break; |
1188 | 1188 | ||
1189 | case S3C2410_DMASRC_MEM: | 1189 | case S3C2410_DMASRC_MEM: |
1190 | /* source is memory */ | 1190 | /* source is memory */ |
@@ -1195,11 +1195,19 @@ int s3c2410_dma_devconfig(int channel, | |||
1195 | dma_wrreg(chan, S3C2410_DMA_DIDSTC, hwcfg & 3); | 1195 | dma_wrreg(chan, S3C2410_DMA_DIDSTC, hwcfg & 3); |
1196 | 1196 | ||
1197 | chan->addr_reg = dma_regaddr(chan, S3C2410_DMA_DISRC); | 1197 | chan->addr_reg = dma_regaddr(chan, S3C2410_DMA_DISRC); |
1198 | return 0; | 1198 | break; |
1199 | |||
1200 | default: | ||
1201 | printk(KERN_ERR "dma%d: invalid source type (%d)\n", | ||
1202 | channel, source); | ||
1203 | |||
1204 | return -EINVAL; | ||
1199 | } | 1205 | } |
1200 | 1206 | ||
1201 | printk(KERN_ERR "dma%d: invalid source type (%d)\n", channel, source); | 1207 | if (dma_sel.direction != NULL) |
1202 | return -EINVAL; | 1208 | (dma_sel.direction)(chan, chan->map, source); |
1209 | |||
1210 | return 0; | ||
1203 | } | 1211 | } |
1204 | 1212 | ||
1205 | EXPORT_SYMBOL(s3c2410_dma_devconfig); | 1213 | EXPORT_SYMBOL(s3c2410_dma_devconfig); |