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

Commit 8ca2bdc7 authored by Christoph Hellwig's avatar Christoph Hellwig Committed by David S. Miller
Browse files

[SPARC] sbus rtc: implement ->compat_ioctl

parent feee207e
Loading
Loading
Loading
Loading
+0 −2
Original line number Original line Diff line number Diff line
@@ -114,8 +114,6 @@ COMPATIBLE_IOCTL(FBIOGCURPOS)
COMPATIBLE_IOCTL(FBIOGCURMAX)
COMPATIBLE_IOCTL(FBIOGCURMAX)
/* Little k */
/* Little k */
/* Little v, the video4linux ioctls */
/* Little v, the video4linux ioctls */
COMPATIBLE_IOCTL(_IOR('p', 20, int[7])) /* RTCGET */
COMPATIBLE_IOCTL(_IOW('p', 21, int[7])) /* RTCSET */
/* And these ioctls need translation */
/* And these ioctls need translation */
/* Note SIOCRTMSG is no longer, so this is safe and * the user would have seen just an -EINVAL anyways. */
/* Note SIOCRTMSG is no longer, so this is safe and * the user would have seen just an -EINVAL anyways. */
HANDLE_IOCTL(FBIOPUTCMAP32, fbiogetputcmap)
HANDLE_IOCTL(FBIOPUTCMAP32, fbiogetputcmap)
+22 −0
Original line number Original line Diff line number Diff line
@@ -210,6 +210,27 @@ static int rtc_ioctl(struct inode *inode, struct file *file, unsigned int cmd,
	}
	}
}
}


static long rtc_compat_ioctl(struct file *file, unsigned int cmd,
	unsigned long arg)
{
	int rval = -ENOIOCTLCMD;

	switch (cmd) {
	/*
	 * These two are specific to this driver, the generic rtc ioctls
	 * are hanlded elsewhere.
	 */
	case RTCGET:
	case RTCSET:
		lock_kernel();
		rval = rtc_ioctl(file->f_dentry->d_inode, file, cmd, arg);
		unlock_kernel();
		break;
	}

	return rval;
}

static int rtc_open(struct inode *inode, struct file *file)
static int rtc_open(struct inode *inode, struct file *file)
{
{
	int ret;
	int ret;
@@ -237,6 +258,7 @@ static struct file_operations rtc_fops = {
	.owner =	THIS_MODULE,
	.owner =	THIS_MODULE,
	.llseek =	no_llseek,
	.llseek =	no_llseek,
	.ioctl =	rtc_ioctl,
	.ioctl =	rtc_ioctl,
	.compat_ioctl =	rtc_compat_ioctl,
	.open =		rtc_open,
	.open =		rtc_open,
	.release =	rtc_release,
	.release =	rtc_release,
};
};