Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 73794b37 authored by Laura Abbott's avatar Laura Abbott Committed by Greg Kroah-Hartman
Browse files

staging: android: ion: Remove custom ioctl interface



Ion is now moving towards a unified interfact. This makes the custom
ioctl interface unneeded. Remove it.

Signed-off-by: default avatarLaura Abbott <labbott@redhat.com>
Signed-off-by: default avatarGreg Kroah-Hartman <gregkh@linuxfoundation.org>
parent 5dc3bafb
Loading
Loading
Loading
Loading
+0 −40
Original line number Original line Diff line number Diff line
@@ -30,11 +30,6 @@ struct compat_ion_allocation_data {
	compat_int_t handle;
	compat_int_t handle;
};
};


struct compat_ion_custom_data {
	compat_uint_t cmd;
	compat_ulong_t arg;
};

struct compat_ion_handle_data {
struct compat_ion_handle_data {
	compat_int_t handle;
	compat_int_t handle;
};
};
@@ -43,8 +38,6 @@ struct compat_ion_handle_data {
				      struct compat_ion_allocation_data)
				      struct compat_ion_allocation_data)
#define COMPAT_ION_IOC_FREE	_IOWR(ION_IOC_MAGIC, 1, \
#define COMPAT_ION_IOC_FREE	_IOWR(ION_IOC_MAGIC, 1, \
				      struct compat_ion_handle_data)
				      struct compat_ion_handle_data)
#define COMPAT_ION_IOC_CUSTOM	_IOWR(ION_IOC_MAGIC, 6, \
				      struct compat_ion_custom_data)


static int compat_get_ion_allocation_data(
static int compat_get_ion_allocation_data(
			struct compat_ion_allocation_data __user *data32,
			struct compat_ion_allocation_data __user *data32,
@@ -105,22 +98,6 @@ static int compat_put_ion_allocation_data(
	return err;
	return err;
}
}


static int compat_get_ion_custom_data(
			struct compat_ion_custom_data __user *data32,
			struct ion_custom_data __user *data)
{
	compat_uint_t cmd;
	compat_ulong_t arg;
	int err;

	err = get_user(cmd, &data32->cmd);
	err |= put_user(cmd, &data->cmd);
	err |= get_user(arg, &data32->arg);
	err |= put_user(arg, &data->arg);

	return err;
};

long compat_ion_ioctl(struct file *filp, unsigned int cmd, unsigned long arg)
long compat_ion_ioctl(struct file *filp, unsigned int cmd, unsigned long arg)
{
{
	long ret;
	long ret;
@@ -166,23 +143,6 @@ long compat_ion_ioctl(struct file *filp, unsigned int cmd, unsigned long arg)
		return filp->f_op->unlocked_ioctl(filp, ION_IOC_FREE,
		return filp->f_op->unlocked_ioctl(filp, ION_IOC_FREE,
							(unsigned long)data);
							(unsigned long)data);
	}
	}
	case COMPAT_ION_IOC_CUSTOM: {
		struct compat_ion_custom_data __user *data32;
		struct ion_custom_data __user *data;
		int err;

		data32 = compat_ptr(arg);
		data = compat_alloc_user_space(sizeof(*data));
		if (!data)
			return -EFAULT;

		err = compat_get_ion_custom_data(data32, data);
		if (err)
			return err;

		return filp->f_op->unlocked_ioctl(filp, ION_IOC_CUSTOM,
							(unsigned long)data);
	}
	case ION_IOC_SHARE:
	case ION_IOC_SHARE:
	case ION_IOC_MAP:
	case ION_IOC_MAP:
	case ION_IOC_IMPORT:
	case ION_IOC_IMPORT:
+0 −11
Original line number Original line Diff line number Diff line
@@ -26,7 +26,6 @@ union ion_ioctl_arg {
	struct ion_fd_data fd;
	struct ion_fd_data fd;
	struct ion_allocation_data allocation;
	struct ion_allocation_data allocation;
	struct ion_handle_data handle;
	struct ion_handle_data handle;
	struct ion_custom_data custom;
	struct ion_heap_query query;
	struct ion_heap_query query;
};
};


@@ -52,7 +51,6 @@ static unsigned int ion_ioctl_dir(unsigned int cmd)
{
{
	switch (cmd) {
	switch (cmd) {
	case ION_IOC_FREE:
	case ION_IOC_FREE:
	case ION_IOC_CUSTOM:
		return _IOC_WRITE;
		return _IOC_WRITE;
	default:
	default:
		return _IOC_DIR(cmd);
		return _IOC_DIR(cmd);
@@ -62,7 +60,6 @@ static unsigned int ion_ioctl_dir(unsigned int cmd)
long ion_ioctl(struct file *filp, unsigned int cmd, unsigned long arg)
long ion_ioctl(struct file *filp, unsigned int cmd, unsigned long arg)
{
{
	struct ion_client *client = filp->private_data;
	struct ion_client *client = filp->private_data;
	struct ion_device *dev = client->dev;
	struct ion_handle *cleanup_handle = NULL;
	struct ion_handle *cleanup_handle = NULL;
	int ret = 0;
	int ret = 0;
	unsigned int dir;
	unsigned int dir;
@@ -145,14 +142,6 @@ long ion_ioctl(struct file *filp, unsigned int cmd, unsigned long arg)
			data.handle.handle = handle->id;
			data.handle.handle = handle->id;
		break;
		break;
	}
	}
	case ION_IOC_CUSTOM:
	{
		if (!dev->custom_ioctl)
			return -ENOTTY;
		ret = dev->custom_ioctl(client, data.custom.cmd,
						data.custom.arg);
		break;
	}
	case ION_IOC_HEAP_QUERY:
	case ION_IOC_HEAP_QUERY:
		ret = ion_query_heaps(client, &data.query);
		ret = ion_query_heaps(client, &data.query);
		break;
		break;
+1 −5
Original line number Original line Diff line number Diff line
@@ -1347,10 +1347,7 @@ void ion_device_add_heap(struct ion_device *dev, struct ion_heap *heap)
}
}
EXPORT_SYMBOL(ion_device_add_heap);
EXPORT_SYMBOL(ion_device_add_heap);


struct ion_device *ion_device_create(long (*custom_ioctl)
struct ion_device *ion_device_create(void)
				     (struct ion_client *client,
				      unsigned int cmd,
				      unsigned long arg))
{
{
	struct ion_device *idev;
	struct ion_device *idev;
	int ret;
	int ret;
@@ -1387,7 +1384,6 @@ struct ion_device *ion_device_create(long (*custom_ioctl)


debugfs_done:
debugfs_done:


	idev->custom_ioctl = custom_ioctl;
	idev->buffers = RB_ROOT;
	idev->buffers = RB_ROOT;
	mutex_init(&idev->buffer_lock);
	mutex_init(&idev->buffer_lock);
	init_rwsem(&idev->lock);
	init_rwsem(&idev->lock);
+1 −1
Original line number Original line Diff line number Diff line
@@ -67,7 +67,7 @@ static int __init ion_dummy_init(void)
{
{
	int i, err;
	int i, err;


	idev = ion_device_create(NULL);
	idev = ion_device_create();
	if (IS_ERR(idev))
	if (IS_ERR(idev))
		return PTR_ERR(idev);
		return PTR_ERR(idev);
	heaps = kcalloc(dummy_ion_pdata.nr, sizeof(struct ion_heap *),
	heaps = kcalloc(dummy_ion_pdata.nr, sizeof(struct ion_heap *),
+1 −7
Original line number Original line Diff line number Diff line
@@ -95,8 +95,6 @@ struct ion_device {
	struct mutex buffer_lock;
	struct mutex buffer_lock;
	struct rw_semaphore lock;
	struct rw_semaphore lock;
	struct plist_head heaps;
	struct plist_head heaps;
	long (*custom_ioctl)(struct ion_client *client, unsigned int cmd,
			     unsigned long arg);
	struct rb_root clients;
	struct rb_root clients;
	struct dentry *debug_root;
	struct dentry *debug_root;
	struct dentry *heaps_debug_root;
	struct dentry *heaps_debug_root;
@@ -260,14 +258,10 @@ bool ion_buffer_fault_user_mappings(struct ion_buffer *buffer);


/**
/**
 * ion_device_create - allocates and returns an ion device
 * ion_device_create - allocates and returns an ion device
 * @custom_ioctl:	arch specific ioctl function if applicable
 *
 *
 * returns a valid device or -PTR_ERR
 * returns a valid device or -PTR_ERR
 */
 */
struct ion_device *ion_device_create(long (*custom_ioctl)
struct ion_device *ion_device_create(void);
				     (struct ion_client *client,
				      unsigned int cmd,
				      unsigned long arg));


/**
/**
 * ion_device_destroy - free and device and it's resource
 * ion_device_destroy - free and device and it's resource
Loading