Revert "media: subdev: disallow ioctl for saa6588/davinci"

This reverts commit db317a3722 as it
breaks the ABI and is not needed for Android devices at this point in
time.

Signed-off-by: Greg Kroah-Hartman <gregkh@google.com>
Change-Id: I060fe0a18cc6232f82fa4d3dd0426262a71aaccf
This commit is contained in:
Greg Kroah-Hartman
2021-07-20 11:55:59 +02:00
parent 8db62be3c3
commit ff7ea0d0e9
6 changed files with 13 additions and 15 deletions

View File

@@ -380,7 +380,7 @@ static void saa6588_configure(struct saa6588 *s)
/* ---------------------------------------------------------------------- */ /* ---------------------------------------------------------------------- */
static long saa6588_command(struct v4l2_subdev *sd, unsigned int cmd, void *arg) static long saa6588_ioctl(struct v4l2_subdev *sd, unsigned int cmd, void *arg)
{ {
struct saa6588 *s = to_saa6588(sd); struct saa6588 *s = to_saa6588(sd);
struct saa6588_command *a = arg; struct saa6588_command *a = arg;
@@ -433,7 +433,7 @@ static int saa6588_s_tuner(struct v4l2_subdev *sd, const struct v4l2_tuner *vt)
/* ----------------------------------------------------------------------- */ /* ----------------------------------------------------------------------- */
static const struct v4l2_subdev_core_ops saa6588_core_ops = { static const struct v4l2_subdev_core_ops saa6588_core_ops = {
.command = saa6588_command, .ioctl = saa6588_ioctl,
}; };
static const struct v4l2_subdev_tuner_ops saa6588_tuner_ops = { static const struct v4l2_subdev_tuner_ops saa6588_tuner_ops = {

View File

@@ -3187,7 +3187,7 @@ static int radio_release(struct file *file)
btv->radio_user--; btv->radio_user--;
bttv_call_all(btv, core, command, SAA6588_CMD_CLOSE, &cmd); bttv_call_all(btv, core, ioctl, SAA6588_CMD_CLOSE, &cmd);
if (btv->radio_user == 0) if (btv->radio_user == 0)
btv->has_radio_tuner = 0; btv->has_radio_tuner = 0;
@@ -3268,7 +3268,7 @@ static ssize_t radio_read(struct file *file, char __user *data,
cmd.result = -ENODEV; cmd.result = -ENODEV;
radio_enable(btv); radio_enable(btv);
bttv_call_all(btv, core, command, SAA6588_CMD_READ, &cmd); bttv_call_all(btv, core, ioctl, SAA6588_CMD_READ, &cmd);
return cmd.result; return cmd.result;
} }
@@ -3289,7 +3289,7 @@ static __poll_t radio_poll(struct file *file, poll_table *wait)
cmd.instance = file; cmd.instance = file;
cmd.event_list = wait; cmd.event_list = wait;
cmd.poll_mask = res; cmd.poll_mask = res;
bttv_call_all(btv, core, command, SAA6588_CMD_POLL, &cmd); bttv_call_all(btv, core, ioctl, SAA6588_CMD_POLL, &cmd);
return cmd.poll_mask; return cmd.poll_mask;
} }

View File

@@ -1178,7 +1178,7 @@ static int video_release(struct file *file)
saa_call_all(dev, tuner, standby); saa_call_all(dev, tuner, standby);
if (vdev->vfl_type == VFL_TYPE_RADIO) if (vdev->vfl_type == VFL_TYPE_RADIO)
saa_call_all(dev, core, command, SAA6588_CMD_CLOSE, &cmd); saa_call_all(dev, core, ioctl, SAA6588_CMD_CLOSE, &cmd);
mutex_unlock(&dev->lock); mutex_unlock(&dev->lock);
return 0; return 0;
@@ -1197,7 +1197,7 @@ static ssize_t radio_read(struct file *file, char __user *data,
cmd.result = -ENODEV; cmd.result = -ENODEV;
mutex_lock(&dev->lock); mutex_lock(&dev->lock);
saa_call_all(dev, core, command, SAA6588_CMD_READ, &cmd); saa_call_all(dev, core, ioctl, SAA6588_CMD_READ, &cmd);
mutex_unlock(&dev->lock); mutex_unlock(&dev->lock);
return cmd.result; return cmd.result;
@@ -1213,7 +1213,7 @@ static __poll_t radio_poll(struct file *file, poll_table *wait)
cmd.event_list = wait; cmd.event_list = wait;
cmd.poll_mask = 0; cmd.poll_mask = 0;
mutex_lock(&dev->lock); mutex_lock(&dev->lock);
saa_call_all(dev, core, command, SAA6588_CMD_POLL, &cmd); saa_call_all(dev, core, ioctl, SAA6588_CMD_POLL, &cmd);
mutex_unlock(&dev->lock); mutex_unlock(&dev->lock);
return rc | cmd.poll_mask; return rc | cmd.poll_mask;

View File

@@ -47,7 +47,7 @@ static int venc_is_second_field(struct vpbe_display *disp_dev)
ret = v4l2_subdev_call(vpbe_dev->venc, ret = v4l2_subdev_call(vpbe_dev->venc,
core, core,
command, ioctl,
VENC_GET_FLD, VENC_GET_FLD,
&val); &val);
if (ret < 0) { if (ret < 0) {

View File

@@ -521,7 +521,9 @@ static int venc_s_routing(struct v4l2_subdev *sd, u32 input, u32 output,
return ret; return ret;
} }
static long venc_command(struct v4l2_subdev *sd, unsigned int cmd, void *arg) static long venc_ioctl(struct v4l2_subdev *sd,
unsigned int cmd,
void *arg)
{ {
u32 val; u32 val;
@@ -540,7 +542,7 @@ static long venc_command(struct v4l2_subdev *sd, unsigned int cmd, void *arg)
} }
static const struct v4l2_subdev_core_ops venc_core_ops = { static const struct v4l2_subdev_core_ops venc_core_ops = {
.command = venc_command, .ioctl = venc_ioctl,
}; };
static const struct v4l2_subdev_video_ops venc_video_ops = { static const struct v4l2_subdev_video_ops venc_video_ops = {

View File

@@ -162,9 +162,6 @@ struct v4l2_subdev_io_pin_config {
* @s_gpio: set GPIO pins. Very simple right now, might need to be extended with * @s_gpio: set GPIO pins. Very simple right now, might need to be extended with
* a direction argument if needed. * a direction argument if needed.
* *
* @command: called by in-kernel drivers in order to call functions internal
* to subdev drivers driver that have a separate callback.
*
* @ioctl: called at the end of ioctl() syscall handler at the V4L2 core. * @ioctl: called at the end of ioctl() syscall handler at the V4L2 core.
* used to provide support for private ioctls used on the driver. * used to provide support for private ioctls used on the driver.
* *
@@ -196,7 +193,6 @@ struct v4l2_subdev_core_ops {
int (*load_fw)(struct v4l2_subdev *sd); int (*load_fw)(struct v4l2_subdev *sd);
int (*reset)(struct v4l2_subdev *sd, u32 val); int (*reset)(struct v4l2_subdev *sd, u32 val);
int (*s_gpio)(struct v4l2_subdev *sd, u32 val); int (*s_gpio)(struct v4l2_subdev *sd, u32 val);
long (*command)(struct v4l2_subdev *sd, unsigned int cmd, void *arg);
long (*ioctl)(struct v4l2_subdev *sd, unsigned int cmd, void *arg); long (*ioctl)(struct v4l2_subdev *sd, unsigned int cmd, void *arg);
#ifdef CONFIG_COMPAT #ifdef CONFIG_COMPAT
long (*compat_ioctl32)(struct v4l2_subdev *sd, unsigned int cmd, long (*compat_ioctl32)(struct v4l2_subdev *sd, unsigned int cmd,