mirror of
https://github.com/BobTheBlinker/android_kernel_motorola_sm6375.git
synced 2026-10-28 02:32:09 -04:00
Merge branch 'misc.poll' of git://git.kernel.org/pub/scm/linux/kernel/git/viro/vfs
Pull poll annotations from Al Viro: "This introduces a __bitwise type for POLL### bitmap, and propagates the annotations through the tree. Most of that stuff is as simple as 'make ->poll() instances return __poll_t and do the same to local variables used to hold the future return value'. Some of the obvious brainos found in process are fixed (e.g. POLLIN misspelled as POLL_IN). At that point the amount of sparse warnings is low and most of them are for genuine bugs - e.g. ->poll() instance deciding to return -EINVAL instead of a bitmap. I hadn't touched those in this series - it's large enough as it is. Another problem it has caught was eventpoll() ABI mess; select.c and eventpoll.c assumed that corresponding POLL### and EPOLL### were equal. That's true for some, but not all of them - EPOLL### are arch-independent, but POLL### are not. The last commit in this series separates userland POLL### values from the (now arch-independent) kernel-side ones, converting between them in the few places where they are copied to/from userland. AFAICS, this is the least disruptive fix preserving poll(2) ABI and making epoll() work on all architectures. As it is, it's simply broken on sparc - try to give it EPOLLWRNORM and it will trigger only on what would've triggered EPOLLWRBAND on other architectures. EPOLLWRBAND and EPOLLRDHUP, OTOH, are never triggered at all on sparc. With this patch they should work consistently on all architectures" * 'misc.poll' of git://git.kernel.org/pub/scm/linux/kernel/git/viro/vfs: (37 commits) make kernel-side POLL... arch-independent eventpoll: no need to mask the result of epi_item_poll() again eventpoll: constify struct epoll_event pointers debugging printk in sg_poll() uses %x to print POLL... bitmap annotate poll(2) guts 9p: untangle ->poll() mess ->si_band gets POLL... bitmap stored into a user-visible long field ring_buffer_poll_wait() return value used as return value of ->poll() the rest of drivers/*: annotate ->poll() instances media: annotate ->poll() instances fs: annotate ->poll() instances ipc, kernel, mm: annotate ->poll() instances net: annotate ->poll() instances apparmor: annotate ->poll() instances tomoyo: annotate ->poll() instances sound: annotate ->poll() instances acpi: annotate ->poll() instances crypto: annotate ->poll() instances block: annotate ->poll() instances x86: annotate ->poll() instances ...
This commit is contained in:
commit
168fe32a07
387 changed files with 928 additions and 810 deletions
|
|
@ -43,13 +43,13 @@ static inline struct cec_devnode *cec_devnode_data(struct file *filp)
|
|||
|
||||
/* CEC file operations */
|
||||
|
||||
static unsigned int cec_poll(struct file *filp,
|
||||
static __poll_t cec_poll(struct file *filp,
|
||||
struct poll_table_struct *poll)
|
||||
{
|
||||
struct cec_devnode *devnode = cec_devnode_data(filp);
|
||||
struct cec_fh *fh = filp->private_data;
|
||||
struct cec_adapter *adap = fh->adap;
|
||||
unsigned int res = 0;
|
||||
__poll_t res = 0;
|
||||
|
||||
if (!devnode->registered)
|
||||
return POLLERR | POLLHUP;
|
||||
|
|
|
|||
|
|
@ -320,13 +320,13 @@ static int fops_mmap(struct file *file, struct vm_area_struct * vma)
|
|||
return res;
|
||||
}
|
||||
|
||||
static unsigned int __fops_poll(struct file *file, struct poll_table_struct *wait)
|
||||
static __poll_t __fops_poll(struct file *file, struct poll_table_struct *wait)
|
||||
{
|
||||
struct video_device *vdev = video_devdata(file);
|
||||
struct saa7146_fh *fh = file->private_data;
|
||||
struct videobuf_buffer *buf = NULL;
|
||||
struct videobuf_queue *q;
|
||||
unsigned int res = v4l2_ctrl_poll(file, wait);
|
||||
__poll_t res = v4l2_ctrl_poll(file, wait);
|
||||
|
||||
DEB_EE("file:%p, poll:%p\n", file, wait);
|
||||
|
||||
|
|
@ -359,10 +359,10 @@ static unsigned int __fops_poll(struct file *file, struct poll_table_struct *wai
|
|||
return res;
|
||||
}
|
||||
|
||||
static unsigned int fops_poll(struct file *file, struct poll_table_struct *wait)
|
||||
static __poll_t fops_poll(struct file *file, struct poll_table_struct *wait)
|
||||
{
|
||||
struct video_device *vdev = video_devdata(file);
|
||||
unsigned int res;
|
||||
__poll_t res;
|
||||
|
||||
mutex_lock(vdev->lock);
|
||||
res = __fops_poll(file, wait);
|
||||
|
|
|
|||
|
|
@ -374,7 +374,7 @@ exit:
|
|||
return rc;
|
||||
}
|
||||
|
||||
static unsigned int smsdvb_stats_poll(struct file *file, poll_table *wait)
|
||||
static __poll_t smsdvb_stats_poll(struct file *file, poll_table *wait)
|
||||
{
|
||||
struct smsdvb_debugfs *debug_data = file->private_data;
|
||||
int rc;
|
||||
|
|
@ -384,12 +384,9 @@ static unsigned int smsdvb_stats_poll(struct file *file, poll_table *wait)
|
|||
poll_wait(file, &debug_data->stats_queue, wait);
|
||||
|
||||
rc = smsdvb_stats_wait_read(debug_data);
|
||||
if (rc > 0)
|
||||
rc = POLLIN | POLLRDNORM;
|
||||
|
||||
kref_put(&debug_data->refcount, smsdvb_debugfs_data_release);
|
||||
|
||||
return rc;
|
||||
return rc > 0 ? POLLIN | POLLRDNORM : 0;
|
||||
}
|
||||
|
||||
static ssize_t smsdvb_stats_read(struct file *file, char __user *user_buf,
|
||||
|
|
|
|||
|
|
@ -1066,10 +1066,10 @@ static long dvb_demux_ioctl(struct file *file, unsigned int cmd,
|
|||
return dvb_usercopy(file, cmd, arg, dvb_demux_do_ioctl);
|
||||
}
|
||||
|
||||
static unsigned int dvb_demux_poll(struct file *file, poll_table *wait)
|
||||
static __poll_t dvb_demux_poll(struct file *file, poll_table *wait)
|
||||
{
|
||||
struct dmxdev_filter *dmxdevfilter = file->private_data;
|
||||
unsigned int mask = 0;
|
||||
__poll_t mask = 0;
|
||||
|
||||
if ((!dmxdevfilter) || dmxdevfilter->dev->exit)
|
||||
return POLLERR;
|
||||
|
|
@ -1160,11 +1160,11 @@ static long dvb_dvr_ioctl(struct file *file,
|
|||
return dvb_usercopy(file, cmd, arg, dvb_dvr_do_ioctl);
|
||||
}
|
||||
|
||||
static unsigned int dvb_dvr_poll(struct file *file, poll_table *wait)
|
||||
static __poll_t dvb_dvr_poll(struct file *file, poll_table *wait)
|
||||
{
|
||||
struct dvb_device *dvbdev = file->private_data;
|
||||
struct dmxdev *dmxdev = dvbdev->priv;
|
||||
unsigned int mask = 0;
|
||||
__poll_t mask = 0;
|
||||
|
||||
dprintk("%s\n", __func__);
|
||||
|
||||
|
|
|
|||
|
|
@ -1782,11 +1782,11 @@ static int dvb_ca_en50221_io_release(struct inode *inode, struct file *file)
|
|||
*
|
||||
* return: Standard poll mask.
|
||||
*/
|
||||
static unsigned int dvb_ca_en50221_io_poll(struct file *file, poll_table *wait)
|
||||
static __poll_t dvb_ca_en50221_io_poll(struct file *file, poll_table *wait)
|
||||
{
|
||||
struct dvb_device *dvbdev = file->private_data;
|
||||
struct dvb_ca_private *ca = dvbdev->priv;
|
||||
unsigned int mask = 0;
|
||||
__poll_t mask = 0;
|
||||
int slot;
|
||||
int result = 0;
|
||||
|
||||
|
|
|
|||
|
|
@ -2470,7 +2470,7 @@ static int dvb_frontend_handle_ioctl(struct file *file,
|
|||
}
|
||||
|
||||
|
||||
static unsigned int dvb_frontend_poll(struct file *file, struct poll_table_struct *wait)
|
||||
static __poll_t dvb_frontend_poll(struct file *file, struct poll_table_struct *wait)
|
||||
{
|
||||
struct dvb_device *dvbdev = file->private_data;
|
||||
struct dvb_frontend *fe = dvbdev->priv;
|
||||
|
|
|
|||
|
|
@ -207,7 +207,7 @@ static int fdtv_ca_ioctl(struct file *file, unsigned int cmd, void *arg)
|
|||
return err;
|
||||
}
|
||||
|
||||
static unsigned int fdtv_ca_io_poll(struct file *file, poll_table *wait)
|
||||
static __poll_t fdtv_ca_io_poll(struct file *file, poll_table *wait)
|
||||
{
|
||||
return POLLIN;
|
||||
}
|
||||
|
|
|
|||
|
|
@ -99,7 +99,7 @@ static ssize_t media_write(struct file *filp, const char __user *buf,
|
|||
return devnode->fops->write(filp, buf, sz, off);
|
||||
}
|
||||
|
||||
static unsigned int media_poll(struct file *filp,
|
||||
static __poll_t media_poll(struct file *filp,
|
||||
struct poll_table_struct *poll)
|
||||
{
|
||||
struct media_devnode *devnode = media_devnode_data(filp);
|
||||
|
|
|
|||
|
|
@ -2955,13 +2955,13 @@ static ssize_t bttv_read(struct file *file, char __user *data,
|
|||
return retval;
|
||||
}
|
||||
|
||||
static unsigned int bttv_poll(struct file *file, poll_table *wait)
|
||||
static __poll_t bttv_poll(struct file *file, poll_table *wait)
|
||||
{
|
||||
struct bttv_fh *fh = file->private_data;
|
||||
struct bttv_buffer *buf;
|
||||
enum v4l2_field field;
|
||||
unsigned int rc = 0;
|
||||
unsigned long req_events = poll_requested_events(wait);
|
||||
__poll_t rc = 0;
|
||||
__poll_t req_events = poll_requested_events(wait);
|
||||
|
||||
if (v4l2_event_pending(&fh->fh))
|
||||
rc = POLLPRI;
|
||||
|
|
@ -3329,13 +3329,13 @@ static ssize_t radio_read(struct file *file, char __user *data,
|
|||
return cmd.result;
|
||||
}
|
||||
|
||||
static unsigned int radio_poll(struct file *file, poll_table *wait)
|
||||
static __poll_t radio_poll(struct file *file, poll_table *wait)
|
||||
{
|
||||
struct bttv_fh *fh = file->private_data;
|
||||
struct bttv *btv = fh->btv;
|
||||
unsigned long req_events = poll_requested_events(wait);
|
||||
__poll_t req_events = poll_requested_events(wait);
|
||||
struct saa6588_command cmd;
|
||||
unsigned int res = 0;
|
||||
__poll_t res = 0;
|
||||
|
||||
if (v4l2_event_pending(&fh->fh))
|
||||
res = POLLPRI;
|
||||
|
|
|
|||
|
|
@ -602,14 +602,14 @@ ssize_t cx18_v4l2_read(struct file *filp, char __user *buf, size_t count,
|
|||
return cx18_read_pos(s, buf, count, pos, filp->f_flags & O_NONBLOCK);
|
||||
}
|
||||
|
||||
unsigned int cx18_v4l2_enc_poll(struct file *filp, poll_table *wait)
|
||||
__poll_t cx18_v4l2_enc_poll(struct file *filp, poll_table *wait)
|
||||
{
|
||||
unsigned long req_events = poll_requested_events(wait);
|
||||
__poll_t req_events = poll_requested_events(wait);
|
||||
struct cx18_open_id *id = file2id(filp);
|
||||
struct cx18 *cx = id->cx;
|
||||
struct cx18_stream *s = &cx->streams[id->type];
|
||||
int eof = test_bit(CX18_F_S_STREAMOFF, &s->s_flags);
|
||||
unsigned res = 0;
|
||||
__poll_t res = 0;
|
||||
|
||||
/* Start a capture if there is none */
|
||||
if (!eof && !test_bit(CX18_F_S_STREAMING, &s->s_flags) &&
|
||||
|
|
@ -629,7 +629,7 @@ unsigned int cx18_v4l2_enc_poll(struct file *filp, poll_table *wait)
|
|||
|
||||
if ((s->vb_type == V4L2_BUF_TYPE_VIDEO_CAPTURE) &&
|
||||
(id->type == CX18_ENC_STREAM_TYPE_YUV)) {
|
||||
int videobuf_poll = videobuf_poll_stream(filp, &s->vbuf_q, wait);
|
||||
__poll_t videobuf_poll = videobuf_poll_stream(filp, &s->vbuf_q, wait);
|
||||
|
||||
if (v4l2_event_pending(&id->fh))
|
||||
res |= POLLPRI;
|
||||
|
|
|
|||
|
|
@ -23,7 +23,7 @@ ssize_t cx18_v4l2_read(struct file *filp, char __user *buf, size_t count,
|
|||
ssize_t cx18_v4l2_write(struct file *filp, const char __user *buf, size_t count,
|
||||
loff_t *pos);
|
||||
int cx18_v4l2_close(struct file *filp);
|
||||
unsigned int cx18_v4l2_enc_poll(struct file *filp, poll_table *wait);
|
||||
__poll_t cx18_v4l2_enc_poll(struct file *filp, poll_table *wait);
|
||||
int cx18_start_capture(struct cx18_open_id *id);
|
||||
void cx18_stop_capture(struct cx18_open_id *id, int gop_end);
|
||||
void cx18_mute(struct cx18 *cx);
|
||||
|
|
|
|||
|
|
@ -732,13 +732,13 @@ static ssize_t ts_read(struct file *file, __user char *buf,
|
|||
return (count && (left == count)) ? -EAGAIN : (count - left);
|
||||
}
|
||||
|
||||
static unsigned int ts_poll(struct file *file, poll_table *wait)
|
||||
static __poll_t ts_poll(struct file *file, poll_table *wait)
|
||||
{
|
||||
struct dvb_device *dvbdev = file->private_data;
|
||||
struct ddb_output *output = dvbdev->priv;
|
||||
struct ddb_input *input = output->port->input[0];
|
||||
|
||||
unsigned int mask = 0;
|
||||
__poll_t mask = 0;
|
||||
|
||||
poll_wait(file, &input->dma->wq, wait);
|
||||
poll_wait(file, &output->dma->wq, wait);
|
||||
|
|
|
|||
|
|
@ -730,12 +730,12 @@ ssize_t ivtv_v4l2_write(struct file *filp, const char __user *user_buf, size_t c
|
|||
return res;
|
||||
}
|
||||
|
||||
unsigned int ivtv_v4l2_dec_poll(struct file *filp, poll_table *wait)
|
||||
__poll_t ivtv_v4l2_dec_poll(struct file *filp, poll_table *wait)
|
||||
{
|
||||
struct ivtv_open_id *id = fh2id(filp->private_data);
|
||||
struct ivtv *itv = id->itv;
|
||||
struct ivtv_stream *s = &itv->streams[id->type];
|
||||
int res = 0;
|
||||
__poll_t res = 0;
|
||||
|
||||
/* add stream's waitq to the poll list */
|
||||
IVTV_DEBUG_HI_FILE("Decoder poll\n");
|
||||
|
|
@ -764,14 +764,14 @@ unsigned int ivtv_v4l2_dec_poll(struct file *filp, poll_table *wait)
|
|||
return res;
|
||||
}
|
||||
|
||||
unsigned int ivtv_v4l2_enc_poll(struct file *filp, poll_table *wait)
|
||||
__poll_t ivtv_v4l2_enc_poll(struct file *filp, poll_table *wait)
|
||||
{
|
||||
unsigned long req_events = poll_requested_events(wait);
|
||||
__poll_t req_events = poll_requested_events(wait);
|
||||
struct ivtv_open_id *id = fh2id(filp->private_data);
|
||||
struct ivtv *itv = id->itv;
|
||||
struct ivtv_stream *s = &itv->streams[id->type];
|
||||
int eof = test_bit(IVTV_F_S_STREAMOFF, &s->s_flags);
|
||||
unsigned res = 0;
|
||||
__poll_t res = 0;
|
||||
|
||||
/* Start a capture if there is none */
|
||||
if (!eof && !test_bit(IVTV_F_S_STREAMING, &s->s_flags) &&
|
||||
|
|
|
|||
|
|
@ -28,8 +28,8 @@ ssize_t ivtv_v4l2_read(struct file *filp, char __user *buf, size_t count,
|
|||
ssize_t ivtv_v4l2_write(struct file *filp, const char __user *buf, size_t count,
|
||||
loff_t * pos);
|
||||
int ivtv_v4l2_close(struct file *filp);
|
||||
unsigned int ivtv_v4l2_enc_poll(struct file *filp, poll_table * wait);
|
||||
unsigned int ivtv_v4l2_dec_poll(struct file *filp, poll_table * wait);
|
||||
__poll_t ivtv_v4l2_enc_poll(struct file *filp, poll_table * wait);
|
||||
__poll_t ivtv_v4l2_dec_poll(struct file *filp, poll_table * wait);
|
||||
int ivtv_start_capture(struct ivtv_open_id *id);
|
||||
void ivtv_stop_capture(struct ivtv_open_id *id, int gop_end);
|
||||
int ivtv_start_decoding(struct ivtv_open_id *id, int speed);
|
||||
|
|
|
|||
|
|
@ -1423,9 +1423,9 @@ static long vidioc_default(struct file *file, void *fh, bool valid_prio,
|
|||
|
||||
}
|
||||
|
||||
static unsigned int meye_poll(struct file *file, poll_table *wait)
|
||||
static __poll_t meye_poll(struct file *file, poll_table *wait)
|
||||
{
|
||||
unsigned int res = v4l2_ctrl_poll(file, wait);
|
||||
__poll_t res = v4l2_ctrl_poll(file, wait);
|
||||
|
||||
mutex_lock(&meye.lock);
|
||||
poll_wait(file, &meye.proc_list, wait);
|
||||
|
|
|
|||
|
|
@ -1227,11 +1227,11 @@ static ssize_t radio_read(struct file *file, char __user *data,
|
|||
return cmd.result;
|
||||
}
|
||||
|
||||
static unsigned int radio_poll(struct file *file, poll_table *wait)
|
||||
static __poll_t radio_poll(struct file *file, poll_table *wait)
|
||||
{
|
||||
struct saa7134_dev *dev = video_drvdata(file);
|
||||
struct saa6588_command cmd;
|
||||
unsigned int rc = v4l2_ctrl_poll(file, wait);
|
||||
__poll_t rc = v4l2_ctrl_poll(file, wait);
|
||||
|
||||
cmd.instance = file;
|
||||
cmd.event_list = wait;
|
||||
|
|
|
|||
|
|
@ -909,13 +909,13 @@ err:
|
|||
return ret;
|
||||
}
|
||||
|
||||
static unsigned int fops_poll(struct file *file, poll_table *wait)
|
||||
static __poll_t fops_poll(struct file *file, poll_table *wait)
|
||||
{
|
||||
unsigned long req_events = poll_requested_events(wait);
|
||||
__poll_t req_events = poll_requested_events(wait);
|
||||
struct saa7164_encoder_fh *fh =
|
||||
(struct saa7164_encoder_fh *)file->private_data;
|
||||
struct saa7164_port *port = fh->port;
|
||||
unsigned int mask = v4l2_ctrl_poll(file, wait);
|
||||
__poll_t mask = v4l2_ctrl_poll(file, wait);
|
||||
|
||||
port->last_poll_msecs_diff = port->last_poll_msecs;
|
||||
port->last_poll_msecs = jiffies_to_msecs(jiffies);
|
||||
|
|
|
|||
|
|
@ -614,11 +614,11 @@ err:
|
|||
return ret;
|
||||
}
|
||||
|
||||
static unsigned int fops_poll(struct file *file, poll_table *wait)
|
||||
static __poll_t fops_poll(struct file *file, poll_table *wait)
|
||||
{
|
||||
struct saa7164_vbi_fh *fh = (struct saa7164_vbi_fh *)file->private_data;
|
||||
struct saa7164_port *port = fh->port;
|
||||
unsigned int mask = 0;
|
||||
__poll_t mask = 0;
|
||||
|
||||
port->last_poll_msecs_diff = port->last_poll_msecs;
|
||||
port->last_poll_msecs = jiffies_to_msecs(jiffies);
|
||||
|
|
|
|||
|
|
@ -937,11 +937,11 @@ static int dvb_video_get_event (struct av7110 *av7110, struct video_event *event
|
|||
* DVB device file operations
|
||||
******************************************************************************/
|
||||
|
||||
static unsigned int dvb_video_poll(struct file *file, poll_table *wait)
|
||||
static __poll_t dvb_video_poll(struct file *file, poll_table *wait)
|
||||
{
|
||||
struct dvb_device *dvbdev = file->private_data;
|
||||
struct av7110 *av7110 = dvbdev->priv;
|
||||
unsigned int mask = 0;
|
||||
__poll_t mask = 0;
|
||||
|
||||
dprintk(2, "av7110:%p, \n", av7110);
|
||||
|
||||
|
|
@ -989,11 +989,11 @@ static ssize_t dvb_video_write(struct file *file, const char __user *buf,
|
|||
return dvb_play(av7110, buf, count, file->f_flags & O_NONBLOCK, 1);
|
||||
}
|
||||
|
||||
static unsigned int dvb_audio_poll(struct file *file, poll_table *wait)
|
||||
static __poll_t dvb_audio_poll(struct file *file, poll_table *wait)
|
||||
{
|
||||
struct dvb_device *dvbdev = file->private_data;
|
||||
struct av7110 *av7110 = dvbdev->priv;
|
||||
unsigned int mask = 0;
|
||||
__poll_t mask = 0;
|
||||
|
||||
dprintk(2, "av7110:%p, \n", av7110);
|
||||
|
||||
|
|
|
|||
|
|
@ -223,13 +223,13 @@ static int dvb_ca_open(struct inode *inode, struct file *file)
|
|||
return 0;
|
||||
}
|
||||
|
||||
static unsigned int dvb_ca_poll (struct file *file, poll_table *wait)
|
||||
static __poll_t dvb_ca_poll (struct file *file, poll_table *wait)
|
||||
{
|
||||
struct dvb_device *dvbdev = file->private_data;
|
||||
struct av7110 *av7110 = dvbdev->priv;
|
||||
struct dvb_ringbuffer *rbuf = &av7110->ci_rbuffer;
|
||||
struct dvb_ringbuffer *wbuf = &av7110->ci_wbuffer;
|
||||
unsigned int mask = 0;
|
||||
__poll_t mask = 0;
|
||||
|
||||
dprintk(8, "av7110:%p\n",av7110);
|
||||
|
||||
|
|
|
|||
|
|
@ -2501,13 +2501,13 @@ static int zoran_s_jpegcomp(struct file *file, void *__fh,
|
|||
return res;
|
||||
}
|
||||
|
||||
static unsigned int
|
||||
static __poll_t
|
||||
zoran_poll (struct file *file,
|
||||
poll_table *wait)
|
||||
{
|
||||
struct zoran_fh *fh = file->private_data;
|
||||
struct zoran *zr = fh->zr;
|
||||
int res = v4l2_ctrl_poll(file, wait);
|
||||
__poll_t res = v4l2_ctrl_poll(file, wait);
|
||||
int frame;
|
||||
unsigned long flags;
|
||||
|
||||
|
|
|
|||
|
|
@ -730,7 +730,7 @@ static int vpfe_mmap(struct file *file, struct vm_area_struct *vma)
|
|||
/*
|
||||
* vpfe_poll: It is used for select/poll system call
|
||||
*/
|
||||
static unsigned int vpfe_poll(struct file *file, poll_table *wait)
|
||||
static __poll_t vpfe_poll(struct file *file, poll_table *wait)
|
||||
{
|
||||
struct vpfe_device *vpfe_dev = video_drvdata(file);
|
||||
|
||||
|
|
|
|||
|
|
@ -707,12 +707,12 @@ static int gsc_m2m_release(struct file *file)
|
|||
return 0;
|
||||
}
|
||||
|
||||
static unsigned int gsc_m2m_poll(struct file *file,
|
||||
static __poll_t gsc_m2m_poll(struct file *file,
|
||||
struct poll_table_struct *wait)
|
||||
{
|
||||
struct gsc_ctx *ctx = fh_to_ctx(file->private_data);
|
||||
struct gsc_dev *gsc = ctx->gsc_dev;
|
||||
unsigned int ret;
|
||||
__poll_t ret;
|
||||
|
||||
if (mutex_lock_interruptible(&gsc->lock))
|
||||
return -ERESTARTSYS;
|
||||
|
|
|
|||
|
|
@ -1263,13 +1263,13 @@ static ssize_t viu_read(struct file *file, char __user *data, size_t count,
|
|||
return 0;
|
||||
}
|
||||
|
||||
static unsigned int viu_poll(struct file *file, struct poll_table_struct *wait)
|
||||
static __poll_t viu_poll(struct file *file, struct poll_table_struct *wait)
|
||||
{
|
||||
struct viu_fh *fh = file->private_data;
|
||||
struct videobuf_queue *q = &fh->vb_vidq;
|
||||
struct viu_dev *dev = fh->dev;
|
||||
unsigned long req_events = poll_requested_events(wait);
|
||||
unsigned int res = v4l2_ctrl_poll(file, wait);
|
||||
__poll_t req_events = poll_requested_events(wait);
|
||||
__poll_t res = v4l2_ctrl_poll(file, wait);
|
||||
|
||||
if (V4L2_BUF_TYPE_VIDEO_CAPTURE != fh->type)
|
||||
return POLLERR;
|
||||
|
|
|
|||
|
|
@ -950,11 +950,11 @@ static int deinterlace_release(struct file *file)
|
|||
return 0;
|
||||
}
|
||||
|
||||
static unsigned int deinterlace_poll(struct file *file,
|
||||
static __poll_t deinterlace_poll(struct file *file,
|
||||
struct poll_table_struct *wait)
|
||||
{
|
||||
struct deinterlace_ctx *ctx = file->private_data;
|
||||
int ret;
|
||||
__poll_t ret;
|
||||
|
||||
deinterlace_lock(ctx);
|
||||
ret = v4l2_m2m_poll(file, ctx->m2m_ctx, wait);
|
||||
|
|
|
|||
|
|
@ -838,12 +838,12 @@ static int emmaprp_release(struct file *file)
|
|||
return 0;
|
||||
}
|
||||
|
||||
static unsigned int emmaprp_poll(struct file *file,
|
||||
static __poll_t emmaprp_poll(struct file *file,
|
||||
struct poll_table_struct *wait)
|
||||
{
|
||||
struct emmaprp_dev *pcdev = video_drvdata(file);
|
||||
struct emmaprp_ctx *ctx = file->private_data;
|
||||
unsigned int res;
|
||||
__poll_t res;
|
||||
|
||||
mutex_lock(&pcdev->dev_mutex);
|
||||
res = v4l2_m2m_poll(file, ctx->m2m_ctx, wait);
|
||||
|
|
|
|||
|
|
@ -839,7 +839,7 @@ static void omap_vout_buffer_release(struct videobuf_queue *q,
|
|||
/*
|
||||
* File operations
|
||||
*/
|
||||
static unsigned int omap_vout_poll(struct file *file,
|
||||
static __poll_t omap_vout_poll(struct file *file,
|
||||
struct poll_table_struct *wait)
|
||||
{
|
||||
struct omap_vout_device *vout = file->private_data;
|
||||
|
|
|
|||
|
|
@ -1383,11 +1383,11 @@ static int isp_video_release(struct file *file)
|
|||
return 0;
|
||||
}
|
||||
|
||||
static unsigned int isp_video_poll(struct file *file, poll_table *wait)
|
||||
static __poll_t isp_video_poll(struct file *file, poll_table *wait)
|
||||
{
|
||||
struct isp_video_fh *vfh = to_isp_video_fh(file->private_data);
|
||||
struct isp_video *video = video_drvdata(file);
|
||||
int ret;
|
||||
__poll_t ret;
|
||||
|
||||
mutex_lock(&video->queue_lock);
|
||||
ret = vb2_poll(&vfh->queue, file, wait);
|
||||
|
|
|
|||
|
|
@ -590,12 +590,12 @@ static int s3c_camif_close(struct file *file)
|
|||
return ret;
|
||||
}
|
||||
|
||||
static unsigned int s3c_camif_poll(struct file *file,
|
||||
static __poll_t s3c_camif_poll(struct file *file,
|
||||
struct poll_table_struct *wait)
|
||||
{
|
||||
struct camif_vp *vp = video_drvdata(file);
|
||||
struct camif_dev *camif = vp->camif;
|
||||
int ret;
|
||||
__poll_t ret;
|
||||
|
||||
mutex_lock(&camif->lock);
|
||||
if (vp->owner && vp->owner != file->private_data)
|
||||
|
|
|
|||
|
|
@ -988,14 +988,14 @@ static int s5p_mfc_release(struct file *file)
|
|||
}
|
||||
|
||||
/* Poll */
|
||||
static unsigned int s5p_mfc_poll(struct file *file,
|
||||
static __poll_t s5p_mfc_poll(struct file *file,
|
||||
struct poll_table_struct *wait)
|
||||
{
|
||||
struct s5p_mfc_ctx *ctx = fh_to_ctx(file->private_data);
|
||||
struct s5p_mfc_dev *dev = ctx->dev;
|
||||
struct vb2_queue *src_q, *dst_q;
|
||||
struct vb2_buffer *src_vb = NULL, *dst_vb = NULL;
|
||||
unsigned int rc = 0;
|
||||
__poll_t rc = 0;
|
||||
unsigned long flags;
|
||||
|
||||
mutex_lock(&dev->mfc_mutex);
|
||||
|
|
|
|||
|
|
@ -1016,7 +1016,7 @@ static int sh_veu_release(struct file *file)
|
|||
return 0;
|
||||
}
|
||||
|
||||
static unsigned int sh_veu_poll(struct file *file,
|
||||
static __poll_t sh_veu_poll(struct file *file,
|
||||
struct poll_table_struct *wait)
|
||||
{
|
||||
struct sh_veu_file *veu_file = file->private_data;
|
||||
|
|
|
|||
|
|
@ -1553,7 +1553,7 @@ static int sh_mobile_ceu_set_liveselection(struct soc_camera_device *icd,
|
|||
return ret;
|
||||
}
|
||||
|
||||
static unsigned int sh_mobile_ceu_poll(struct file *file, poll_table *pt)
|
||||
static __poll_t sh_mobile_ceu_poll(struct file *file, poll_table *pt)
|
||||
{
|
||||
struct soc_camera_device *icd = file->private_data;
|
||||
|
||||
|
|
|
|||
|
|
@ -805,11 +805,11 @@ static int soc_camera_mmap(struct file *file, struct vm_area_struct *vma)
|
|||
return err;
|
||||
}
|
||||
|
||||
static unsigned int soc_camera_poll(struct file *file, poll_table *pt)
|
||||
static __poll_t soc_camera_poll(struct file *file, poll_table *pt)
|
||||
{
|
||||
struct soc_camera_device *icd = file->private_data;
|
||||
struct soc_camera_host *ici = to_soc_camera_host(icd->parent);
|
||||
unsigned res = POLLERR;
|
||||
__poll_t res = POLLERR;
|
||||
|
||||
if (icd->streamer != file)
|
||||
return POLLERR;
|
||||
|
|
|
|||
|
|
@ -764,7 +764,7 @@ out_unlock:
|
|||
}
|
||||
|
||||
|
||||
static unsigned int viacam_poll(struct file *filp, struct poll_table_struct *pt)
|
||||
static __poll_t viacam_poll(struct file *filp, struct poll_table_struct *pt)
|
||||
{
|
||||
struct via_camera *cam = video_drvdata(filp);
|
||||
|
||||
|
|
|
|||
|
|
@ -416,7 +416,7 @@ static ssize_t vivid_radio_write(struct file *file, const char __user *buf,
|
|||
return vivid_radio_tx_write(file, buf, size, offset);
|
||||
}
|
||||
|
||||
static unsigned int vivid_radio_poll(struct file *file, struct poll_table_struct *wait)
|
||||
static __poll_t vivid_radio_poll(struct file *file, struct poll_table_struct *wait)
|
||||
{
|
||||
struct video_device *vdev = video_devdata(file);
|
||||
|
||||
|
|
|
|||
|
|
@ -141,7 +141,7 @@ retry:
|
|||
return i;
|
||||
}
|
||||
|
||||
unsigned int vivid_radio_rx_poll(struct file *file, struct poll_table_struct *wait)
|
||||
__poll_t vivid_radio_rx_poll(struct file *file, struct poll_table_struct *wait)
|
||||
{
|
||||
return POLLIN | POLLRDNORM | v4l2_ctrl_poll(file, wait);
|
||||
}
|
||||
|
|
|
|||
|
|
@ -21,7 +21,7 @@
|
|||
#define _VIVID_RADIO_RX_H_
|
||||
|
||||
ssize_t vivid_radio_rx_read(struct file *, char __user *, size_t, loff_t *);
|
||||
unsigned int vivid_radio_rx_poll(struct file *file, struct poll_table_struct *wait);
|
||||
__poll_t vivid_radio_rx_poll(struct file *file, struct poll_table_struct *wait);
|
||||
|
||||
int vivid_radio_rx_enum_freq_bands(struct file *file, void *fh, struct v4l2_frequency_band *band);
|
||||
int vivid_radio_rx_s_hw_freq_seek(struct file *file, void *fh, const struct v4l2_hw_freq_seek *a);
|
||||
|
|
|
|||
|
|
@ -105,7 +105,7 @@ retry:
|
|||
return i;
|
||||
}
|
||||
|
||||
unsigned int vivid_radio_tx_poll(struct file *file, struct poll_table_struct *wait)
|
||||
__poll_t vivid_radio_tx_poll(struct file *file, struct poll_table_struct *wait)
|
||||
{
|
||||
return POLLOUT | POLLWRNORM | v4l2_ctrl_poll(file, wait);
|
||||
}
|
||||
|
|
|
|||
|
|
@ -21,7 +21,7 @@
|
|||
#define _VIVID_RADIO_TX_H_
|
||||
|
||||
ssize_t vivid_radio_tx_write(struct file *, const char __user *, size_t, loff_t *);
|
||||
unsigned int vivid_radio_tx_poll(struct file *file, struct poll_table_struct *wait);
|
||||
__poll_t vivid_radio_tx_poll(struct file *file, struct poll_table_struct *wait);
|
||||
|
||||
int vidioc_g_modulator(struct file *file, void *fh, struct v4l2_modulator *a);
|
||||
int vidioc_s_modulator(struct file *file, void *fh, const struct v4l2_modulator *a);
|
||||
|
|
|
|||
|
|
@ -481,11 +481,11 @@ static int cadet_release(struct file *file)
|
|||
return 0;
|
||||
}
|
||||
|
||||
static unsigned int cadet_poll(struct file *file, struct poll_table_struct *wait)
|
||||
static __poll_t cadet_poll(struct file *file, struct poll_table_struct *wait)
|
||||
{
|
||||
struct cadet *dev = video_drvdata(file);
|
||||
unsigned long req_events = poll_requested_events(wait);
|
||||
unsigned int res = v4l2_ctrl_poll(file, wait);
|
||||
__poll_t req_events = poll_requested_events(wait);
|
||||
__poll_t res = v4l2_ctrl_poll(file, wait);
|
||||
|
||||
poll_wait(file, &dev->read_queue, wait);
|
||||
if (dev->rdsstat == 0 && (req_events & (POLLIN | POLLRDNORM))) {
|
||||
|
|
|
|||
|
|
@ -1153,12 +1153,12 @@ static ssize_t si476x_radio_fops_read(struct file *file, char __user *buf,
|
|||
return rval;
|
||||
}
|
||||
|
||||
static unsigned int si476x_radio_fops_poll(struct file *file,
|
||||
static __poll_t si476x_radio_fops_poll(struct file *file,
|
||||
struct poll_table_struct *pts)
|
||||
{
|
||||
struct si476x_radio *radio = video_drvdata(file);
|
||||
unsigned long req_events = poll_requested_events(pts);
|
||||
unsigned int err = v4l2_ctrl_poll(file, pts);
|
||||
__poll_t req_events = poll_requested_events(pts);
|
||||
__poll_t err = v4l2_ctrl_poll(file, pts);
|
||||
|
||||
if (req_events & (POLLIN | POLLRDNORM)) {
|
||||
if (atomic_read(&radio->core->is_alive))
|
||||
|
|
|
|||
|
|
@ -1089,7 +1089,7 @@ out:
|
|||
return r;
|
||||
}
|
||||
|
||||
static unsigned int wl1273_fm_fops_poll(struct file *file,
|
||||
static __poll_t wl1273_fm_fops_poll(struct file *file,
|
||||
struct poll_table_struct *pts)
|
||||
{
|
||||
struct wl1273_device *radio = video_get_drvdata(video_devdata(file));
|
||||
|
|
|
|||
|
|
@ -507,12 +507,12 @@ done:
|
|||
/*
|
||||
* si470x_fops_poll - poll RDS data
|
||||
*/
|
||||
static unsigned int si470x_fops_poll(struct file *file,
|
||||
static __poll_t si470x_fops_poll(struct file *file,
|
||||
struct poll_table_struct *pts)
|
||||
{
|
||||
struct si470x_device *radio = video_drvdata(file);
|
||||
unsigned long req_events = poll_requested_events(pts);
|
||||
int retval = v4l2_ctrl_poll(file, pts);
|
||||
__poll_t req_events = poll_requested_events(pts);
|
||||
__poll_t retval = v4l2_ctrl_poll(file, pts);
|
||||
|
||||
if (req_events & (POLLIN | POLLRDNORM)) {
|
||||
/* switch on rds reception */
|
||||
|
|
|
|||
|
|
@ -102,7 +102,7 @@ static ssize_t fm_v4l2_fops_write(struct file *file, const char __user * buf,
|
|||
return sizeof(rds);
|
||||
}
|
||||
|
||||
static u32 fm_v4l2_fops_poll(struct file *file, struct poll_table_struct *pts)
|
||||
static __poll_t fm_v4l2_fops_poll(struct file *file, struct poll_table_struct *pts)
|
||||
{
|
||||
int ret;
|
||||
struct fmdev *fmdev;
|
||||
|
|
|
|||
|
|
@ -272,10 +272,10 @@ int lirc_dev_fop_close(struct inode *inode, struct file *file)
|
|||
}
|
||||
EXPORT_SYMBOL(lirc_dev_fop_close);
|
||||
|
||||
unsigned int lirc_dev_fop_poll(struct file *file, poll_table *wait)
|
||||
__poll_t lirc_dev_fop_poll(struct file *file, poll_table *wait)
|
||||
{
|
||||
struct lirc_dev *d = file->private_data;
|
||||
unsigned int ret;
|
||||
__poll_t ret;
|
||||
|
||||
if (!d->attached)
|
||||
return POLLHUP | POLLERR;
|
||||
|
|
|
|||
|
|
@ -444,7 +444,7 @@ int cpia2_allocate_buffers(struct camera_data *cam);
|
|||
void cpia2_free_buffers(struct camera_data *cam);
|
||||
long cpia2_read(struct camera_data *cam,
|
||||
char __user *buf, unsigned long count, int noblock);
|
||||
unsigned int cpia2_poll(struct camera_data *cam,
|
||||
__poll_t cpia2_poll(struct camera_data *cam,
|
||||
struct file *filp, poll_table *wait);
|
||||
int cpia2_remap_buffer(struct camera_data *cam, struct vm_area_struct *vma);
|
||||
void cpia2_set_property_flip(struct camera_data *cam, int prop_val);
|
||||
|
|
|
|||
|
|
@ -2370,10 +2370,10 @@ long cpia2_read(struct camera_data *cam,
|
|||
* cpia2_poll
|
||||
*
|
||||
*****************************************************************************/
|
||||
unsigned int cpia2_poll(struct camera_data *cam, struct file *filp,
|
||||
__poll_t cpia2_poll(struct camera_data *cam, struct file *filp,
|
||||
poll_table *wait)
|
||||
{
|
||||
unsigned int status = v4l2_ctrl_poll(filp, wait);
|
||||
__poll_t status = v4l2_ctrl_poll(filp, wait);
|
||||
|
||||
if ((poll_requested_events(wait) & (POLLIN | POLLRDNORM)) &&
|
||||
!cam->streaming) {
|
||||
|
|
|
|||
|
|
@ -169,10 +169,10 @@ static ssize_t cpia2_v4l_read(struct file *file, char __user *buf, size_t count,
|
|||
* cpia2_v4l_poll
|
||||
*
|
||||
*****************************************************************************/
|
||||
static unsigned int cpia2_v4l_poll(struct file *filp, struct poll_table_struct *wait)
|
||||
static __poll_t cpia2_v4l_poll(struct file *filp, struct poll_table_struct *wait)
|
||||
{
|
||||
struct camera_data *cam = video_drvdata(filp);
|
||||
unsigned int res;
|
||||
__poll_t res;
|
||||
|
||||
mutex_lock(&cam->v4l2_lock);
|
||||
res = cpia2_poll(cam, filp, wait);
|
||||
|
|
|
|||
|
|
@ -1812,13 +1812,13 @@ static ssize_t mpeg_read(struct file *file, char __user *data,
|
|||
file->f_flags & O_NONBLOCK);
|
||||
}
|
||||
|
||||
static unsigned int mpeg_poll(struct file *file,
|
||||
static __poll_t mpeg_poll(struct file *file,
|
||||
struct poll_table_struct *wait)
|
||||
{
|
||||
unsigned long req_events = poll_requested_events(wait);
|
||||
__poll_t req_events = poll_requested_events(wait);
|
||||
struct cx231xx_fh *fh = file->private_data;
|
||||
struct cx231xx *dev = fh->dev;
|
||||
unsigned int res = 0;
|
||||
__poll_t res = 0;
|
||||
|
||||
if (v4l2_event_pending(&fh->fh))
|
||||
res |= POLLPRI;
|
||||
|
|
|
|||
|
|
@ -2006,12 +2006,12 @@ cx231xx_v4l2_read(struct file *filp, char __user *buf, size_t count,
|
|||
* cx231xx_v4l2_poll()
|
||||
* will allocate buffers when called for the first time
|
||||
*/
|
||||
static unsigned int cx231xx_v4l2_poll(struct file *filp, poll_table *wait)
|
||||
static __poll_t cx231xx_v4l2_poll(struct file *filp, poll_table *wait)
|
||||
{
|
||||
unsigned long req_events = poll_requested_events(wait);
|
||||
__poll_t req_events = poll_requested_events(wait);
|
||||
struct cx231xx_fh *fh = filp->private_data;
|
||||
struct cx231xx *dev = fh->dev;
|
||||
unsigned res = 0;
|
||||
__poll_t res = 0;
|
||||
int rc;
|
||||
|
||||
rc = check_dev(dev);
|
||||
|
|
|
|||
|
|
@ -1862,11 +1862,11 @@ out:
|
|||
return ret;
|
||||
}
|
||||
|
||||
static unsigned int dev_poll(struct file *file, poll_table *wait)
|
||||
static __poll_t dev_poll(struct file *file, poll_table *wait)
|
||||
{
|
||||
struct gspca_dev *gspca_dev = video_drvdata(file);
|
||||
unsigned long req_events = poll_requested_events(wait);
|
||||
int ret = 0;
|
||||
__poll_t req_events = poll_requested_events(wait);
|
||||
__poll_t ret = 0;
|
||||
|
||||
PDEBUG(D_FRAM, "poll");
|
||||
|
||||
|
|
|
|||
|
|
@ -521,12 +521,12 @@ err:
|
|||
return ret;
|
||||
}
|
||||
|
||||
static unsigned int hdpvr_poll(struct file *filp, poll_table *wait)
|
||||
static __poll_t hdpvr_poll(struct file *filp, poll_table *wait)
|
||||
{
|
||||
unsigned long req_events = poll_requested_events(wait);
|
||||
__poll_t req_events = poll_requested_events(wait);
|
||||
struct hdpvr_buffer *buf = NULL;
|
||||
struct hdpvr_device *dev = video_drvdata(filp);
|
||||
unsigned int mask = v4l2_ctrl_poll(filp, wait);
|
||||
__poll_t mask = v4l2_ctrl_poll(filp, wait);
|
||||
|
||||
if (!(req_events & (POLLIN | POLLRDNORM)))
|
||||
return mask;
|
||||
|
|
|
|||
|
|
@ -1190,9 +1190,9 @@ static ssize_t pvr2_v4l2_read(struct file *file,
|
|||
}
|
||||
|
||||
|
||||
static unsigned int pvr2_v4l2_poll(struct file *file, poll_table *wait)
|
||||
static __poll_t pvr2_v4l2_poll(struct file *file, poll_table *wait)
|
||||
{
|
||||
unsigned int mask = 0;
|
||||
__poll_t mask = 0;
|
||||
struct pvr2_v4l2_fh *fh = file->private_data;
|
||||
int ret;
|
||||
|
||||
|
|
|
|||
|
|
@ -721,10 +721,10 @@ static ssize_t v4l_stk_read(struct file *fp, char __user *buf,
|
|||
return ret;
|
||||
}
|
||||
|
||||
static unsigned int v4l_stk_poll(struct file *fp, poll_table *wait)
|
||||
static __poll_t v4l_stk_poll(struct file *fp, poll_table *wait)
|
||||
{
|
||||
struct stk_camera *dev = video_drvdata(fp);
|
||||
unsigned res = v4l2_ctrl_poll(fp, wait);
|
||||
__poll_t res = v4l2_ctrl_poll(fp, wait);
|
||||
|
||||
poll_wait(fp, &dev->wait_frame, wait);
|
||||
|
||||
|
|
|
|||
|
|
@ -1423,13 +1423,13 @@ tm6000_read(struct file *file, char __user *data, size_t count, loff_t *pos)
|
|||
return 0;
|
||||
}
|
||||
|
||||
static unsigned int
|
||||
static __poll_t
|
||||
__tm6000_poll(struct file *file, struct poll_table_struct *wait)
|
||||
{
|
||||
unsigned long req_events = poll_requested_events(wait);
|
||||
__poll_t req_events = poll_requested_events(wait);
|
||||
struct tm6000_fh *fh = file->private_data;
|
||||
struct tm6000_buffer *buf;
|
||||
int res = 0;
|
||||
__poll_t res = 0;
|
||||
|
||||
if (v4l2_event_pending(&fh->fh))
|
||||
res = POLLPRI;
|
||||
|
|
@ -1457,11 +1457,11 @@ __tm6000_poll(struct file *file, struct poll_table_struct *wait)
|
|||
return res;
|
||||
}
|
||||
|
||||
static unsigned int tm6000_poll(struct file *file, struct poll_table_struct *wait)
|
||||
static __poll_t tm6000_poll(struct file *file, struct poll_table_struct *wait)
|
||||
{
|
||||
struct tm6000_fh *fh = file->private_data;
|
||||
struct tm6000_core *dev = fh->dev;
|
||||
unsigned int res;
|
||||
__poll_t res;
|
||||
|
||||
mutex_lock(&dev->lock);
|
||||
res = __tm6000_poll(file, wait);
|
||||
|
|
|
|||
|
|
@ -340,10 +340,10 @@ unsigned long uvc_queue_get_unmapped_area(struct uvc_video_queue *queue,
|
|||
}
|
||||
#endif
|
||||
|
||||
unsigned int uvc_queue_poll(struct uvc_video_queue *queue, struct file *file,
|
||||
__poll_t uvc_queue_poll(struct uvc_video_queue *queue, struct file *file,
|
||||
poll_table *wait)
|
||||
{
|
||||
unsigned int ret;
|
||||
__poll_t ret;
|
||||
|
||||
mutex_lock(&queue->mutex);
|
||||
ret = vb2_poll(&queue->queue, file, wait);
|
||||
|
|
|
|||
|
|
@ -1423,7 +1423,7 @@ static int uvc_v4l2_mmap(struct file *file, struct vm_area_struct *vma)
|
|||
return uvc_queue_mmap(&stream->queue, vma);
|
||||
}
|
||||
|
||||
static unsigned int uvc_v4l2_poll(struct file *file, poll_table *wait)
|
||||
static __poll_t uvc_v4l2_poll(struct file *file, poll_table *wait)
|
||||
{
|
||||
struct uvc_fh *handle = file->private_data;
|
||||
struct uvc_streaming *stream = handle->stream;
|
||||
|
|
|
|||
|
|
@ -678,7 +678,7 @@ extern struct uvc_buffer *uvc_queue_next_buffer(struct uvc_video_queue *queue,
|
|||
struct uvc_buffer *buf);
|
||||
extern int uvc_queue_mmap(struct uvc_video_queue *queue,
|
||||
struct vm_area_struct *vma);
|
||||
extern unsigned int uvc_queue_poll(struct uvc_video_queue *queue,
|
||||
extern __poll_t uvc_queue_poll(struct uvc_video_queue *queue,
|
||||
struct file *file, poll_table *wait);
|
||||
#ifndef CONFIG_MMU
|
||||
extern unsigned long uvc_queue_get_unmapped_area(struct uvc_video_queue *queue,
|
||||
|
|
|
|||
|
|
@ -1287,12 +1287,12 @@ static int zr364xx_mmap(struct file *file, struct vm_area_struct *vma)
|
|||
return ret;
|
||||
}
|
||||
|
||||
static unsigned int zr364xx_poll(struct file *file,
|
||||
static __poll_t zr364xx_poll(struct file *file,
|
||||
struct poll_table_struct *wait)
|
||||
{
|
||||
struct zr364xx_camera *cam = video_drvdata(file);
|
||||
struct videobuf_queue *q = &cam->vb_vidq;
|
||||
unsigned res = v4l2_ctrl_poll(file, wait);
|
||||
__poll_t res = v4l2_ctrl_poll(file, wait);
|
||||
|
||||
_DBG("%s\n", __func__);
|
||||
|
||||
|
|
|
|||
|
|
@ -3457,7 +3457,7 @@ int v4l2_ctrl_subdev_subscribe_event(struct v4l2_subdev *sd, struct v4l2_fh *fh,
|
|||
}
|
||||
EXPORT_SYMBOL(v4l2_ctrl_subdev_subscribe_event);
|
||||
|
||||
unsigned int v4l2_ctrl_poll(struct file *file, struct poll_table_struct *wait)
|
||||
__poll_t v4l2_ctrl_poll(struct file *file, struct poll_table_struct *wait)
|
||||
{
|
||||
struct v4l2_fh *fh = file->private_data;
|
||||
|
||||
|
|
|
|||
|
|
@ -331,10 +331,10 @@ static ssize_t v4l2_write(struct file *filp, const char __user *buf,
|
|||
return ret;
|
||||
}
|
||||
|
||||
static unsigned int v4l2_poll(struct file *filp, struct poll_table_struct *poll)
|
||||
static __poll_t v4l2_poll(struct file *filp, struct poll_table_struct *poll)
|
||||
{
|
||||
struct video_device *vdev = video_devdata(filp);
|
||||
unsigned int res = POLLERR | POLLHUP;
|
||||
__poll_t res = POLLERR | POLLHUP;
|
||||
|
||||
if (!vdev->fops->poll)
|
||||
return DEFAULT_POLLMASK;
|
||||
|
|
|
|||
|
|
@ -500,14 +500,14 @@ int v4l2_m2m_streamoff(struct file *file, struct v4l2_m2m_ctx *m2m_ctx,
|
|||
}
|
||||
EXPORT_SYMBOL_GPL(v4l2_m2m_streamoff);
|
||||
|
||||
unsigned int v4l2_m2m_poll(struct file *file, struct v4l2_m2m_ctx *m2m_ctx,
|
||||
__poll_t v4l2_m2m_poll(struct file *file, struct v4l2_m2m_ctx *m2m_ctx,
|
||||
struct poll_table_struct *wait)
|
||||
{
|
||||
struct video_device *vfd = video_devdata(file);
|
||||
unsigned long req_events = poll_requested_events(wait);
|
||||
__poll_t req_events = poll_requested_events(wait);
|
||||
struct vb2_queue *src_q, *dst_q;
|
||||
struct vb2_buffer *src_vb = NULL, *dst_vb = NULL;
|
||||
unsigned int rc = 0;
|
||||
__poll_t rc = 0;
|
||||
unsigned long flags;
|
||||
|
||||
if (test_bit(V4L2_FL_USES_V4L2_FH, &vfd->flags)) {
|
||||
|
|
@ -794,11 +794,11 @@ int v4l2_m2m_fop_mmap(struct file *file, struct vm_area_struct *vma)
|
|||
}
|
||||
EXPORT_SYMBOL_GPL(v4l2_m2m_fop_mmap);
|
||||
|
||||
unsigned int v4l2_m2m_fop_poll(struct file *file, poll_table *wait)
|
||||
__poll_t v4l2_m2m_fop_poll(struct file *file, poll_table *wait)
|
||||
{
|
||||
struct v4l2_fh *fh = file->private_data;
|
||||
struct v4l2_m2m_ctx *m2m_ctx = fh->m2m_ctx;
|
||||
unsigned int ret;
|
||||
__poll_t ret;
|
||||
|
||||
if (m2m_ctx->q_lock)
|
||||
mutex_lock(m2m_ctx->q_lock);
|
||||
|
|
|
|||
|
|
@ -469,7 +469,7 @@ static long subdev_compat_ioctl32(struct file *file, unsigned int cmd,
|
|||
}
|
||||
#endif
|
||||
|
||||
static unsigned int subdev_poll(struct file *file, poll_table *wait)
|
||||
static __poll_t subdev_poll(struct file *file, poll_table *wait)
|
||||
{
|
||||
struct video_device *vdev = video_devdata(file);
|
||||
struct v4l2_subdev *sd = vdev_to_v4l2_subdev(vdev);
|
||||
|
|
|
|||
|
|
@ -1118,13 +1118,13 @@ done:
|
|||
}
|
||||
EXPORT_SYMBOL_GPL(videobuf_read_stream);
|
||||
|
||||
unsigned int videobuf_poll_stream(struct file *file,
|
||||
__poll_t videobuf_poll_stream(struct file *file,
|
||||
struct videobuf_queue *q,
|
||||
poll_table *wait)
|
||||
{
|
||||
unsigned long req_events = poll_requested_events(wait);
|
||||
__poll_t req_events = poll_requested_events(wait);
|
||||
struct videobuf_buffer *buf = NULL;
|
||||
unsigned int rc = 0;
|
||||
__poll_t rc = 0;
|
||||
|
||||
videobuf_queue_lock(q);
|
||||
if (q->streaming) {
|
||||
|
|
|
|||
|
|
@ -2018,10 +2018,10 @@ void vb2_core_queue_release(struct vb2_queue *q)
|
|||
}
|
||||
EXPORT_SYMBOL_GPL(vb2_core_queue_release);
|
||||
|
||||
unsigned int vb2_core_poll(struct vb2_queue *q, struct file *file,
|
||||
__poll_t vb2_core_poll(struct vb2_queue *q, struct file *file,
|
||||
poll_table *wait)
|
||||
{
|
||||
unsigned long req_events = poll_requested_events(wait);
|
||||
__poll_t req_events = poll_requested_events(wait);
|
||||
struct vb2_buffer *vb = NULL;
|
||||
unsigned long flags;
|
||||
|
||||
|
|
|
|||
|
|
@ -671,11 +671,11 @@ void vb2_queue_release(struct vb2_queue *q)
|
|||
}
|
||||
EXPORT_SYMBOL_GPL(vb2_queue_release);
|
||||
|
||||
unsigned int vb2_poll(struct vb2_queue *q, struct file *file, poll_table *wait)
|
||||
__poll_t vb2_poll(struct vb2_queue *q, struct file *file, poll_table *wait)
|
||||
{
|
||||
struct video_device *vfd = video_devdata(file);
|
||||
unsigned long req_events = poll_requested_events(wait);
|
||||
unsigned int res = 0;
|
||||
__poll_t req_events = poll_requested_events(wait);
|
||||
__poll_t res = 0;
|
||||
|
||||
if (test_bit(V4L2_FL_USES_V4L2_FH, &vfd->flags)) {
|
||||
struct v4l2_fh *fh = file->private_data;
|
||||
|
|
@ -904,12 +904,12 @@ exit:
|
|||
}
|
||||
EXPORT_SYMBOL_GPL(vb2_fop_read);
|
||||
|
||||
unsigned int vb2_fop_poll(struct file *file, poll_table *wait)
|
||||
__poll_t vb2_fop_poll(struct file *file, poll_table *wait)
|
||||
{
|
||||
struct video_device *vdev = video_devdata(file);
|
||||
struct vb2_queue *q = vdev->queue;
|
||||
struct mutex *lock = q->lock ? q->lock : vdev->lock;
|
||||
unsigned res;
|
||||
__poll_t res;
|
||||
void *fileio;
|
||||
|
||||
/*
|
||||
|
|
|
|||
Loading…
Reference in a new issue