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

Commit 652fe8e8 authored by Christoph Hellwig's avatar Christoph Hellwig
Browse files

timerfd: convert to ->poll_mask



Signed-off-by: default avatarChristoph Hellwig <hch@lst.de>
parent 9e42f195
Loading
Loading
Loading
Loading
+11 −11
Original line number Diff line number Diff line
@@ -227,20 +227,19 @@ static int timerfd_release(struct inode *inode, struct file *file)
	return 0;
}
	
static __poll_t timerfd_poll(struct file *file, poll_table *wait)
static struct wait_queue_head *timerfd_get_poll_head(struct file *file,
		__poll_t eventmask)
{
	struct timerfd_ctx *ctx = file->private_data;
	__poll_t events = 0;
	unsigned long flags;

	poll_wait(file, &ctx->wqh, wait);
	return &ctx->wqh;
}

	spin_lock_irqsave(&ctx->wqh.lock, flags);
	if (ctx->ticks)
		events |= EPOLLIN;
	spin_unlock_irqrestore(&ctx->wqh.lock, flags);
static __poll_t timerfd_poll_mask(struct file *file, __poll_t eventmask)
{
	struct timerfd_ctx *ctx = file->private_data;

	return events;
	return ctx->ticks ? EPOLLIN : 0;
}

static ssize_t timerfd_read(struct file *file, char __user *buf, size_t count,
@@ -364,7 +363,8 @@ static long timerfd_ioctl(struct file *file, unsigned int cmd, unsigned long arg

static const struct file_operations timerfd_fops = {
	.release	= timerfd_release,
	.poll		= timerfd_poll,
	.get_poll_head	= timerfd_get_poll_head,
	.poll_mask	= timerfd_poll_mask,
	.read		= timerfd_read,
	.llseek		= noop_llseek,
	.show_fdinfo	= timerfd_show,