From 5d0b87e7833594afe661eae723722223c057136a Mon Sep 17 00:00:00 2001 From: =?utf8?q?=E9=BB=84=E6=B6=9B?= Date: Fri, 29 Jul 2011 09:56:38 +0800 Subject: [PATCH] rk29: memcpy_dma: fix section mismatch and initialization from incompatible pointer type warning --- arch/arm/mach-rk29/memcpy_dma.c | 28 +++++++++------------------- 1 file changed, 9 insertions(+), 19 deletions(-) diff --git a/arch/arm/mach-rk29/memcpy_dma.c b/arch/arm/mach-rk29/memcpy_dma.c index 1656db2b84ff..f7d4dc0964af 100755 --- a/arch/arm/mach-rk29/memcpy_dma.c +++ b/arch/arm/mach-rk29/memcpy_dma.c @@ -28,7 +28,7 @@ struct Dma_MemToMem { }; -static void rk29_dma_memcpy_callback(struct rk29_dma_chan *dma_ch, void *buf_id, int size, enum rk29_dma_buffresult result) +static void rk29_dma_memcpy_callback(void *buf_id, int size, enum rk29_dma_buffresult result) { wq_condition = 1; wake_up_interruptible(&wq); @@ -36,25 +36,16 @@ static void rk29_dma_memcpy_callback(struct rk29_dma_chan *dma_ch, void *buf_id, } //int slecount = 0; -static ssize_t memcpy_dma_read(struct device *device,struct device_attribute *attr, void *argv) +static ssize_t memcpy_dma_read(struct device *device,struct device_attribute *attr, char *argv) { return 0; } -static ssize_t memcpy_dma_write (struct device *device,struct device_attribute *attr, void *argv)//(struct device_driver *device, const char *argv,size_t count) +static ssize_t memcpy_dma_write(struct device *device, struct device_attribute *attr, const char *argv, size_t count) { - int dma_flag; - u32 mcode_sbus; - u32 mcode_dbus; - int i; int rt; - long usec1 = 0; - // long usec2 = 0; - struct Dma_MemToMem *DmaMemInfo = (struct Dma_MemToMem *)argv; - - rt = rk29_dma_devconfig(DMACH_DMAC0_MEMTOMEM, RK29_DMASRC_MEMTOMEM, DmaMemInfo->SrcAddr); rt = rk29_dma_enqueue(DMACH_DMAC0_MEMTOMEM, NULL, DmaMemInfo->DstAddr, DmaMemInfo->MenSize); @@ -66,14 +57,14 @@ static ssize_t memcpy_dma_write (struct device *device,struct device_attribute * return 0; } -static DRIVER_ATTR(dmamemcpy, S_IRUGO|S_IALLUGO, memcpy_dma_read, memcpy_dma_write); +static DEVICE_ATTR(dmamemcpy, S_IRUGO|S_IALLUGO, memcpy_dma_read, memcpy_dma_write); -static int __init dma_memcpy_probe(struct platform_device *pdev) +static int __devinit dma_memcpy_probe(struct platform_device *pdev) { int ret; - ret = device_create_file(&pdev->dev, &driver_attr_dmamemcpy); + ret = device_create_file(&pdev->dev, &dev_attr_dmamemcpy); rk29_dma_request(DMACH_DMAC0_MEMTOMEM, &rk29_dma_memcpy_client, NULL); rk29_dma_config(DMACH_DMAC0_MEMTOMEM, 8, 16); rk29_dma_set_buffdone_fn(DMACH_DMAC0_MEMTOMEM, rk29_dma_memcpy_callback); @@ -86,10 +77,9 @@ static int __init dma_memcpy_probe(struct platform_device *pdev) return 0; } -static int dma_memcpy_remove(struct platform_device *pdev) +static int __devexit dma_memcpy_remove(struct platform_device *pdev) { - int ret; - driver_remove_file(&pdev->dev, &driver_attr_dmamemcpy); + device_remove_file(&pdev->dev, &dev_attr_dmamemcpy); return 0; } @@ -100,7 +90,7 @@ static struct platform_driver dma_mempcy_driver = { .owner = THIS_MODULE, }, .probe = dma_memcpy_probe, - .remove = dma_memcpy_remove, + .remove = __devexit_p(dma_memcpy_remove), }; -- 2.34.1