summaryrefslogtreecommitdiff
path: root/drivers/staging/android
diff options
context:
space:
mode:
authorOctavian Purdila <octavian.purdila@nxp.com>2017-07-11 12:36:26 +0300
committerLeonard Crestez <leonard.crestez@nxp.com>2018-08-24 12:41:33 +0300
commitbe409a5d5d6dbdfe117f777041493cf212e67bd7 (patch)
tree3a2af43f4adadaf7f67409f21b729267d741f25b /drivers/staging/android
parentfe403769471e2b937e76636d1af23fa8b5feb06f (diff)
Revert "MLK-15356-2:[i.MX8MQ/Hantro] Add support for android platform"
This reverts commit b5d7e2af70d25568835a813a95032998194bc262 as it breaks the build on imx6/7. Signed-off-by: Octavian Purdila <octavian.purdila@nxp.com>
Diffstat (limited to 'drivers/staging/android')
-rw-r--r--[-rwxr-xr-x]drivers/staging/android/ion/mxc/mxc_ion.c152
1 files changed, 2 insertions, 150 deletions
diff --git a/drivers/staging/android/ion/mxc/mxc_ion.c b/drivers/staging/android/ion/mxc/mxc_ion.c
index 406e3d394b5d..236411881a94 100755..100644
--- a/drivers/staging/android/ion/mxc/mxc_ion.c
+++ b/drivers/staging/android/ion/mxc/mxc_ion.c
@@ -28,7 +28,6 @@
#include <linux/dma-buf.h>
#include "../ion_priv.h"
-#include <linux/compat.h>
static struct ion_device *idev;
static int num_heaps = 1;
@@ -75,112 +74,9 @@ mxc_ion_parse_of(struct platform_device *pdev)
return pdata;
}
-struct ion_phys_data32 {
- __s32 handle; //ion_user_handle_t
- compat_long_t phys;
-};
-
-struct ion_phys_dma_data32 {
- compat_long_t phys;
- __u32 size;
- __u32 dmafd;
-};
-
-struct ion_phys_virt_data32 {
- compat_long_t virt;
- compat_long_t phys;
- __u32 size;
-};
-
-#define ION_IOC_PHYS32 _IOWR(ION_IOC_MAGIC, _IOC_NR(ION_IOC_PHYS), struct ion_phys_data32)
-#define ION_IOC_PHYS_DMA32 _IOWR(ION_IOC_MAGIC, _IOC_NR(ION_IOC_PHYS_DMA), struct ion_phys_dma_data32)
-#define ION_IOC_PHYS_VIRT32 _IOWR(ION_IOC_MAGIC, _IOC_NR(ION_IOC_PHYS_VIRT), struct ion_phys_virt_data32)
-
-static int get_ion_phys_data32(struct ion_phys_data *kp, struct ion_phys_data32 __user *up)
-{
- void __user *up_pln;
- compat_long_t p;
-
- if (!access_ok(VERIFY_READ, up, sizeof(struct ion_phys_data32)) ||
- get_user(kp->handle, &up->handle) ||
- get_user(p, &up->phys))
- return -EFAULT;
- up_pln = compat_ptr(p);
- put_user((unsigned long)up_pln, &kp->phys);
- return 0;
-}
-
-static int put_ion_phys_data32(struct ion_phys_data *kp, struct ion_phys_data32 __user *up)
-{
- u32 tmp = (u32)((unsigned long)kp->phys);
- if (!access_ok(VERIFY_WRITE, up, sizeof(struct ion_phys_data32)) ||
- put_user((s32)kp->handle, &up->handle) ||
- put_user(tmp, &up->phys))
- return -EFAULT;
- return 0;
-}
-
-static int get_ion_phys_dma_data32(struct ion_phys_dma_data *kp, struct ion_phys_dma_data32 __user *up)
-{
- void __user *up_pln;
- compat_long_t p;
-
- if (!access_ok(VERIFY_READ, up, sizeof(struct ion_phys_dma_data32)) ||
- get_user(kp->size, &up->size) ||
- get_user(kp->dmafd, &up->dmafd) ||
- get_user(p, &up->phys))
- return -EFAULT;
- up_pln = compat_ptr(p);
- put_user((unsigned long)up_pln, &kp->phys);
- return 0;
-}
-
-static int put_ion_phys_dma_data32(struct ion_phys_dma_data *kp, struct ion_phys_dma_data32 __user *up)
-{
- u32 tmp = (u32)((unsigned long)kp->phys);
- if (!access_ok(VERIFY_WRITE, up, sizeof(struct ion_phys_dma_data32)) ||
- put_user((s32)kp->size, &up->size) ||
- put_user((s32)kp->dmafd, &up->dmafd) ||
- put_user(tmp, &up->phys))
- return -EFAULT;
- return 0;
-}
-
-static int get_ion_phys_virt_data32(struct ion_phys_virt_data *kp, struct ion_phys_virt_data32 __user *up)
-{
- void __user *up_pln;
- void __user *up_pln2;
- compat_long_t p;
- compat_long_t p2;
-
- if (!access_ok(VERIFY_READ, up, sizeof(struct ion_phys_virt_data32)) ||
- get_user(kp->size, &up->size) ||
- get_user(p, &up->phys) ||
- get_user(p2, &up->virt))
- return -EFAULT;
- up_pln = compat_ptr(p);
- up_pln2 = compat_ptr(p2);
- put_user((unsigned long)up_pln, &kp->phys);
- put_user((unsigned long)up_pln2, &kp->virt);
- return 0;
-}
-
-static int put_ion_phys_virt_data32(struct ion_phys_virt_data *kp, struct ion_phys_virt_data32 __user *up)
-{
- u32 tmp = (u32)((unsigned long)kp->phys);
- u32 tmp2 = (u32)((unsigned long)kp->virt);
- if (!access_ok(VERIFY_WRITE, up, sizeof(struct ion_phys_virt_data32)) ||
- put_user((u32)kp->size, &up->size) ||
- put_user(tmp, &up->phys) ||
- put_user(tmp2, &up->virt))
- return -EFAULT;
- return 0;
-}
-
static long
mxc_custom_ioctl(struct ion_client *client, unsigned int cmd, unsigned long arg)
{
-
switch (cmd) {
case ION_IOC_PHYS:
{
@@ -311,51 +207,7 @@ err1:
return 0;
}
-static long
-mxc_custom_compat_ioctl(struct ion_client *client, unsigned int cmd, unsigned long arg)
-{
-#define MXC_CUSTOM_IOCTL32(err,client,cmd,arg) {\
- mm_segment_t old_fs = get_fs();\
- set_fs(KERNEL_DS);\
- err = mxc_custom_ioctl(client, cmd, arg);\
- if(err) return err;\
- set_fs(old_fs);\
-}
- union {
- struct ion_phys_data kdata;
- struct ion_phys_dma_data kdmadata;
- struct ion_phys_virt_data kvirtdata;
- } karg;
-
- void __user *up = compat_ptr(arg);
- long err = 0;
-
- switch(cmd){
- case ION_IOC_PHYS32:
- err = get_ion_phys_data32(&karg.kdata, up);
- if(err) return err;
- MXC_CUSTOM_IOCTL32(err,client,ION_IOC_PHYS,(unsigned long)&karg);
- err = put_ion_phys_data32(&karg.kdata, up);
- break;
- case ION_IOC_PHYS_DMA32:
- err = get_ion_phys_dma_data32(&karg.kdmadata, up);
- if(err) return err;
- MXC_CUSTOM_IOCTL32(err,client,ION_IOC_PHYS_DMA,(unsigned long)&karg);
- err = put_ion_phys_dma_data32(&karg.kdmadata, up);
- break;
- case ION_IOC_PHYS_VIRT32:
- err = get_ion_phys_virt_data32(&karg.kvirtdata, up);
- if(err) return err;
- MXC_CUSTOM_IOCTL32(err,client,ION_IOC_PHYS_VIRT,(unsigned long)&karg);
- err = put_ion_phys_virt_data32(&karg.kvirtdata, up);
- break;
- default:
- err = mxc_custom_ioctl(client, cmd, (unsigned long)arg);
- break;
- }
-
- return err;
-}
+
int
mxc_ion_probe(struct platform_device *pdev)
{
@@ -378,7 +230,7 @@ mxc_ion_probe(struct platform_device *pdev)
heaps = kzalloc(sizeof(struct ion_heap *) * pdata->nr, GFP_KERNEL);
- idev = ion_device_create(mxc_custom_compat_ioctl);
+ idev = ion_device_create(mxc_custom_ioctl);
if (IS_ERR_OR_NULL(idev)) {
err = PTR_ERR(idev);
goto err;