Commit ff8371ac authored by David Brownell's avatar David Brownell Committed by Linus Torvalds

[PATCH] constify rtc_class_ops: update drivers

Update RTC framework so that drivers can constify their method tables, moving
them from ".data" to ".rodata".  Then update the drivers.
Signed-off-by: default avatarDavid Brownell <dbrownell@users.sourceforge.net>
Cc: Alessandro Zummo <a.zummo@towertech.it>
Signed-off-by: default avatarAndrew Morton <akpm@osdl.org>
Signed-off-by: default avatarLinus Torvalds <torvalds@osdl.org>
parent db621f17
...@@ -39,7 +39,7 @@ static void rtc_device_release(struct class_device *class_dev) ...@@ -39,7 +39,7 @@ static void rtc_device_release(struct class_device *class_dev)
* Returns the pointer to the new struct class device. * Returns the pointer to the new struct class device.
*/ */
struct rtc_device *rtc_device_register(const char *name, struct device *dev, struct rtc_device *rtc_device_register(const char *name, struct device *dev,
struct rtc_class_ops *ops, const struct rtc_class_ops *ops,
struct module *owner) struct module *owner)
{ {
struct rtc_device *rtc; struct rtc_device *rtc;
......
...@@ -267,7 +267,7 @@ static irqreturn_t at91_rtc_interrupt(int irq, void *dev_id, ...@@ -267,7 +267,7 @@ static irqreturn_t at91_rtc_interrupt(int irq, void *dev_id,
return IRQ_NONE; /* not handled */ return IRQ_NONE; /* not handled */
} }
static struct rtc_class_ops at91_rtc_ops = { static const struct rtc_class_ops at91_rtc_ops = {
.ioctl = at91_rtc_ioctl, .ioctl = at91_rtc_ioctl,
.read_time = at91_rtc_readtime, .read_time = at91_rtc_readtime,
.set_time = at91_rtc_settime, .set_time = at91_rtc_settime,
......
...@@ -24,7 +24,7 @@ static int rtc_dev_open(struct inode *inode, struct file *file) ...@@ -24,7 +24,7 @@ static int rtc_dev_open(struct inode *inode, struct file *file)
int err; int err;
struct rtc_device *rtc = container_of(inode->i_cdev, struct rtc_device *rtc = container_of(inode->i_cdev,
struct rtc_device, char_dev); struct rtc_device, char_dev);
struct rtc_class_ops *ops = rtc->ops; const struct rtc_class_ops *ops = rtc->ops;
/* We keep the lock as long as the device is in use /* We keep the lock as long as the device is in use
* and return immediately if busy * and return immediately if busy
...@@ -209,7 +209,7 @@ static int rtc_dev_ioctl(struct inode *inode, struct file *file, ...@@ -209,7 +209,7 @@ static int rtc_dev_ioctl(struct inode *inode, struct file *file,
int err = 0; int err = 0;
struct class_device *class_dev = file->private_data; struct class_device *class_dev = file->private_data;
struct rtc_device *rtc = to_rtc_device(class_dev); struct rtc_device *rtc = to_rtc_device(class_dev);
struct rtc_class_ops *ops = rtc->ops; const struct rtc_class_ops *ops = rtc->ops;
struct rtc_time tm; struct rtc_time tm;
struct rtc_wkalrm alarm; struct rtc_wkalrm alarm;
void __user *uarg = (void __user *) arg; void __user *uarg = (void __user *) arg;
......
...@@ -178,7 +178,7 @@ static int ds1307_set_time(struct device *dev, struct rtc_time *t) ...@@ -178,7 +178,7 @@ static int ds1307_set_time(struct device *dev, struct rtc_time *t)
return 0; return 0;
} }
static struct rtc_class_ops ds13xx_rtc_ops = { static const struct rtc_class_ops ds13xx_rtc_ops = {
.read_time = ds1307_get_time, .read_time = ds1307_get_time,
.set_time = ds1307_set_time, .set_time = ds1307_set_time,
}; };
......
...@@ -250,7 +250,7 @@ static int ds1553_rtc_ioctl(struct device *dev, unsigned int cmd, ...@@ -250,7 +250,7 @@ static int ds1553_rtc_ioctl(struct device *dev, unsigned int cmd,
return 0; return 0;
} }
static struct rtc_class_ops ds1553_rtc_ops = { static const struct rtc_class_ops ds1553_rtc_ops = {
.read_time = ds1553_rtc_read_time, .read_time = ds1553_rtc_read_time,
.set_time = ds1553_rtc_set_time, .set_time = ds1553_rtc_set_time,
.read_alarm = ds1553_rtc_read_alarm, .read_alarm = ds1553_rtc_read_alarm,
......
...@@ -156,7 +156,7 @@ static ssize_t show_control(struct device *dev, struct device_attribute *attr, c ...@@ -156,7 +156,7 @@ static ssize_t show_control(struct device *dev, struct device_attribute *attr, c
} }
static DEVICE_ATTR(control, S_IRUGO, show_control, NULL); static DEVICE_ATTR(control, S_IRUGO, show_control, NULL);
static struct rtc_class_ops ds1672_rtc_ops = { static const struct rtc_class_ops ds1672_rtc_ops = {
.read_time = ds1672_rtc_read_time, .read_time = ds1672_rtc_read_time,
.set_time = ds1672_rtc_set_time, .set_time = ds1672_rtc_set_time,
.set_mmss = ds1672_rtc_set_mmss, .set_mmss = ds1672_rtc_set_mmss,
......
...@@ -116,7 +116,7 @@ static int ds1742_rtc_read_time(struct device *dev, struct rtc_time *tm) ...@@ -116,7 +116,7 @@ static int ds1742_rtc_read_time(struct device *dev, struct rtc_time *tm)
return 0; return 0;
} }
static struct rtc_class_ops ds1742_rtc_ops = { static const struct rtc_class_ops ds1742_rtc_ops = {
.read_time = ds1742_rtc_read_time, .read_time = ds1742_rtc_read_time,
.set_time = ds1742_rtc_set_time, .set_time = ds1742_rtc_set_time,
}; };
......
...@@ -73,7 +73,7 @@ static int ep93xx_rtc_proc(struct device *dev, struct seq_file *seq) ...@@ -73,7 +73,7 @@ static int ep93xx_rtc_proc(struct device *dev, struct seq_file *seq)
return 0; return 0;
} }
static struct rtc_class_ops ep93xx_rtc_ops = { static const struct rtc_class_ops ep93xx_rtc_ops = {
.read_time = ep93xx_rtc_read_time, .read_time = ep93xx_rtc_read_time,
.set_time = ep93xx_rtc_set_time, .set_time = ep93xx_rtc_set_time,
.set_mmss = ep93xx_rtc_set_mmss, .set_mmss = ep93xx_rtc_set_mmss,
......
...@@ -390,7 +390,7 @@ static int isl1208_rtc_read_alarm(struct device *dev, struct rtc_wkalrm *alarm) ...@@ -390,7 +390,7 @@ static int isl1208_rtc_read_alarm(struct device *dev, struct rtc_wkalrm *alarm)
return isl1208_i2c_read_alarm(to_i2c_client(dev), alarm); return isl1208_i2c_read_alarm(to_i2c_client(dev), alarm);
} }
static struct rtc_class_ops isl1208_rtc_ops = { static const struct rtc_class_ops isl1208_rtc_ops = {
.proc = isl1208_rtc_proc, .proc = isl1208_rtc_proc,
.read_time = isl1208_rtc_read_time, .read_time = isl1208_rtc_read_time,
.set_time = isl1208_rtc_set_time, .set_time = isl1208_rtc_set_time,
......
...@@ -138,7 +138,7 @@ static int m48t86_rtc_proc(struct device *dev, struct seq_file *seq) ...@@ -138,7 +138,7 @@ static int m48t86_rtc_proc(struct device *dev, struct seq_file *seq)
return 0; return 0;
} }
static struct rtc_class_ops m48t86_rtc_ops = { static const struct rtc_class_ops m48t86_rtc_ops = {
.read_time = m48t86_rtc_read_time, .read_time = m48t86_rtc_read_time,
.set_time = m48t86_rtc_set_time, .set_time = m48t86_rtc_set_time,
.proc = m48t86_rtc_proc, .proc = m48t86_rtc_proc,
......
...@@ -207,7 +207,7 @@ static int max6902_set_time(struct device *dev, struct rtc_time *tm) ...@@ -207,7 +207,7 @@ static int max6902_set_time(struct device *dev, struct rtc_time *tm)
return max6902_set_datetime(dev, tm); return max6902_set_datetime(dev, tm);
} }
static struct rtc_class_ops max6902_rtc_ops = { static const struct rtc_class_ops max6902_rtc_ops = {
.read_time = max6902_read_time, .read_time = max6902_read_time,
.set_time = max6902_set_time, .set_time = max6902_set_time,
}; };
......
...@@ -227,7 +227,7 @@ static int pcf8563_rtc_set_time(struct device *dev, struct rtc_time *tm) ...@@ -227,7 +227,7 @@ static int pcf8563_rtc_set_time(struct device *dev, struct rtc_time *tm)
return pcf8563_set_datetime(to_i2c_client(dev), tm); return pcf8563_set_datetime(to_i2c_client(dev), tm);
} }
static struct rtc_class_ops pcf8563_rtc_ops = { static const struct rtc_class_ops pcf8563_rtc_ops = {
.read_time = pcf8563_rtc_read_time, .read_time = pcf8563_rtc_read_time,
.set_time = pcf8563_rtc_set_time, .set_time = pcf8563_rtc_set_time,
}; };
......
...@@ -273,7 +273,7 @@ static int pcf8583_rtc_set_time(struct device *dev, struct rtc_time *tm) ...@@ -273,7 +273,7 @@ static int pcf8583_rtc_set_time(struct device *dev, struct rtc_time *tm)
return ret; return ret;
} }
static struct rtc_class_ops pcf8583_rtc_ops = { static const struct rtc_class_ops pcf8583_rtc_ops = {
.read_time = pcf8583_rtc_read_time, .read_time = pcf8583_rtc_read_time,
.set_time = pcf8583_rtc_set_time, .set_time = pcf8583_rtc_set_time,
}; };
......
...@@ -128,7 +128,7 @@ static int pl031_set_alarm(struct device *dev, struct rtc_wkalrm *alarm) ...@@ -128,7 +128,7 @@ static int pl031_set_alarm(struct device *dev, struct rtc_wkalrm *alarm)
return 0; return 0;
} }
static struct rtc_class_ops pl031_ops = { static const struct rtc_class_ops pl031_ops = {
.open = pl031_open, .open = pl031_open,
.release = pl031_release, .release = pl031_release,
.ioctl = pl031_ioctl, .ioctl = pl031_ioctl,
......
...@@ -23,7 +23,7 @@ static int rtc_proc_show(struct seq_file *seq, void *offset) ...@@ -23,7 +23,7 @@ static int rtc_proc_show(struct seq_file *seq, void *offset)
{ {
int err; int err;
struct class_device *class_dev = seq->private; struct class_device *class_dev = seq->private;
struct rtc_class_ops *ops = to_rtc_device(class_dev)->ops; const struct rtc_class_ops *ops = to_rtc_device(class_dev)->ops;
struct rtc_wkalrm alrm; struct rtc_wkalrm alrm;
struct rtc_time tm; struct rtc_time tm;
......
...@@ -140,7 +140,7 @@ rs5c348_rtc_read_time(struct device *dev, struct rtc_time *tm) ...@@ -140,7 +140,7 @@ rs5c348_rtc_read_time(struct device *dev, struct rtc_time *tm)
return 0; return 0;
} }
static struct rtc_class_ops rs5c348_rtc_ops = { static const struct rtc_class_ops rs5c348_rtc_ops = {
.read_time = rs5c348_rtc_read_time, .read_time = rs5c348_rtc_read_time,
.set_time = rs5c348_rtc_set_time, .set_time = rs5c348_rtc_set_time,
}; };
......
...@@ -160,7 +160,7 @@ static int rs5c372_rtc_proc(struct device *dev, struct seq_file *seq) ...@@ -160,7 +160,7 @@ static int rs5c372_rtc_proc(struct device *dev, struct seq_file *seq)
return 0; return 0;
} }
static struct rtc_class_ops rs5c372_rtc_ops = { static const struct rtc_class_ops rs5c372_rtc_ops = {
.proc = rs5c372_rtc_proc, .proc = rs5c372_rtc_proc,
.read_time = rs5c372_rtc_read_time, .read_time = rs5c372_rtc_read_time,
.set_time = rs5c372_rtc_set_time, .set_time = rs5c372_rtc_set_time,
......
...@@ -386,7 +386,7 @@ static void s3c_rtc_release(struct device *dev) ...@@ -386,7 +386,7 @@ static void s3c_rtc_release(struct device *dev)
free_irq(s3c_rtc_tickno, rtc_dev); free_irq(s3c_rtc_tickno, rtc_dev);
} }
static struct rtc_class_ops s3c_rtcops = { static const struct rtc_class_ops s3c_rtcops = {
.open = s3c_rtc_open, .open = s3c_rtc_open,
.release = s3c_rtc_release, .release = s3c_rtc_release,
.ioctl = s3c_rtc_ioctl, .ioctl = s3c_rtc_ioctl,
......
...@@ -303,7 +303,7 @@ static int sa1100_rtc_proc(struct device *dev, struct seq_file *seq) ...@@ -303,7 +303,7 @@ static int sa1100_rtc_proc(struct device *dev, struct seq_file *seq)
return 0; return 0;
} }
static struct rtc_class_ops sa1100_rtc_ops = { static const struct rtc_class_ops sa1100_rtc_ops = {
.open = sa1100_rtc_open, .open = sa1100_rtc_open,
.read_callback = sa1100_rtc_read_callback, .read_callback = sa1100_rtc_read_callback,
.release = sa1100_rtc_release, .release = sa1100_rtc_release,
......
...@@ -75,7 +75,7 @@ static int test_rtc_ioctl(struct device *dev, unsigned int cmd, ...@@ -75,7 +75,7 @@ static int test_rtc_ioctl(struct device *dev, unsigned int cmd,
} }
} }
static struct rtc_class_ops test_rtc_ops = { static const struct rtc_class_ops test_rtc_ops = {
.proc = test_rtc_proc, .proc = test_rtc_proc,
.read_time = test_rtc_read_time, .read_time = test_rtc_read_time,
.set_time = test_rtc_set_time, .set_time = test_rtc_set_time,
......
...@@ -149,7 +149,7 @@ static int v3020_set_time(struct device *dev, struct rtc_time *dt) ...@@ -149,7 +149,7 @@ static int v3020_set_time(struct device *dev, struct rtc_time *dt)
return 0; return 0;
} }
static struct rtc_class_ops v3020_rtc_ops = { static const struct rtc_class_ops v3020_rtc_ops = {
.read_time = v3020_read_time, .read_time = v3020_read_time,
.set_time = v3020_set_time, .set_time = v3020_set_time,
}; };
......
...@@ -296,7 +296,7 @@ static irqreturn_t rtclong1_interrupt(int irq, void *dev_id, struct pt_regs *reg ...@@ -296,7 +296,7 @@ static irqreturn_t rtclong1_interrupt(int irq, void *dev_id, struct pt_regs *reg
return IRQ_HANDLED; return IRQ_HANDLED;
} }
static struct rtc_class_ops vr41xx_rtc_ops = { static const struct rtc_class_ops vr41xx_rtc_ops = {
.release = vr41xx_rtc_release, .release = vr41xx_rtc_release,
.ioctl = vr41xx_rtc_ioctl, .ioctl = vr41xx_rtc_ioctl,
.read_time = vr41xx_rtc_read_time, .read_time = vr41xx_rtc_read_time,
......
...@@ -460,7 +460,7 @@ static int x1205_rtc_proc(struct device *dev, struct seq_file *seq) ...@@ -460,7 +460,7 @@ static int x1205_rtc_proc(struct device *dev, struct seq_file *seq)
return 0; return 0;
} }
static struct rtc_class_ops x1205_rtc_ops = { static const struct rtc_class_ops x1205_rtc_ops = {
.proc = x1205_rtc_proc, .proc = x1205_rtc_proc,
.read_time = x1205_rtc_read_time, .read_time = x1205_rtc_read_time,
.set_time = x1205_rtc_set_time, .set_time = x1205_rtc_set_time,
......
...@@ -141,7 +141,7 @@ struct rtc_device ...@@ -141,7 +141,7 @@ struct rtc_device
int id; int id;
char name[RTC_DEVICE_NAME_SIZE]; char name[RTC_DEVICE_NAME_SIZE];
struct rtc_class_ops *ops; const struct rtc_class_ops *ops;
struct mutex ops_lock; struct mutex ops_lock;
struct class_device *rtc_dev; struct class_device *rtc_dev;
...@@ -172,7 +172,7 @@ struct rtc_device ...@@ -172,7 +172,7 @@ struct rtc_device
extern struct rtc_device *rtc_device_register(const char *name, extern struct rtc_device *rtc_device_register(const char *name,
struct device *dev, struct device *dev,
struct rtc_class_ops *ops, const struct rtc_class_ops *ops,
struct module *owner); struct module *owner);
extern void rtc_device_unregister(struct rtc_device *rdev); extern void rtc_device_unregister(struct rtc_device *rdev);
extern int rtc_interface_register(struct class_interface *intf); extern int rtc_interface_register(struct class_interface *intf);
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment