|
@@ -1050,6 +1050,11 @@ static int match_child(struct device *dev, void *data)
|
|
|
return !strcmp(dev_name(dev), (char *)data);
|
|
|
}
|
|
|
|
|
|
+static void s5p_mfc_memdev_release(struct device *dev)
|
|
|
+{
|
|
|
+ dma_release_declared_memory(dev);
|
|
|
+}
|
|
|
+
|
|
|
static void *mfc_get_drv_data(struct platform_device *pdev);
|
|
|
|
|
|
static int s5p_mfc_alloc_memdevs(struct s5p_mfc_dev *dev)
|
|
@@ -1064,6 +1069,7 @@ static int s5p_mfc_alloc_memdevs(struct s5p_mfc_dev *dev)
|
|
|
}
|
|
|
|
|
|
dev_set_name(dev->mem_dev_l, "%s", "s5p-mfc-l");
|
|
|
+ dev->mem_dev_l->release = s5p_mfc_memdev_release;
|
|
|
device_initialize(dev->mem_dev_l);
|
|
|
of_property_read_u32_array(dev->plat_dev->dev.of_node,
|
|
|
"samsung,mfc-l", mem_info, 2);
|
|
@@ -1083,6 +1089,7 @@ static int s5p_mfc_alloc_memdevs(struct s5p_mfc_dev *dev)
|
|
|
}
|
|
|
|
|
|
dev_set_name(dev->mem_dev_r, "%s", "s5p-mfc-r");
|
|
|
+ dev->mem_dev_r->release = s5p_mfc_memdev_release;
|
|
|
device_initialize(dev->mem_dev_r);
|
|
|
of_property_read_u32_array(dev->plat_dev->dev.of_node,
|
|
|
"samsung,mfc-r", mem_info, 2);
|