};\r
\r
\r
-static void rk29_dma_memcpy_callback(struct rk29_dma_chan *dma_ch, void *buf_id, int size, enum rk29_dma_buffresult result)\r
+static void rk29_dma_memcpy_callback(void *buf_id, int size, enum rk29_dma_buffresult result)\r
{\r
wq_condition = 1;\r
wake_up_interruptible(&wq);\r
}\r
\r
//int slecount = 0;\r
-static ssize_t memcpy_dma_read(struct device *device,struct device_attribute *attr, void *argv)\r
+static ssize_t memcpy_dma_read(struct device *device,struct device_attribute *attr, char *argv)\r
{\r
\r
return 0;\r
}\r
\r
-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)\r
+static ssize_t memcpy_dma_write(struct device *device, struct device_attribute *attr, const char *argv, size_t count)\r
{\r
- int dma_flag;\r
- u32 mcode_sbus;\r
- u32 mcode_dbus;\r
- int i;\r
int rt;\r
- long usec1 = 0;\r
- // long usec2 = 0;\r
-\r
struct Dma_MemToMem *DmaMemInfo = (struct Dma_MemToMem *)argv;\r
-\r
-\r
\r
rt = rk29_dma_devconfig(DMACH_DMAC0_MEMTOMEM, RK29_DMASRC_MEMTOMEM, DmaMemInfo->SrcAddr);\r
rt = rk29_dma_enqueue(DMACH_DMAC0_MEMTOMEM, NULL, DmaMemInfo->DstAddr, DmaMemInfo->MenSize);\r
return 0;\r
}\r
\r
-static DRIVER_ATTR(dmamemcpy, S_IRUGO|S_IALLUGO, memcpy_dma_read, memcpy_dma_write);\r
+static DEVICE_ATTR(dmamemcpy, S_IRUGO|S_IALLUGO, memcpy_dma_read, memcpy_dma_write);\r
\r
\r
-static int __init dma_memcpy_probe(struct platform_device *pdev)\r
+static int __devinit dma_memcpy_probe(struct platform_device *pdev)\r
{\r
int ret;\r
\r
- ret = device_create_file(&pdev->dev, &driver_attr_dmamemcpy);\r
+ ret = device_create_file(&pdev->dev, &dev_attr_dmamemcpy);\r
rk29_dma_request(DMACH_DMAC0_MEMTOMEM, &rk29_dma_memcpy_client, NULL); \r
rk29_dma_config(DMACH_DMAC0_MEMTOMEM, 8, 16);\r
rk29_dma_set_buffdone_fn(DMACH_DMAC0_MEMTOMEM, rk29_dma_memcpy_callback);\r
return 0;\r
}\r
\r
-static int dma_memcpy_remove(struct platform_device *pdev)\r
+static int __devexit dma_memcpy_remove(struct platform_device *pdev)\r
{\r
- int ret;\r
- driver_remove_file(&pdev->dev, &driver_attr_dmamemcpy);\r
+ device_remove_file(&pdev->dev, &dev_attr_dmamemcpy);\r
\r
return 0;\r
}\r
.owner = THIS_MODULE, \r
},\r
.probe = dma_memcpy_probe,\r
- .remove = dma_memcpy_remove,\r
+ .remove = __devexit_p(dma_memcpy_remove),\r
};\r
\r
\r