ion: export ion_device for some kernel modules
authorCMY <cmy@rock-chips.com>
Thu, 25 Dec 2014 03:39:38 +0000 (11:39 +0800)
committerCMY <cmy@rock-chips.com>
Wed, 4 Mar 2015 02:39:17 +0000 (10:39 +0800)
(cherry picked from commit c32433f1e0847cffdee4e0c04c6d8ee7d64392bc)

Signed-off-by: CMY <cmy@rock-chips.com>
drivers/staging/android/ion/rockchip/rockchip_ion.c

index db9c0d951da482d17d172f579741e190fdf931be..360881b02ab77a74b56d7d111312e56a900ebdf6 100755 (executable)
@@ -31,7 +31,9 @@
 #include <linux/of_fdt.h>
 #endif
 
-static struct ion_device *idev;
+struct ion_device *rockchip_ion_dev;
+EXPORT_SYMBOL(rockchip_ion_dev);
+
 static int num_heaps;
 static struct ion_heap **heaps;
 
@@ -109,7 +111,7 @@ static int rockchip_ion_populate_heap(struct ion_platform_heap *heap)
 
 struct ion_client *rockchip_ion_client_create(const char *name)
 {
-       return ion_client_create(idev, name);
+       return ion_client_create(rockchip_ion_dev, name);
 }
 EXPORT_SYMBOL(rockchip_ion_client_create);
 
@@ -152,6 +154,7 @@ static long rockchip_custom_ioctl (struct ion_client *client, unsigned int cmd,
 static int rockchip_ion_probe(struct platform_device *pdev)
 {
        struct ion_platform_data *pdata;
+       struct ion_device *idev;
        int err;
        int i;
 
@@ -178,6 +181,7 @@ static int rockchip_ion_probe(struct platform_device *pdev)
                kfree(heaps);
                return PTR_ERR(idev);
        }
+       rockchip_ion_dev = idev;
        /* create the heaps as specified in the board file */
        for (i = 0; i < num_heaps; i++) {
                struct ion_platform_heap *heap_data = &pdata->heaps[i];