2007-08-14 17:58:41

by Conke Hu

[permalink] [raw]
Subject: [PATCH] rtc-dev.c: remove to_rtc_device macro

hi,
According to rtc_dev_open() in file rtc-dev.c (see below), all the
to_rtc_device macro in rtc file_operations functions should be
removed, namely:
"struct rtc_device *rtc = to_rtc_device(file->private_data);"
should be modified to: "struct rtc_device *rtc = file->private_data;"

to_rtc_device is not a correct usage here, what's more, pls consider
when dev were not the first member of struct rtc_device :)

static int rtc_dev_open(struct inode *inode, struct file *file)
{
int err;
//...<snip>

file->private_data = rtc;

//...<snip>
}

Signed-off-by: [email protected]

------------------------------
diff --git a/drivers/rtc/rtc-dev.c b/drivers/rtc/rtc-dev.c
index 005fff3..9552577 100644
--- a/drivers/rtc/rtc-dev.c
+++ b/drivers/rtc/rtc-dev.c
@@ -142,7 +142,7 @@ static int set_uie(struct rtc_device *rtc)
static ssize_t
rtc_dev_read(struct file *file, char __user *buf, size_t count, loff_t *ppos)
{
- struct rtc_device *rtc = to_rtc_device(file->private_data);
+ struct rtc_device *rtc = file->private_data;

DECLARE_WAITQUEUE(wait, current);
unsigned long data;
@@ -196,7 +196,7 @@ rtc_dev_read(struct file *file, char __user *buf,
size_t count, loff_t *ppos)

static unsigned int rtc_dev_poll(struct file *file, poll_table *wait)
{
- struct rtc_device *rtc = to_rtc_device(file->private_data);
+ struct rtc_device *rtc = file->private_data;
unsigned long data;

poll_wait(file, &rtc->irq_queue, wait);
@@ -405,7 +405,7 @@ static int rtc_dev_ioctl(struct inode *inode,
struct file *file,

static int rtc_dev_release(struct inode *inode, struct file *file)
{
- struct rtc_device *rtc = to_rtc_device(file->private_data);
+ struct rtc_device *rtc = file->private_data;

#ifdef CONFIG_RTC_INTF_DEV_UIE_EMUL
clear_uie(rtc);
@@ -419,7 +419,7 @@ static int rtc_dev_release(struct inode *inode,
struct file *file)

static int rtc_dev_fasync(int fd, struct file *file, int on)
{
- struct rtc_device *rtc = to_rtc_device(file->private_data);
+ struct rtc_device *rtc = file->private_data;
return fasync_helper(fd, file, on, &rtc->async_queue);
}